当前位置:嗨网首页>书籍在线阅读

09-Linux内核调试

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

22.3 Linux内核调试

在嵌入式系统中,由于目标机资源有限,因此往往在主机上编译好程序,再在目标机上运行。用户所有的开发工作在主机开发环境下完成,包括编码、编译、连接、下载和调试等。目标机和主机通过串口、以太网、仿真器或其他通信手段通信,主机用这些接口控制目标机,调试目标机上的程序。

调试嵌入式Linux内核的方法如下。

(1)目标机“插桩”,如打上KGDB补丁,这样主机上的GDB可与目标机的KGDB通过串口或网口通信。

(2)使用仿真器,仿真器可直接连接目标机的JTAG/BDM,这样主机的GDB就可以通过与仿真器的通信来控制目标机。

(3)在目标板上通过printk()、oops、strace等软件方法进行“观察”调试,这些方法不具备查看和修改数据结构、断点、单步等功能。

第22.3~22.7节将对这些调试方法进行一一讲解。

不管是目标机“插桩”还是使用仿真器连接目标机JTAG/BDM,在主机上,调试工具一般都采用GDB。尽管采用“插桩”和仿真器的方式可以进行查看和修改数据结构、断点、单步等,而printk()这种最原始的方法却更广泛地被应用。