STM32CubeIDE Jlink和SWV调试关键设置
上下文说明使用STM32CubeIDE创建一个基于STM32Cube库的PRJ,那么,就会有一个名为xxx.ioc的可视化配置STM32的文件被创建,下文中的ioc指的就是STM32CubeIDE中自动调用STM32CubeMX打开的ioc,我们会在该可视化配置文件中对MCU进行配置,以提高开发效率。ioc的脚位设置Pinout&Configuration > System C...
上下文说明
使用STM32CubeIDE创建一个基于STM32Cube库的项目,那么,就会有一个名为xxx.ioc的STM32可视化配置文件被创建,下文中的ioc指的就是STM32CubeIDE中自动调用STM32CubeMX打开的ioc,我们会在该可视化配置文件中对MCU进行配置,以提高开发效率。
ioc的脚位设置
Pinout&Configuration > System Core > SYS
ioc的时钟设置
记住 Clock Configuration > FCLK Cortex clock(MHz)的值,在设置调试时要用到,这里是96,如下图所示:
设置“项目”的属性中的Run/Debug Settings项
如果要使Debug支持多种调试器,比如Jlink、ST-LINK等,可为每种调试器创建一个“Run/Debug Configuration"。下面是创建Run/Debug Config的流程。
”
Main选项用默认的即可:
调试器的设置(非常重要
):
菜单上的Run中有跳到Run/Debug Settings的项
如下图所示,只要一次 Debug As,下次直接Debug(F11)即会一直使用Debug As指定的设置,除非你再Debug As其它的设置。
按下F11启动Debug时出现"Confirm Perspective Switch"时该如何选择。
加入代码以使SWV支持printf
新建一个c文件(swo_support_print.c),输入下面代码,并使STM32CubeIDE的PRJ包含该源文件。
#include "main.h" //解决ITM_SendChar()未定义的错误;直接包含core_cm7.h,会很多错误。
int _write(int file, char *ptr,int len)
{
int i = 0;
for(i=0;i<len;i++){
ITM_SendChar((*ptr++));
}
return len;
}
在Debug视图下设置支持SWV选项
首先按下F11开始Debug,然后暂停,按下图操作,以添加两个SWV窗口。
然后按下图所示设置SWV,再强调一次,要在Debug模式下才能设置。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)