调试 SDK
6 Jan 2025
Read time: 2 minute(s)
JTAG 调试的整个物理环境示意图如下,本地 PC 和调试 PC 可以是同一台 PC,也可以是局域网内不同的两台 PC:
执行调试流程之前,需要先准备 JTAG 调试的物理环境,包括:
-
硬件:
-
板子上有 JTAG 插座,或者飞线引出了 JTAG 信号线,可以连接到 JTAG 调试器。
-
JTAG 调试器:Luban-Lite 支持 CKLink 调试器 和 AIC JTAG 两种。
-
保证板子和 JTAG 调试器的信号线正确连接,请参考调试器上的信号标识。
-
-
软件:
-
安装 T-HeadDebugServer:调试器在 PC 端的代理,提供 GDB Server 调试服务。
-
安装 AiBurn:ArtInChip 烧录软件,需要用到其中的 USB 烧写驱动。
注:调试前,确保 PC 已安装上述软件。由于安装过程涉及驱动安装,务必开启管理员权限。关于软件的安装包,可以在工具包中找到。所有资源均可在代码仓库中下载。
-
- 选择当前需要 JTAG 调试的场景。JTAG 调试包括以下两种场景:
- 板子刚执行完 PSRAM/ DDR 的初始化,等待 JTAG 连接,Debug 配置选择执行: Dxx load
- 板子上已经在运行一份镜像,中途用 JTAG 连接,Debug 配置选择执行: Dxx connect only
SoC 型号 板子上无镜像 板子上已经在运行镜像 D21x D21x load D21x connect only D12X/D12x D12X/D12x load D12X/D12x connect only
完成上述 JTAG 环境准备后,遵照以下流程调试 SDK:
-
根据 JTAG 调试的场景,在 VSCode 中选择合适的 Debug 配置方法,点击箭头小图标(快捷键 F5),界面操作如下:注:Debug 配置只需选择一次,VSCode 会记住上次的配置。
- 运行 T-HeadDebugServer 并配置下列参数:注:T-HeadDebugServer 完成安装后,桌面会自动创建一个 T-HeadDebugServer 的图标。在 Setting 目录下选择 Target Setting
- Debug Arch Select:必须选择 RISC-V DM
- D1:需要选择 CSKY HAD
-
等待调试器正常连接且目标板上电后,点击红色小三角按钮,或者点击
,开始连接设备:
正常情况下,执行上述步骤会看到扫描出 CPU 信息如下:
注:- 通过 JTAG load
elf
前,必须要先完成 PSRAM、或者 DDR 初始化,否则 JTAG 在写 PSRAM/ DDR 时会出现异常,使用 JTAG 口需要关闭
IIC、以及 Touch panel,操作命令如下:
- 运行 scons --menuconfig 命令。
- 执行下列命令关闭 I2C 和 Touch
Panel。
Board options ---> [] Using i2c3 Drivers options ---> Peripheral ---> Touch Panel Support ---> Gt911 touch panel options ---> [] Using touch panel gt911
- 若使用 JTAG 口,另外需断开 CTP 触屏排线。
- 通过 JTAG load
elf
前,必须要先完成 PSRAM、或者 DDR 初始化,否则 JTAG 在写 PSRAM/ DDR 时会出现异常,使用 JTAG 口需要关闭
IIC、以及 Touch panel,操作命令如下:
- 在 VSCode 中修改 Luban-Lite/.vscode/launch.json
文件的下列参数,与当前方案配置保持一致:
-
路径名、elf 文件名
-
DebugServer 的服务 IP 和端口号,选择
-
断点
如果要添加多个断点,方法如下:
以 Dxx load 为例,修改方法如下:
Dxx connect only 需要修改的参数和上面类似,在 launch.json 文件中都用关键字 FIXME 标注。
-
- 打开 DebugServer,确保已经成功连接 JTAG 调试器。
如果成功连接,则界面显示如下:
如果连接成功,VSCode 会进入 Debug 界面,如下所示:
- 按照实际需求,开始调试。