ST - NUCLEO-H723ZG ITM不生效的问题

news2024/9/24 15:25:55

文章目录

    • ST - NUCLEO-H723ZG ITM不生效的问题
    • 概述
    • CubeMX配置点
    • END

ST - NUCLEO-H723ZG ITM不生效的问题

概述

在用NUCLEO-H723ZG官方板子做实验, 想用ITM打印一些调试信息出来. 不好使啊.
后来查问题, 发现 NUCLEO-H723ZG上的HSE, LSE的晶振无效, 等于是不能用外部的HSE, LSE, 只能用HSI, LSI.
要查看官方PDF版的原理图才准确, 看官方提供的PCB工程反而不准(可能是设计文件对应多个NUCLEO_144板子).
在这里插入图片描述
板子实际元件焊接情况如下:
在这里插入图片描述
X3是HSE, 因为没焊接, 所以HSE无效.
X2是LSE, 虽然焊接了, 但是X2的起振电容C71, C72都没有焊接, 所以LSE也无效.
用CubeIDE配置工程时, 要禁掉HSE/LSE, 使用HSI/LSI才行.

CubeMX配置点

选了NUCLEO-H723ZG, 会有提示, 是否按照默认参数配置, 选择是.
这样大部分外设都配好了(除了HSE, LSE配置的不对).

在这里插入图片描述

我的板子将按钮PC13的跳线(0R电阻)从SB51去掉, 焊到SB58上, 这样就相当于我有了手工控制的边沿触发的EXTI0.
将PA0配置为EXTI0, 生成外中断0处理程序.
在这里插入图片描述
在这里插入图片描述
在CubeMX中禁止掉HSE, LSE, 和官方板子实际情况相符合.
在这里插入图片描述
DEBUG选线打开SWO
在这里插入图片描述
时钟配置
当禁掉HSE, LSE后, 再进入时钟配置页, 会提示是否自动配置时种, 选择是.
这是配置的时钟, 并没有使用HSI, 需要自己改一下.
在这里插入图片描述
改成HSI为主时钟配置后, 可以看到注释中为64MHZ. 这个64MHZ的主时钟值要在MDK中配置SWO trace.
在这里插入图片描述
其实往下拉, 可以看到具体的trace时钟值, 和主时钟一样, 都是64MHZ.

在MDK中配置 ITM
在这里插入图片描述

看到禁止了HSE, LSE后, MDK中没有定义主时钟值, 但是这个值实际是有的, 是64MHZ
这里要勾上使用微库, 默认生成的工程没有.
为了调试时准确一些, 将代码优化等级改为O0, 不改也行.
在这里插入图片描述
选择调试器为STLINK(官方板子自带STLINKV3)
在这里插入图片描述
进入调试器设置后, DEBUG页不需要改.
在这里插入图片描述
Trace页如下:
在这里插入图片描述
填上主时钟值, 前面配置时钟时, 看到这个值为64
确定退出, MDK ITM配置已经改好.

在工程中添加ITM实现

/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "string.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include <stdio.h> // add .h for fputc
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
int fputc(int ch, FILE *f) {
  return (ITM_SendChar(ch)); // in fputc, call ITM_SendChar()
}
/* USER CODE END PD */

在主时钟配置后, 就可以调用printf

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();
	printf("test\r\n"); // must call printf() after SystemClock_Config()

单步调试时, 就可以在在MDKTrace窗口打印出ITM调试语句.
在这里插入图片描述
在这里插入图片描述

END

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何找到更多音视频开发学习资料和资源?

如果你对学习音视频开发感兴趣&#xff0c;以下是一些建议&#xff0c;可以帮助你获取更多相关的资料和资源&#xff1a; 在线学习平台&#xff1a;参考一些知名的在线学习平台&#xff0c;如Coursera、Udemy、edX等&#xff0c;搜索他们的课程目录&#xff0c;看是否有与音视频…

【SWAT水文模型】SWAT水文模型建立及应用第六期:SWAT模型率定(SWAT CUP)

SWAT模型率定&#xff08;SWAT CUP&#xff09; 1 准备工作2 水文模型率定&#xff08;SWAT CUP&#xff09;数据准备运行流程 参考 SWAT CUP的下载及安装参见另一博客-【SWAT水文模型】SWAT-CUP安装及使用 下面将具体介绍基于实测水文站数据进行水文模型的率定。 1 准备工作…

【Centos系统故障】虚拟机断电后centos7无法正常启动 XFS(sda3)

1. 背景&#xff1a; 虚拟机断电后centos7无法正常启动 XFS(sda3)&#xff0c;通常都是断电以及非法关机&#xff0c;杀掉虚拟机等突然中断系统的情况&#xff0c;会导致内存数据损坏&#xff0c;从而导致linux操作系统无法启动。 2. 解决办法&#xff1a; 清理掉内存数据&a…

windows10 安装wsl2+docker+php+nginx+mysql

第一步在windows10 上安装docker(可视化桌面) 第二步确定本地电脑开启虚拟化&#xff0c;同时确认下方图内容已经勾选 在cmd下使用命令&#xff1a;wsl --install 安装wsl2。因 wsl2 默认安装ubuntu系统。如果安装wsl2后没有安装ubuntu系统&#xff0c;则需要去谷歌商店里搜索…

AutoJs案例---登录界面

"ui";showLoginUI(); ui.statusBarColor("#000000") //顶部颜色为黑色//显示登录界面 function showLoginUI(){ui.layout(<frame><vertical h"auto" align"center" margin"0 50"><linear><text w"…

Nextcloud实现协同办公 -V2

V1在这里&#xff1a;https://blog.csdn.net/philosophyatmath/article/details/130594037。V2没有继续使用onlyoffice而是使用nextcloud office Nextcloud 安装 LAMP&#xff08;LinuxApacheMySQLPHP&#xff09;方式。局域网单机模式。 安装环境&#xff1a; OS:ubuntu 2…

【Redis】Redis配置以及常用命令

文章目录 一、关系型数据库 与 非关系型数据库1. 关系型数据库的概念2. 非关系型数据库的概念3. 关系型数据库和非关系型数据库区别3.1 数据存储方式不同3.2 扩展方式不同3.3 对事务性的支持不同 4. 非关系型数据库产生背景5. 总结5.1 两组区别5.2 创建实例过程 二、Redis 的概…

【玩转Linux操作】详细讲解Shell的判断,循环语句

&#x1f38a;专栏【玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;判断语句⭐单层if&#x1f388;示例 ⭐…

什么是动态住宅代理?

随着网络的迅速发展&#xff0c;许多人对代理IP已经有了比较深刻的认识&#xff0c;并且广泛地运用到了各自的业务中&#xff0c;尤其在跨境的相关业务中表现尤其卓越。对于代理IP的类别&#xff0c;也需要根据自己的业务类型具体选择最合适的&#xff0c;那么今天就给大家具体…

Redis之哨兵模式以及RedisTemplate的使用

Redis之哨兵模式 一 哨兵模式原理 说明&#xff1a; Sentinel具有三个作用&#xff1a;监控&#xff0c;故障转移和通知Sentinel如何判断Redis是否健康 ① 每隔1秒发送一次ping命令&#xff0c;如果超过一定时间没有响应则认为主观下线 ② 如果超过一半以上的sentinel认为实…

【软考网络管理员】2023年软考网管初级常见知识考点(25)- 网络地址转换NAT

涉及知识点 什么是NAT技术&#xff1f;静态网络地址转换&#xff0c;动态网络地址转换&#xff0c;基于端口的网络地址转换,NAPT的配置命令和动态NAT配置命令&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于…

Axure教程—下拉刷新

本文从元件的实现、交互的实现两个角度&#xff0c;拆解了APP顶部下拉刷新动效制作&#xff0c;并展示了相应的预览效果。 预览效果 预览地址&#xff1a;https://o95k8e.axshare.com 具体的实现方法 一、元件制作 拖入一个矩形元件&#xff0c;设置大小为375552&#xff0c…

Day41

思维导图 类和结构体的区别 1、结构体是一种值类型&#xff0c;类是引用类型。值类型用于存储数据的值&#xff0c;引用类型用于存储对实际数据的引用。即结构体就是当成值来使用的&#xff0c;类则通过引用来对实际数据操作。 2、结构使用栈存储&#xff08;Stack Allocation&…

最小化安装的Red Hat 9安装完Zabbix后没有中文字体报错解决

Redhat9最小化安装后&#xff0c;将 Zabbix 的界面设置为中文&#xff0c;但是系统提示你服务器上没有安装相应的语言包。这是因为 Zabbix 需要在服务器上安装相应的语言环境才能正常显示相应的语言。 报错提示&#xff1a; You are not able to choose some of the languages,…

MySQLSQL性能调优

1.对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断&#xff0c;否则将导致引擎放弃使用索引而进行全表扫描&#xff0c; Sql 代码 : select id from t wh…

直流无刷电机FOC控制算法 理论到实践 —— 实践

直流无刷电机FOC控制算法 理论到实践 —— 实践 文章目录 直流无刷电机FOC控制算法 理论到实践 —— 实践1. 前言2. FOC控制整体流程3. FOC实现3.1 定时器实现3.1.1 代码实现 3.2 角度识别3.2.1 机械角度计算3.2.2 电角度计算3.2.3 代码实现 3.3 角度识别初步验证3.4 电流采集3…

【八股】【C++】STL

这里写目录标题 STL定义两大特点两个层次STL构成 容器容器概念容器分类vectorvector概念vector数据结构常用操作 dequestack常用操作 queuelistlist概念常用操作list优势 set 与 multiset容器概念基本函数 set遍历multiset unordered_setmap/multimap容器概念基本函数multimap …

Ubuntu现可用于AMD-Xilinx Versal AI Core系列VCK190评估套件

导读Canonical宣布&#xff0c;其广泛使用的Ubuntu Linux操作系统现在可以用于AMD-Xilinx Versal AI Core系列VCK190评估套件。 Versal VCK190是AMD-Xilinx推出的首款Versal AI Core系列评估套件&#xff0c;旨在让设计人员利用AI和DSP引擎开发解决方案&#xff0c;与市场上任何…

绿建中的太阳辐射反射系数

降低室外热岛强度是绿建主要控制指标之一&#xff0c;在《绿色建筑评价标准》GB/T 50378-2019中&#xff0c;针对降低热岛强度提出了两条基本措施&#xff0c;一是强调乔木、构筑物等遮阴措施&#xff0c;二是要求控制路面、屋面的太阳辐射反射系数不小于0.4。实际在绿建设计和…

kafka安装(包含Zookeeper 安装)

kafka 依赖于 Zookeeper 1. Zookeeper 本地模式安装 修改配置文件 解压后的目录中的 conf 路径下&#xff0c;将文件 zoo_sample.cfg 修改为 zoo.cfg。 mv zoo_sample.cfg zoo.cfg打开 zoo.cfg 文件&#xff0c;修改 dataDir 路径。 dataDir 路径 默认在 /tmp 下&#xff0…