首页 > 代码库 > 使用串口线真机调试Linux内核

使用串口线真机调试Linux内核

一、环境

   ubuntu 14.04

   一台有串口的PC(编号PC1,被调试机器)

   另一台PC通过USB转串口线连接PC1(编号PC2,发起调试命令的机器)

二、串口线配置及测试

   安装cutecom

   USB转串口连上PC2,并和PC1相连

   PC1和PC2使用sudo cutecom将串口软件打开

   PC1上使用/dev/ttyUSB0 PC2上使用/dev/ttyS0 相同波特率115200

   测试:PC1发送数据,PC2能够正常接收并回显。

三、编译并安装内核

  在PC2中编译,编译好之后将生成的*header*.deb和*image*.deb放在PC1并安装。

  sudo make menuconfig

技术分享

   sudo make-kpkg --initrd --revision 1.0 --append-to-version -2016 kernel_image kernel_headers

  sudo dpkg -i *headers*.deb

  sudo dpkg -i *image*.deb

四、PC1动态启动调试选项

   echo ttyS0,115200 > /sys/module/kgdboc/parameters/kgdboc

五、测试配置结果

PC1运行如下命令

   sudo su

   echo g > /proc/sysrq-trigger

PC2进入Linux内核源码目录,并运行

  gdb vmlinux

  >set serial baud 115200

  >target remote /dev/ttyUSB0

之后正常的话能够看到PC2进入Linux相应代码段

 

六、参考材料

通过KGDB进行双机内核调试 - 博客频道 - CSDN.NET

KGDB with VirtualBox: Debug a Live Kernel - Open Source For You

Kernel Debugging and Tracing Linux Update

gdb - KGDB remote debugging connection issue via USB and Serial connection - Stack Overflow

Chapter 5. Using kgdb / gdb

使用串口线真机调试Linux内核