125 lines
5.5 KiB
Markdown
125 lines
5.5 KiB
Markdown
# 调试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环境下)
|
||
|
||
下载Ozone(Ubuntu下载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>
|