0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一下STM32CubeIDE的SWV功能

strongerHuang 来源:STM32单片机 作者:STM32单片机 2022-06-23 10:21 次阅读

很多工具都自带有 SWV (Serial Wire Viewer)的功能,之前给大家分享的《打印输出教程》就描述了在Keil、IAR、ST-LINK Utility、STM32CubeProg、J-Link等工具下实现“SWV”的功能。 今天再给大家分享一下STM32CubeIDE的SWV功能。

第一步:在Pinout & Configuration选项中打开SWO的功能,此步骤是必须的。

f93336fc-f28c-11ec-ba43-dac502259ad0.png

STM32CubeIDE中使能SWO功能

第二步:重定位printf的接口函数。

这里有个简单的方法,直接在syscalls.c文件中,改写_write()函数的内容,代码如下所示。再在此文件中包含ITM_SendChar 实现的头文件core_cmX.h,此文件一般都是已经被包含在你所选择的器件型号的头文件中。 此处我们选择的是stm32g431xx.h,直接放在此文件的开始处即可。

f959265a-f28c-11ec-ba43-dac502259ad0.png

第三步:在main.c文件中包含stdio.h这个头文件,并尝试打印printf,此处注意,打印不能很频繁,所以需要增加延时。

f9729cb6-f28c-11ec-ba43-dac502259ad0.png

全局编译一下,查看是否有错误,如果有错误,请对应提示信息修改。编译没有错误之后,我们就可以进行下一步了。

f9811a5c-f28c-11ec-ba43-dac502259ad0.png

第四步:配置仿真调试参数。打开SWV的调试功能。此处注意:Core Clock必须与你配置的时钟是一致的。此处我配置是170MHz,与我的系统时钟一致。

f9a4814a-f28c-11ec-ba43-dac502259ad0.png

第五步:开始进入调试界面,并在调试界面中打开Windows-->Show;View-->SWV的ITM data Console窗口。注意,整个SWV其实是共用一个配置文件的,所以,当你打开SWV内的任意一个窗口都可以进行SWV 的配置。在这里我们只是为了查看Printf的内容,所以就选择了SWV ITM Data Console窗口。关于这里边其他几个部分的详细说明参考UM2609的4.3章节的内容。

f9d0ea3c-f28c-11ec-ba43-dac502259ad0.png

开启SWV ITM数据窗口

此窗口打开后,需要新增一个Port端口。默认TIM中使用的就是0端口,所以我们直接选0即可。

f9e7aae2-f28c-11ec-ba43-dac502259ad0.png

增加输出端口

选择点击配置按钮对参数进行配置。配置情况如下:

f9f4bdd6-f28c-11ec-ba43-dac502259ad0.png

SWV窗口配置界面

推荐先复位一下工程(可选项),然后“启动跟踪/start trace”。注意:此处是先启动跟踪,之后再让程序运行起来,不能反序。

fa17459a-f28c-11ec-ba43-dac502259ad0.png

启动跟踪和开始运行

此时即可看到打印出来的内容了。

fa2579b2-f28c-11ec-ba43-dac502259ad0.png

最后打印输出的状态

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10906

    浏览量

    356560
  • 函数
    +关注

    关注

    3

    文章

    4338

    浏览量

    62739

原文标题:STM32CubeIDE SWV功能使用方法

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32CubeIDE环境使用DSP加速运算,但不能下载DSP库,为什么?

    STM32CubeIDE 环境使用DSP 加速运算,但不能下载DSP库!(芯片为STM32G474RBT6) copy all used libraries into the project folder :复制所有库文件 ;
    发表于 07-05 07:35

    stm32cubeIDE烧录报错Error是怎么回事?

    请问各位前辈 , stm32cubeIDE 烧录报错Error!
    发表于 07-03 06:42

    请问STM32CubeIDE如何加载外部bin文件?

    我有个外部的bin文件,想要编译、链接到stm32工程里,如何用stm32cubeide来实现呢? 我知道在keil中可以添加个.s文件可以实现,但是keil中用汇编指令INCBI
    发表于 05-30 06:41

    stm32cubeide有keil中的逻辑分析仪功能吗?

    stm32cubeide有keil中的逻辑分析仪功能吗?想查看输出PWM波形
    发表于 05-22 06:56

    STM32CUBEIDE出现error downloading following files的原因?

    STM32CUBEIDE出现error downloading following files
    发表于 05-20 07:05

    stm32cubeIDE代码运行时间如何查看?

    stm32cubeIDE 代码运行时间,如何查看?就如 keil 调试时候那样,可以测试代码的运行时间。但是在stm32cubeIDE 中,直没有找到这个功能,不知道哪位高人可以提示
    发表于 04-16 08:10

    STM32cubeide如何能打开以前cubemx工程文件(*.ioc文件)?

    请教: STM32cubeideSTM32CubeMX+编译器的整合版本 为了缩减开发时间,想直接打开原来cubemx的项目。 请教:STM32cubeide如何能打开以前cubemx工程文件(*.ioc文件)
    发表于 04-16 08:03

    STM32CubeIDE如何调试中修改变量值?

    使用STM32CubeIDE中发现调试部分功能不能满足。目前调试中最不方便的就是,不断点,在运行状态时,不能实时修改全局变量值。 但是目前没法找到该功能,最多只有live expression,只能看不能改。 而keilMDK
    发表于 04-15 06:44

    stm32CubeIDE如何能生成Lib?

    请问stm32CubeIDE如何能生成 Lib?
    发表于 04-12 07:57

    请问如何把keil工程导入Stm32CubeIDE ?

    如何把keil工程导入Stm32CubeIDE ?
    发表于 04-09 08:30

    STM32CUBEIDE软件生成工程怎么使用CCRAM型号?

    求助STM32CUBEIDE软件生成工程怎么使用CCRAM 型号:STM32G474VE
    发表于 04-08 08:20

    STM32CubeMX生成stm32cubeide工程报错的原因?怎么解决?

    使用STM32CubeMX,建立了STM32F103VC的工程文件,能够生成IAR工程,正常使用没有问题。由于IAR调试时老是闪退,想换STM32CubeIDE用用,安装了最新的1.42版本。但就是
    发表于 04-07 07:14

    请问STM32CubeIDE如何查看代码总行数?

    近期填写资料,需要写当前项目源代码总行数,使用的STM32CubeIDE开发的,想请教一下,这个IDE怎么看代码的总行数?
    发表于 03-28 07:07

    请问在STM32CubeIDE如何嵌入汇编语言代码?

    STM32CubeIDE如何嵌入汇编语言代码??
    发表于 03-25 06:56

    STM32CUBEIDE无法直接下载package包怎么解决?

    STM32CUBEIDE无法直接下载package包
    发表于 03-11 07:38