除錯使用者程式:
主機:linux os
eclipse + cdt + gdb
+gcc交叉編譯鏈
目標機:
armlinux os
gdbserver
通訊方式:
tcp
檔案傳輸方式:
ftp, minicom,
通過nfs.
配置參考:
除錯linux kernel. bootloder(u-boot)
除錯核心:
gdb前端<--->gdb<--->gdb服務程式<--->jtag協議轉換器(**器)<--->目標cpu(arm cpu)
|
控制介面
gdb有乙個很大的缺點——文字介面,使用非常不方便。但幸運的是,有很多熱心的開發者為gdb寫了一些圖形「外殼」——gdb前端,大大方便了gdb
的使用。因為我們做的是交叉開發(即在x86結構的電腦上開發arm等非x86結構的cpu程式),所以gdb無法直接除錯編譯出來的程式,這就需要一
個服務程式。這個服務程式可以是乙個可以控制目標cpu的程式(可能執行於計算機上;也可能執行於某些**器上,例如如bdi2000就是這樣),也
可以是乙個執行於目標cpu上的服務程式,由它來裝載被除錯的程式。但是後者一般需要目標cpu上已經執行起了linux核心;除錯bootloader和linux
核心本身,需要前一種服務程式。gdb和gdb服務程式之間的連線方式可以是乙太網或者串列埠,而且gdb服務程式一般還有別的控制介面,例如telnet
host:在主機上安裝eclipse,gdb 和openocd.
e
clipse
+gdb+openocd+openjtag
配置參考:
嵌入式Linux下PWM功能除錯
by toradex秦海 1 簡介 pwm pulse width modulation 介面是嵌入式裝置最為常用的介面之一,常用於電機驅動,蜂鳴器,脈衝計數等嵌入式領域,因此本文就基於嵌入式linux演示使用pwm介面。本文所演示的平台來自於toradex colibri imx6dl嵌入式平台,...
嵌入式linux除錯技巧
1 列印往往是最常用的除錯技巧。除錯核心和驅動都可以採用printk。在kernel.h include linux 中定義了log的等級。未指定日誌級別的 printk 採用的預設級別是 default message loglevel,這個巨集在kernel printk.c 中被定義為整數 4...
嵌入式Linux除錯技術
嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。大多數開發人員認為kgdb...