STM32CubeIDE Jlink和SWV调试关键设置

2024-08-21 22:18

本文主要是介绍STM32CubeIDE Jlink和SWV调试关键设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上下文说明

使用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模式下才能设置。
在这里插入图片描述

这篇关于STM32CubeIDE Jlink和SWV调试关键设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1094435

相关文章

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设