arm linux内核调试,kgdb在ARM开发板上调试kernel成功
大概幾個注意點:
1.公版的Linux需要打kgdb補丁的,kgdb官方那邊可能不支持新版本的內核(我的是2.6.18),可以在下面的網址找到,但是ARM上調試需要打哪些補丁,不是很清楚,網上的幾篇中文教程文章都是針對x86調試的。
montavista是已經打好補丁的。
2.在make menuconfig
選中這幾個items:
Kernel hacking? --->
[*] Compile the kernel with debug info
[*] KGDB: kernel debugging with remote gdb
[*] KGDB: Console messages through gdb
Method for KGDB communication (KGDB: On generic serial port (8250))? --->
[*] Simple selection of KGDB serial port (NEW)
(115200) Debug serial port baud rate (NEW)
(0) Serial port number for KGDB -->Note: 0=UART1=ttyS0 1=UART2=ttyS1 2=UART3=ttyS2
其中指定kgdb使用串口的參數,大概有三種方法來指定:
a)Simple selection只能配置一下波特率和使用哪個ttyS(X)
b)config string? 和方式c的效果一樣;
c)bootargs指定,格式為:kgdb8250=,,,
范例:
setenv bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=64M ramdisk=32768 initrd=0x30800000,20M init=/linuxrc kgdbwait kgdb8250=mmap,0xfffb0000,115200,46
3.關注一下8250_kgdb.c這個文件,我發現我的板子上8250 for kgdb的串口信息沒有配置,所以一開始通訊都搞不起來。查查datasheet添加進去,比較快的方法是根據kernel的啟動信息中8250 driver的輸出信息。
4.bootargs里面要添加參數“kgdbwait”
setenv bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=64M ramdisk=32768 initrd=0x30800000,20M init=/linuxrc kgdbwait
5.bob的kgdb x86調試(bob兄,最近可好?)
總結
以上是生活随笔為你收集整理的arm linux内核调试,kgdb在ARM开发板上调试kernel成功的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux samba默认端口,Linu
- 下一篇: linux mail 密码错误,linu