update the content of appdev/debug.md
|
@ -1,27 +1,37 @@
|
||||||
# 用Jlink调试
|
# 系统调试
|
||||||
|
|
||||||
|
* [前言](#intro)
|
||||||
|
* [Jlink调试](#jlink-debug)
|
||||||
|
* [Ozone调试](#ozone-debug)
|
||||||
|
* [FAQ](#faq)
|
||||||
|
|
||||||
|
<span id="intro"></span>
|
||||||
|
|
||||||
## 前言
|
## 前言
|
||||||
|
|
||||||
本文档将介绍<B>XiUOS</B>使用jlink软件的配置、调试过程。
|
本文档将介绍<B>XiUOS</B>使用jlink、Ozone调试软件的配置、调试过程。
|
||||||
|
|
||||||
|
<span id="jlink-debug"></span>
|
||||||
|
|
||||||
|
## Jlink调试
|
||||||
|
|
||||||
|
### 软件安装
|
||||||
|
|
||||||
## 软件安装
|
|
||||||
+ jlink包安装
|
+ jlink包安装
|
||||||
|
|
||||||
第一步,进入jlink官网[下载网址](https://www.segger.com/downloads/jlink)
|
第一步,进入jlink官网[下载网址](https://www.segger.com/downloads/jlink)
|
||||||
|
|
||||||
<div class="imgbox">
|
<img src="./imagesrc/jlink_package_1.png" width="100%"/>
|
||||||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_1.png" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
第二步,选择版本并下载安装包,此处下载的安装包版本为V6.72e,即JLink_Linux_V672e_x86_64.deb。
|
第二步,选择版本并下载安装包,此处下载的安装包版本为V6.72e,即JLink_Linux_V672e_x86_64.deb。
|
||||||
|
|
||||||
<div class="imgbox">
|
<img src="./imagesrc/jlink_package_2.png" width="100%"/>
|
||||||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_2.png" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
第三步,安装JLink_Linux_V672e_x86_64.deb
|
第三步,安装JLink_Linux_V672e_x86_64.deb
|
||||||
|
|
||||||
$ dpkg -i JLink_Linux_V672e_x86_64.deb
|
```shell
|
||||||
|
$ dpkg -i JLink_Linux_V672e_x86_64.deb
|
||||||
|
```
|
||||||
|
|
||||||
+ openocd安装
|
+ openocd安装
|
||||||
|
|
||||||
|
@ -29,38 +39,45 @@
|
||||||
下载Unbuntu版本的openocd。<B>XiUOS</B>中下载的kendryte-openocd-0.2.3-ubuntu64.tar.gz
|
下载Unbuntu版本的openocd。<B>XiUOS</B>中下载的kendryte-openocd-0.2.3-ubuntu64.tar.gz
|
||||||
|
|
||||||
第二步,安装openocd
|
第二步,安装openocd
|
||||||
|
|
||||||
$ sudo mv kendryte-openocd-0.2.2-ubuntu64.tar.gz /opt
|
|
||||||
$ cd /opt
|
|
||||||
$ sudo tar -zxvf kendryte-openocd-0.2.2-ubuntu64.tar.gz
|
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
$ sudo apt install libusb-dev libftdi-dev libhidapi-dev
|
|
||||||
|
|
||||||
第三步,openocd文件配置
|
第三步,openocd文件配置
|
||||||
|
|
||||||
打开配置文件,修改第三行 jlink serial 504503073的504503073为具体JLINK设备的标签。
|
打开配置文件,修改第三行 jlink serial 504503073的504503073为具体JLINK设备的标签。
|
||||||
|
|
||||||
$ cd /opt/kendryte-openocd
|
```shell
|
||||||
$ vim ctl/openocd.cfg
|
$ cd /opt/kendryte-openocd
|
||||||
|
$ vim ctl/openocd.cfg
|
||||||
|
```
|
||||||
|
|
||||||
<div class="openocd_cfg">
|
<img src="./imagesrc/openocd_cfg.png" width="100%"/>
|
||||||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_cfg.png" height="500" width="1200"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
第四步,打开openocd软件
|
第四步,打开openocd软件
|
||||||
|
|
||||||
$ cd /opt/kendryte-openocd
|
```shell
|
||||||
$ ./bin/openocd -f ./ctl/openocd.cfg
|
$ cd /opt/kendryte-openocd
|
||||||
|
$ ./bin/openocd -f ./ctl/openocd.cfg
|
||||||
|
```
|
||||||
|
|
||||||
成功运行则显示如下的界面。
|
成功运行则显示如下的界面。
|
||||||
<div>
|
|
||||||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/open_openocd.png"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 调试程序
|
<img src="./imagesrc/open_openocd.png"/>
|
||||||
|
|
||||||
|
|
||||||
|
### 调试程序
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333"
|
||||||
|
```
|
||||||
|
|
||||||
$ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333"
|
|
||||||
|
|
||||||
运行上述命令,其中,
|
运行上述命令,其中,
|
||||||
+ XiaoShan_kd233.elf是编译过程生成的elf文件;
|
+ XiaoShan_kd233.elf是编译过程生成的elf文件;
|
||||||
+ 127.0.0.1表示本地IP地址,也可以制定远程地址;
|
+ 127.0.0.1表示本地IP地址,也可以制定远程地址;
|
||||||
|
@ -69,9 +86,55 @@
|
||||||
成功连接openocd之后,界面如下所示,之后就可以使用load\break\continue等gdb命令进行调试了。
|
成功连接openocd之后,界面如下所示,之后就可以使用load\break\continue等gdb命令进行调试了。
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_gdb.png"/>
|
<img src="./imagesrc/openocd_gdb.png"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<span id="ozone-debug"></span>
|
||||||
|
|
||||||
|
## 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安装包
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
第三步,配置合适的参数
|
||||||
|
|
||||||
|
选择Device为STM32F407VG
|
||||||
|
|
||||||
|
<center>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</center>
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
注意Target Interface需修改为SWD.
|
||||||
|
:::
|
||||||
|
|
||||||
|
<center>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</center>
|
||||||
|
|
||||||
|
选择编译后生成的elf文件
|
||||||
|
|
||||||
|
<img src="./imagesrc/elf_file.png" width = "100%"/>
|
||||||
|
|
||||||
|
提交到Ozone页面
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
点击调试后,若未设置断点,Ozone将自动在执行main函数前停止,Ozone支持设置代码和数据断点、单步调试、查看变量值等功能,是很方便的一个调试工具。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span id="faq"></span>
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 243 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 329 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 663 KiB |
After Width: | Height: | Size: 932 KiB |