# 系统调试 * [前言](#intro) * [Jlink调试](#jlink-debug) * [Ozone调试](#ozone-debug) * [FAQ](#faq) ## 前言 本文档将介绍XiUOS使用jlink、Ozone调试软件的配置、调试过程。 ## Jlink调试 ### 软件安装 + jlink包安装 第一步,进入jlink官网[下载网址](https://www.segger.com/downloads/jlink) 第二步,选择版本并下载安装包,此处下载的安装包版本为V6.72e,即JLink_Linux_V672e_x86_64.deb。 第三步,安装JLink_Linux_V672e_x86_64.deb ```shell $ dpkg -i JLink_Linux_V672e_x86_64.deb ``` + openocd安装 第一步,进入[下载网址](https://github.com/kendryte/openocd-kendryte/releases), 下载Unbuntu版本的openocd。XiUOS中下载的kendryte-openocd-0.2.3-ubuntu64.tar.gz 第二步,安装openocd ```shell $ sudo mv kendryte-openocd-0.2.2-ubuntu64.tar.gz /opt $ cd /opt $ sudo tar -zxvf kendryte-openocd-0.2.2-ubuntu64.tar.gz $ sudo apt install libusb-dev libftdi-dev libhidapi-dev ``` 第三步,openocd文件配置 打开配置文件,修改第三行 jlink serial 504503073的504503073为具体JLINK设备的标签。 ```shell $ cd /opt/kendryte-openocd $ vim ctl/openocd.cfg ``` 第四步,打开openocd软件 ```shell $ cd /opt/kendryte-openocd $ ./bin/openocd -f ./ctl/openocd.cfg ``` 成功运行则显示如下的界面。 ### 调试程序 ```shell $ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333" ``` 运行上述命令,其中, + XiaoShan_kd233.elf是编译过程生成的elf文件; + 127.0.0.1表示本地IP地址,也可以制定远程地址; + 3333是openocd监听的端口号; 成功连接openocd之后,界面如下所示,之后就可以使用load\break\continue等gdb命令进行调试了。
## Ozone调试 第一步,从Segger官网下载Ozone,下载链接分别为[32位](https://www.segger.com/downloads/jlink/Ozone_Linux_i386.deb)、[64位](https://www.segger.com/downloads/jlink/Ozone_Linux_x86_64.deb). 第二步,安装deb安装包 ![INSTALL PROCESS](./imagesrc/ozone_install.png) 第三步,配置合适的参数 选择Device为STM32F407VG
![DEVICE CONFIG](./imagesrc/device_config.png)
:::tip 注意Target Interface需修改为SWD. :::
![INTERFACE CONFIG](./imagesrc/interface_config.png)
选择编译后生成的elf文件 提交到Ozone页面 ![OZONE PAGE](./imagesrc/ozone_page.png) 点击调试后,若未设置断点,Ozone将自动在执行main函数前停止,Ozone支持设置代码和数据断点、单步调试、查看变量值等功能,是很方便的一个调试工具。 ## FAQ