原创 Linux 開發板移植gdb

開發板沒有gdb,寫程序老出錯而且找不到問題在哪裏。於是痛定思痛,決定移植一個gdb。 交叉編譯器:arm-none-linux-gnueabi gdb依賴於ncurses,所以先移植ncurses: 下載ncurses-5.9

原创 從計算機角度理解C語言指針(二)

這一篇博文我們給內存分一下區。有同學會說,聽說過給硬盤分區的沒聽過給內存分區的。其實,學習過Linux內核的同學肯定看到過有關頁表的內容。這些講起來太複雜還有什麼虛擬內存等等內容更是無法理解,但是這些都不影響我們給內存分區。 話說

原创 C語言指針(八)--隊列

隊列在我們生活中隨處可見,在數據結構中的隊列就是爲了解決實際的排隊問題。它同樣關心的是數據的存取順序,隊列是一種先進先出(FIFO)的數據結構。 同樣,這樣的數據結構用單向鏈表實現相比於用數組實現更加有優勢。 #include

原创 STM32 進入HardFault_Handler調試定位問題方法 + 定位到ucos的 OSStartHighRdy()的處理方法

調試STM32+ucosII的程序,程序老是進入HardFault_Handler。定位問題方法如下: 進入調試界面,在HardFault_Handler中斷處理的while(1)處打斷點,等待程序出錯。 然後打開register

原创 STM32 UCOS-ii malloc線程同步問題

最近在寫stm32的串口處理程序,遇到一個問題程序跑着跑着就進入了硬件錯誤中斷不可自拔。 void HardFault_Handler(void) { /* Go to infinite loop when Hard Faul

原创 invalid use of member (did you forget te '&' ?)錯誤原因

今天寫程序遇到了一個以前沒有遇到的問題如下圖: 錯誤提示:invalid use of member (did you forget te ‘&’ ?) 解決方法:這個錯誤是由於toInteger函數在BString類中不是靜

原创 QT UDP發送和接收廣播報文

這幾天整QT UDP的發送和接收,參考了很多的博客文章。只是覺得都不是很詳細,所以我今天給個例子: #Client.pro #------------------------------------------------- #

原创 NetBeans IDE做嵌入式開發詳細介紹

嵌入式開發一般都是在Ubuntu環境下,我不否認vim+加插件的功能強大。但是,習慣了使用鼠標以及IDE開發的我總是覺得有所欠缺。所以我發現了NetBeans IDE。 首先看一下界面風格 我個人是挺喜歡的,當然代碼風格與Jav

原创 C++冒泡排序

class BubbleSort { public: BubbleSort(){} virtual ~BubbleSort(){} //從大到小 static void sortn_0(int *src,

原创 Linux ssh命令登錄和退出

嵌入式開發經常要通過ssh登錄到開發板,Linux上位機如何通過ssh命令登錄開發板 ssh [email protected](ssh 用戶名@IP地址) 然後輸入密碼即可登錄。 但是遇到下圖的情況怎麼辦? 其實閱讀提示信息可

原创 C++動態分配二維數組

在做矩陣處理時經常會出現二維數組的分配問題,今天實現了一個類可以實現矩陣的動態分配即二維數組的動態分配 class Mat { public: Mat(int w, int h){ with = w; hight = h

原创 C++基類指針指向的派生類對象析構時出現的內存泄漏問題

前幾天有人問了一個這樣的問題 class A { public: A(){ a = new int; } ~A(){ delete a; } private: int *a; } class B : publi

原创 NetBeans C++如何配置CFLAGS、CCFLAGS和CXXFLAGS

在用NetBeans寫C語言和C++程序時有時候需要設置編譯器參數,就是CFLAGS、CCFLAGS和CXXFLAGS三個參數。 如圖打開Projects窗口,在對應工程上鼠標右鍵選擇Properties 在紅框中填寫C編譯器參