update the content of appdev/debug.md

This commit is contained in:
Yan_yan 2020-11-05 16:20:10 +08:00
parent a9e24bdffa
commit fbad61db62
11 changed files with 93 additions and 30 deletions

View File

@ -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官网[下载网址](https://www.segger.com/downloads/jlink)
<div class="imgbox">
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_1.png" />
</div>
<img src="./imagesrc/jlink_package_1.png" width="100%"/>
第二步选择版本并下载安装包此处下载的安装包版本为V6.72e即JLink_Linux_V672e_x86_64.deb。
<div class="imgbox">
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_2.png" />
</div>
<img src="./imagesrc/jlink_package_2.png" width="100%"/>
第三步安装JLink_Linux_V672e_x86_64.deb
$ dpkg -i JLink_Linux_V672e_x86_64.deb
```shell
$ dpkg -i JLink_Linux_V672e_x86_64.deb
```
+ openocd安装
@ -30,36 +40,43 @@
第二步安装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文件配置
打开配置文件,修改第三行 jlink serial 504503073的504503073为具体JLINK设备的标签。
$ cd /opt/kendryte-openocd
$ vim ctl/openocd.cfg
```shell
$ cd /opt/kendryte-openocd
$ vim ctl/openocd.cfg
```
<div class="openocd_cfg">
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_cfg.png" height="500" width="1200"/>
</div>
<img src="./imagesrc/openocd_cfg.png" width="100%"/>
第四步打开openocd软件
$ cd /opt/kendryte-openocd
$ ./bin/openocd -f ./ctl/openocd.cfg
```shell
$ 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"/>
$ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333"
### 调试程序
```shell
$ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333"
```
运行上述命令,其中,
+ XiaoShan_kd233.elf是编译过程生成的elf文件
@ -69,9 +86,55 @@
成功连接openocd之后界面如下所示之后就可以使用load\break\continue等gdb命令进行调试了。
<div>
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_gdb.png"/>
<img src="./imagesrc/openocd_gdb.png"/>
</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安装包
![INSTALL PROCESS](./imagesrc/ozone_install.png)
第三步,配置合适的参数
选择Device为STM32F407VG
<center>
![DEVICE CONFIG](./imagesrc/device_config.png)
</center>
:::tip
注意Target Interface需修改为SWD.
:::
<center>
![INTERFACE CONFIG](./imagesrc/interface_config.png)
</center>
选择编译后生成的elf文件
<img src="./imagesrc/elf_file.png" width = "100%"/>
提交到Ozone页面
![OZONE PAGE](./imagesrc/ozone_page.png)
点击调试后若未设置断点Ozone将自动在执行main函数前停止Ozone支持设置代码和数据断点、单步调试、查看变量值等功能是很方便的一个调试工具。
<span id="faq"></span>
## FAQ

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 KiB