STMCU小助手
发布时间:2022-8-4 23:29
|
1. 引言3 Q. v( o5 k; `" Z& V& g STM32CubeIDE 是 ST 官方推出的集成开发环境,集成了很多 STM32 的调试与开发工具。7 L; x$ z3 l, K2 y0 o 本文主要介绍如何使用 SWV 功能来打印输出。3 W$ S% U, A3 a* h& l6 x( R 2. 问题描述6 F2 o; e: J5 p4 {2 V, N- s" E 客户使用 STM32CubeIDE 开发环境,将 Printf 定位到串口上是正常的,但是在重定位到SWO 上却出现了无法打印的问题。客户也参考了网上的教程,仍然无法实现,不知道是什么原因。 STM32CubeIDE 版本:V1.6.1 硬件环境:Nucleo-G431RB 1 Y7 }: C5 H( u 1 A' R- s, P9 `: {- h7 r
3. 问题分析与定位; j, w/ S4 e) f! A. D0 P 首先,我们需要查找资料,在《UM2609 STM32CubeIDE user guide》的第 4 章中,对于SWV 有比较详细的介绍。此处推荐先查看官网文档,这个文档本身是非常权威的。可能你在网上也会找到关于 SWV 功能的介绍,但是这个文档还是必须要看的,因为这个是源头。 通过查看这个文档,知道了实现 SWV 的简单步骤如下: 第一步:在 Pinout & Configuration 选项中打开 SWO 的功能,此步骤是必须的。
w) n+ {+ R' E" @1 i5 r 第二步:重定位 printf 的接口函数。7 H3 |- {1 d$ {, v6 C( L" u 这里有个简单的方法,直接在 syscalls.c 文件中,改写_write()函数的内容,代码如下所示。再在此文件中包含 ITM_SendChar 实现的头文件 core_cmX.h,此文件一般都是已经被包含在你所选择的器件型号的头文件中。此处我们选择的是 stm32g431xx.h,直接放在此文件的开始处即可。* v H% c2 U) n
& g9 T9 V/ x# D3 v 第三步,在 main.c 文件中包含 stdio.h 这个头文件,并尝试打印 printf,此处注意,打印不能很频繁,所以需要增加延时。
0 ~/ j" M$ ]7 q 全局编译一下,查看是否有错误,如果有错误,请对应提示信息修改。编译没有错误之后,我们就可以进行下一步了。 6 k% B- P7 ^" ?! B( ^ " d* e" q( o' [! [1 W- Q
% i! r6 @* Z+ S0 ]9 V( r* Z 第四步,配置仿真调试参数。打开 SWV 的调试功能。此处注意:Core Clock 必须与你配置的时钟是一致的。此处我配置是 170MHz,与我的系统时钟一致。 `) t, f% w/ t' M2 w4 P6 s
% n& k0 y6 F0 h7 b' C 第五步,开始进入调试界面,并在调试界面中打开 Windows-->Show View-->SWV 的 ITM dataConsole 窗口。注意,整个 SWV 其实是共用一个配置文件的,所以,当你打开 SWV 内的任意一个窗口都可以进行 SWV 的配置。在这里我们只是为了查看 Printf 的内容,所以就选择了 SWVITM Data Console 窗口。关于这里边其他几个部分的详细说明参考 UM2609 的 4.3 章节的内容。 6 e$ F6 b+ u5 n1 J8 `. E! J & V# Y# U9 W! s9 |/ ~' m' j$ e) m& J 完整版请查看:附件2 _( W$ [: h, @+ t2 U& S8 P3 l 8 G4 s0 o9 Z0 Q0 n/ O5 m0 K! ^9 I |
LAT1024_STM32CubeIDE_SWV_功能简介.pdf
下载847.96 KB, 下载次数: 13
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【NUCLEO-C562RE】OLED 显示
保姆级教程:CMake 工程导入 STM32CubeIDE 步骤
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
微信公众号
手机版