0

   首先提下注意事项的背景:

   kgdb和printk共用一个串口

1

   设置波特率:

   //最高支持460800波特率

   arm-eabi-gdb  ./vmlinux

   (gdb) set remotebaud 460800  

   //设置使用哪个端口,作为通讯端口

   (gdb) target remote /dev/ttyUSB0

2

   //使用的USB转串口

   //可通过:  ls  /dev/tt* , 查看对应的设备名

3

   //有的时候会有权限问题

   sudo chmod 777 /dev/ttyUSB0

4

   //有的时候gdb会收到非法包,提示如下

   Ignoring packet error, continuing…

   //可以做如下设置,重新设置printk的打印等级,

   //不再让printk向串口输出打印信息

   echo 0 > /proc/sysrq-trigger

5

   //有时候会提示,watchdog的异常,然后kernel restart after 5 seconds…

   //please disable the watch dog

   可以在进入循环之前关闭watchdog,我用的函数如下:

   mtk_wdt_disable();  //因该能猜到我用的是什么平台

6

   //指定kgdb用哪个端口通讯,ttyUART 这个具体平台不一样

   echo ttyUART >/sys/module/kgdboc/parameters/kgdboc