设为首页收藏本站
查看: 961|回复: 0

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

[复制链接]

8

主题

12

回帖

214

积分

中级会员

积分
214
贫穷贵公子 发表于 2023-8-13 21:02:15 | 显示全部楼层 |阅读模式
u-boot,内核的cmdline参数如下所示

在文件yocto/myir-renesas-uboot/configs/myc-rzg2l_ddr1gb_defconfig,配置uboot向kernel的cmdline参数

  1. CONFIG_BOOTARGS="rw rootwait earlycon root=/dev/mmcblk0p2 nokaslr console=ttySC0,115200 kgdboc=ttySC0,115200 kgdbcon"
复制代码


区别于,上一章节的cmdline参数配置,主要变更kgdbwait到kgdbcon,两者的区别,可以参考kernel下的Documentation下的kgdb.rst文档。
kgdbcon不会影响kernel的启动,kgdbwait会影响kernel的启动,会导致kernel的启动过程暂停,等待host端的gdb连接。

agent-proxy工具

具体使用方法,可以参考下述链接网址;
https://elinux.org/Kdmx

通常,都是代理ttyUSB节点到网络上,agent-proxy 5550^5551 0 /dev/ttyUSB0,115200
但是,对于RZG2L开发板,上述方式,经测试,发现未能生效,原因未知。
本文介绍agent-proxy提供的另一种方式,同样是代理ttyUSB节点,但是kdmx工具,会虚拟出两个pts的伪串口节点,方便后续的kgdb调试。
1)步骤一:
链接开发板的调试串口,到ubuntu主机当中,假定设备节点是/dev/ttyUSB0
2)Host端使用下述命令,代理ttyUSB0节点
kdmx -n -d -p/dev/ttyUSB0 -b115200

Snipaste_2023-08-13_20-46-20.png

3)查看kdmx的输出信息,/dev/pts/4用于查看kernel的输出日志,/dev/pts/5用于kgdb调试
  1. /dev/pts/4 is slave pty for terminal emulator
  2. /dev/pts/5 is slave pty for gdb
复制代码
4)ubuntu环境当中,在开启一个shell窗口,使用minicom命令,用于查看kernel的日志信息
  1. minicom -o -w -p /dev/pts/4
复制代码
Snipaste_2023-08-13_20-50-33.png

5)minicom窗口当中,输入如下指令,开启kgdb
  1. echo g > /proc/sysrq-trigger
复制代码
Snipaste_2023-08-13_20-53-03.png

6)输入以下命令序列,配置gdb的调试环境
  1. source /mnt/hdd/code/RZG2L/sdk/environment-setup-aarch64-poky-linux
  2. aarch64-poky-linux-gdb linux-myir-5.10.83+git999/vmlinux -tui
  3. add-auto-load-safe-path linux-myir-5.10.83+git999/
  4. source linux-myir-5.10.83+git999/vmlinux-gdb.py
  5. set detach-on-fork on
  6. target remote /dev/pts/5
复制代码
注意,使用target remote /dev/pts/5,建立与开发板的kgdb链接。
Snipaste_2023-08-13_21-01-04.png

至此,KGDB所需的调试环境,搭建完毕。后续,在介绍KGDB如何调试内核的ko模块。
      
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 12:03 , Processed in 0.073868 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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