diff --git a/docs/doc/appdev/debug.md b/docs/doc/appdev/debug.md index d0b59d9..0b530b1 100755 --- a/docs/doc/appdev/debug.md +++ b/docs/doc/appdev/debug.md @@ -1,27 +1,37 @@ -# 用Jlink调试 +# 系统调试 + +* [前言](#intro) +* [Jlink调试](#jlink-debug) +* [Ozone调试](#ozone-debug) +* [FAQ](#faq) + + ## 前言 -本文档将介绍XiUOS使用jlink软件的配置、调试过程。 +本文档将介绍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 - $ dpkg -i JLink_Linux_V672e_x86_64.deb +```shell +$ dpkg -i JLink_Linux_V672e_x86_64.deb +``` + openocd安装 @@ -29,38 +39,45 @@ 下载Unbuntu版本的openocd。XiUOS中下载的kendryte-openocd-0.2.3-ubuntu64.tar.gz 第二步,安装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 +``` -
- -
+ 第四步,打开openocd软件 - $ cd /opt/kendryte-openocd - $ ./bin/openocd -f ./ctl/openocd.cfg +```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" +``` - $ 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地址,也可以制定远程地址; @@ -69,9 +86,55 @@ 成功连接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 diff --git a/docs/doc/appdev/imagesrc/device_config.png b/docs/doc/appdev/imagesrc/device_config.png new file mode 100644 index 0000000..b2605fe Binary files /dev/null and b/docs/doc/appdev/imagesrc/device_config.png differ diff --git a/docs/doc/appdev/imagesrc/elf_file.png b/docs/doc/appdev/imagesrc/elf_file.png new file mode 100644 index 0000000..7673dcd Binary files /dev/null and b/docs/doc/appdev/imagesrc/elf_file.png differ diff --git a/docs/doc/appdev/imagesrc/interface_config.png b/docs/doc/appdev/imagesrc/interface_config.png new file mode 100644 index 0000000..e30b192 Binary files /dev/null and b/docs/doc/appdev/imagesrc/interface_config.png differ diff --git a/docs/doc/appdev/imagesrc/jlink_package_1.png b/docs/doc/appdev/imagesrc/jlink_package_1.png new file mode 100644 index 0000000..6b37774 Binary files /dev/null and b/docs/doc/appdev/imagesrc/jlink_package_1.png differ diff --git a/docs/doc/appdev/imagesrc/jlink_package_2.png b/docs/doc/appdev/imagesrc/jlink_package_2.png new file mode 100644 index 0000000..065afa4 Binary files /dev/null and b/docs/doc/appdev/imagesrc/jlink_package_2.png differ diff --git a/docs/doc/appdev/imagesrc/open_openocd.png b/docs/doc/appdev/imagesrc/open_openocd.png new file mode 100644 index 0000000..c35d880 Binary files /dev/null and b/docs/doc/appdev/imagesrc/open_openocd.png differ diff --git a/docs/doc/appdev/imagesrc/openocd_cfg.png b/docs/doc/appdev/imagesrc/openocd_cfg.png new file mode 100644 index 0000000..e1ca1b2 Binary files /dev/null and b/docs/doc/appdev/imagesrc/openocd_cfg.png differ diff --git a/docs/doc/appdev/imagesrc/openocd_gdb.png b/docs/doc/appdev/imagesrc/openocd_gdb.png new file mode 100644 index 0000000..6204fb0 Binary files /dev/null and b/docs/doc/appdev/imagesrc/openocd_gdb.png differ diff --git a/docs/doc/appdev/imagesrc/ozone_install.png b/docs/doc/appdev/imagesrc/ozone_install.png new file mode 100644 index 0000000..c0a7cf3 Binary files /dev/null and b/docs/doc/appdev/imagesrc/ozone_install.png differ diff --git a/docs/doc/appdev/imagesrc/ozone_page.png b/docs/doc/appdev/imagesrc/ozone_page.png new file mode 100644 index 0000000..d8858a0 Binary files /dev/null and b/docs/doc/appdev/imagesrc/ozone_page.png differ