# 调试XiUOS的技巧:使用JLink调试KD233开发板
# 调试环境
操作系统: ubuntu18.04 https://ubuntu.com/download/desktop (opens new window)
调试工具:JLink(实物如图)
调试开发板:KD233(实物如图)
# 调试步骤
# 步骤一
1.下载JLink驱动(Ubuntu下载DEB包) 下载地址:SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace (opens new window),推荐下载地址 http://xuos.io/downloads/JLink_Linux_V720_x86_64.deb (opens new window)
2.安装JLink驱动
$ dpkg -i JLink_Linux_V632i_x86_64.deb
V后面为版本号,以下载的为准,安装完成后将JLink连接到计算机,运行JLinkExe检查其驱动是否已经正确安装,如果是,将看到以下信息:
$ JLinkExe
SEGGER J-Link Commander V7. 0a (Compiled Apr 16 2021 15:36:25)
DLL version V7.00a, compiled Apr 16 2021 15:36:09
Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-K22-SiFive compiled Mar 3 2021 14:13:05
Hardware version: V1.00
S/N: 979015641
VTref=3.300V
Type "connect" to establish a target connection, '?' for help
J-Link>
# 步骤二
1.安装openocd(下载Ubuntu版本64位) 下载地址:Releases · kendryte/openocd-kendryte (github.com) (opens new window),推荐下载地址为:http://xuos.io/downloads/kendryte-openocd-0.2.3-ubuntu64.tar.gz (opens new window)
2.安装openocd
$ sudo apt install libusb-dev libftdi-dev libhidapi-dev
$ sudo mv kendryte-openocd-0.2.3-ubuntu64.tar.gz /opt
$ cd /opt
$ sudo tar -zxvf kendryte-openocd-0.2.3-ubuntu64.tar.gz
3.修改openocd的配置文件
$ sudo vim /opt/kendryte-openocd/tcl/openocd.cfg
序列号从JLink的背面标签可以查看,也可以在JLink连接计算机后敲击JLinkExe命令看到。
4.打开openocd,执行以下命令开始调试
$ cd /opt/kendryte-openocd
$ ./bin/openocd -f ./tcl/openocd.cfg
注意:这一步如果报出Error,重新插拔JLink解决
# 步骤三
1.步骤二打开openopcd后,继续运行gdb:
$ riscv-none-embed-gdb (workspace)/build/XiUOS_kd233.elf --eval-command="target remote 127.0.0.1:3333"
其中,(workspace)为实际操作的XiUOS项目的绝对路径,XiUOS_kd233.elf是编译生成的文件。
127.0.0.1表示本地IP地址,也可以指定远程地址。
3333是openocd监听的端口号。成功连接openocd后,就可以使用load、break、continue等gdb命令来调试了。