xuos-web/docs/doc/appdev/debug/Qzone-stm32f407-st-discover...

125 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 调试XiUOS的技巧使用Qzone调试stm32f407-st-discovery开发板
# 调试XiUOS的技巧使用JLink调试STM32F407-discovery开发板
<!-- TOC -->
- [调试XiUOS的技巧使用Qzone调试stm32f407-st-discovery开发板](#调试xiuos的技巧使用qzone调试stm32f407-st-discovery开发板)
- [调试XiUOS的技巧使用JLink调试STM32F407-discovery开发板](#调试xiuos的技巧使用jlink调试stm32f407-discovery开发板)
- [调试环境](#调试环境)
- [Ozone简介](#ozone简介)
- [调试步骤](#调试步骤)
- [步骤一 (Windows环境下)](#步骤一-windows环境下)
- [步骤二Ubuntu环境下](#步骤二ubuntu环境下)
- [步骤三Ubuntu环境下](#步骤三ubuntu环境下)
<!-- /TOC -->
## 调试环境
操作系统ubuntu 18.04,windows 10
调试工具JLink已集成于开发板
调试开发板STM32F407-discovery实物如图
<div align= "center"><img src = https://i.loli.net/2021/04/30/RWE86qzhKJmtkoS.png></div>
## Ozone简介
Ozone是SEGGER公司开发的用于配合J-Link使用的调试工具可以在运行期间查看内存变量、调用栈及其他信息支持指令断点、内存断点、单步调试、内存监控等多种调试方式。使用Ozone调试stm32f407-st-discovery开发板须先使用SEGGER公司的工具ST-Link Reflash Utility将其板载ST-Link芯片刷成J-Link固件该工具后续也可将板载ST-Link固件恢复为ST-Link。下述Ozone与ST-Link Reflash Utility均可以在SEGGER官网下载到。
## 调试步骤
### 步骤一 (Windows环境下)
切换板载STLink芯片固件至JLink固件:
下载安装stlink驱动及烧录软件[STM32_ST-LINK_Utility_v3.9.0](http://xuos.io/downloads/STM32_ST-LINK_Utility_v3.9.0.exe)。链接:`http://xuos.io/downloads/STM32_ST-LINK_Utility_v3.9.0.exe`
将开发板连接至计算机
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/JWtnpyfYRo19ulH.jpg></div>
</br>
开发板默认配置为stlink在设备管理器中可以看到连接的stlink设备
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/az6bd34KoFG5hJI.png></div>
</br>
下载SEGGER官方工具下载地址[SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace。](https://www.segger.com/downloads/jlink/#STLink_Reflash)链接:`https://www.segger.com/downloads/jlink/#STLink_Reflash`
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/pMUCvseKZ6ncoJq.png></div>
</br>
将下载得到的zip压缩包解压运行STLinkReflash.exe。接受相关协议后进入以下界面
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/QnRMP8DOv4AemgC.png></div>
</br>
四个选项分别为:
>[0].退出工具;
>[1].将固件切换至JLink
>[2].升级JLink固件
>[3].将固件切换至STLink。
此处须选择1成功后得到以下输出
Selection>1
Preparing for FW update (can take up to 10 seconds)...O.K.
Identifying ST-LINK variant...O.K.: ST-LINK/V2-1
Performing firmware update...O.K.
此时在设备管理器中可以看到连接了jlink设备
</br>
<div align=center><img src="https://img-blog.csdnimg.cn/img_convert/61fcaba001f96575abfd4a7ca4ab0906.png" /></div>
### 步骤二Ubuntu环境下
下载JLink驱动Ubuntu下载DEB包
下载地址:[SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace](https://www.segger.com/downloads/jlink)
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/KaQ9mtVMru8IJsZ.jpg></div>
</br>
安装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>
### 步骤三Ubuntu环境下
下载OzoneUbuntu下载DEB包下载地址[SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace](https://www.segger.com/downloads/jlink#Ozone)
</br>
<div align= "center"><img src = https://i.loli.net/2021/04/30/jRzep4yWn2IkwUX.png></div>
</br>
安装Ozone:
dpkg -i Ozone_Linux_V322e_x86_64.deb
安装完成后使用运行“Ozone”命令启动Ozone图形界面按照下图设置调试项目期间需要选择XiUOS elf文件位置
</br>
<div align=center><img src="https://img-blog.csdnimg.cn/img_convert/649e26c071b88d85a3c3c73a1c0020ba.png" /></div>
</br>
选中设备:
<div align= "center"><img src ="https://i.loli.net/2021/04/30/r6LXpVtfy4zojUl.png" /></div>
</br>
选择XiaoShanOS_stm32f407-st-discovery.elf
- 注意是elf文件
</br>
<div align=center><img src="https://img-blog.csdnimg.cn/img_convert/59bde30e98b6e8de3162ab7b482ecb67.png" /></div>
</br>
<div align=center><img src="https://img-blog.csdnimg.cn/img_convert/7d650d8840e90cbd27a6001e33c802c0.png" /></div>
</br>
项目建立完成后点击左上角Download and reset program即可将elf下载至开发板并开始调试。此时左上角各按钮即可实现程序暂停、程序重启、单步跳过或单步陷入。注意Ozone下载完固件后会默认在main函数处暂停。
</br>
<div align=center><img src="https://img-blog.csdnimg.cn/img_convert/367fbeb0ffc8be346ea115f298695dd2.png" /></div>