设为首页收藏本站
查看: 928|回复: 4

【米尔瑞萨RZ/G2L开发板-创新应用】KGDB调试指南

[复制链接]

8

主题

12

回帖

214

积分

中级会员

积分
214
贫穷贵公子 发表于 2023-7-21 21:23:34 | 显示全部楼层 |阅读模式
本帖最后由 贫穷贵公子 于 2023-7-21 21:31 编辑

KGDB调试参考手册
针对Linux kernel,采用常规的printk打印调试方法,是最为常见,而且也最为通用的。使用GDB调试工具,对kernel进行调试,官方文档如下所示。      
myir-renesas-linux/Documentation/dev-tools/kgdb.rst


https://docs.kernel.org/dev-tools/gdb-kernel-debugging.html

开启内核KGDB配置
  1. # kgdb
  2. CONFIG_KGDB=y
  3. CONFIG_KGDB_SERIAL_CONSOLE=y
  4. CONFIG_KGDB_KDB=y
  5. CONFIG_GDB_SCRIPTS=y
  6. CONFIG_DEBUG_KERNEL=y
  7. CONFIG_DEBUG_INFO=y
  8. CONFIG_DEBUG_INFO_DWARF4=y
  9. CONFIG_FRAME_POINTER=y
  10. CONFIG_PANIC_TIMEOUT=10
  11. CONFIG_CONSOLE_POLL=y
  12. CONFIG_KALLSYMS=y
  13. CONFIG_KALLSYMS_ALL=y
  14. CONFIG_STRICT_KERNEL_RWX=n
  15. CONFIG_KDB_KEYBOARD=y
  16. CONFIG_KGDB_TESTS=y
  17. CONFIG_DYNAMIC_DEBUG=y
复制代码
修改linux-myir_5.10.bb文件

  1. # Kernel confguration update
  2. SRC_URI += "file://uio.cfg \
  3.             file://kgdb.cfg \
  4. "
复制代码
yocto/myir-renesas-yocto/layers/meta-myir-yg2lx/recipes-bsp/linux-kernel/linux/files/kgdb.cfg

KGDB相关联的内核配置项,保存在kgdb.cfg文件当中,然后在recipe文件当中指定。
  1. do_compile_append() {
  2.         make scripts_gdb
  3. }
复制代码
由于kernel版本是5.10.83,必须采用这种方式,编译gdb调试时,使用的script。

回复

使用道具 举报

8

主题

12

回帖

214

积分

中级会员

积分
214
 楼主| 贫穷贵公子 发表于 2023-7-21 21:33:49 | 显示全部楼层
修改u-boot,调整内核的cmdline参数
yocto/myir-renesas-uboot/configs/myc-rzg2l_ddr1gb_defconfig
  1. CONFIG_BOOTARGS="rw rootwait earlycon root=/dev/mmcblk0p2 nokaslr console=ttySC0,115200 kgdboc=ttySC0,115200 kgdbwait"
复制代码

yocto/myir-renesas-uboot/include/configs/myc-rzg2l.h
  1. "prodemmcbootargs=setenv bootargs rw rootwait earlycon root=/dev/mmcblk0p2 nokaslr console=ttySC0,115200 kgdboc=ttySC0,115200 kgdbwait\0" \
复制代码


回复 支持 反对

使用道具 举报

8

主题

12

回帖

214

积分

中级会员

积分
214
 楼主| 贫穷贵公子 发表于 2023-7-21 21:35:08 | 显示全部楼层
重新编译u-boot和kernel镜像,并烧录
查看串口日志,发现,出现下述日志,表明KGDB初步配置成功。
Snipaste_2023-07-21_21-34-43.png

回复 支持 反对

使用道具 举报

8

主题

12

回帖

214

积分

中级会员

积分
214
 楼主| 贫穷贵公子 发表于 2023-7-21 22:01:38 | 显示全部楼层
gdb调试配置

切换到yocto/myir-renesas-yocto/build-myir-1g/tmp/work/myir_yg2lx_1g-poky-linux/linux-myir/5.10.83+git999-r1路径下
  1. aarch64-poky-linux-gdb linux-myir-5.10.83+git999/vmlinux -tui
复制代码
使用米尔提供的sdk下的aarch64-poky-linux-gdb工具
  1. add-auto-load-safe-path linux-myir-5.10.83+git999/
复制代码
添加可信路径,方便后续加载gdb调试script脚本。
  1. source linux-myir-5.10.83+git999/vmlinux-gdb.py
复制代码
  1. set detach-on-fork on
复制代码
  1. set serial baud 115200
复制代码
  1. target remote /dev/ttyUSB0
复制代码
Snipaste_2023-07-21_22-01-11.png

回复 支持 反对

使用道具 举报

6

主题

23

回帖

147

积分

注册会员

积分
147
米尔小助手2 发表于 2023-7-28 09:15:30 | 显示全部楼层
感谢楼主分享,期待更多精彩内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-12-4 01:39 , Processed in 0.070115 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表