本笔记基于韦东山的教程,目的通过GDB去调试目标板上内核的运行。
1.确保三者能够ping通。
2.修改目标板Uboot命令参数
为
3.输入命令:->nfs 0x31000000 10.196.169.xxx:/work/nfs_root/uImage
->bootm 0x31000000
使用命令之前把linux内核放到nfs_root目录之下,ip地址根据你的linux主机来判断。
4.这时候有如下信息
这时候表示在等待arm-linux-gdb的连接
5.主机linux上面进入内核目录,启动gdb。
6.进入GDB,执行命令
7.看到信息表示已经连接目标板
8.这时候可以使用GDB命令控制内核执行和调试了。
比如输入n执行下一条,c全速运行,q退出。具体参考gdb手册。
9.为避免每次都要设置串口和连接,内核目录建立.gdbinit文件
10.利用DDD可视化来调试。
同前面一样,启动内核,然后关闭串口,切换到linux主机界面
必须确保内核目录下有.gdbinit文件
执行cd /work/system/linux-2.6.22.6
Sudo ddd --debugger arm-linux-gdb ./vmlinux
这是就可以看到启动界面了。