自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (13)
  • 收藏
  • 关注

原创 STM32N6 平台如何使用 MCO2 输出 Clock

STM32N6 是 ST 第一款带 NPU 的基于 Cortex-M55 内核的 MCU,在 STM32N6 开发过程中,有客户遇到 MCO2 无输出问题,他们使用 24MHz 外部晶振,使用 RCC HAL API HAL_RCC_MCOConfig 设置 MCO2 输出,参数选择 RCC_MCO2, RCC_MCO2SOURCE_HSE, RCC_MCODIV_1,期待获得 24MHz 输出波形,但 MCO2 管脚一直没有输出。这里,我们发现 MCO2 (PC9) 管脚是由 VDDIO4 独立供电的。

2025-04-17 14:00:10 706

原创 STM32CubeIDE 实用技巧之条件断点的妙用

在嵌入式项目中,我们经常会碰到各种各样的异常和故障,比如客户说,某个问题可能需要一天,一周,甚至以月为周期才能复现一次问题。诸如此类问题,着实令工程师苦恼,因为很难去捕获信息来分析和复现问题,这里给大家分享一些我的经验和技巧。

2025-04-17 09:40:39 1346 1

原创 两个 STM32G0 I2C 通信异常的案例分析

后面让客户用示波器抓取 SCL 波形,并且建议在 I2C GPIO 配置为开漏模式时测量上升沿上升的时间,如下图三,在上拉电阻为 4.7K 时,Rise time 是 180ns 左右,符合规格书要求。但问题是功耗变大,客户不接受改小上拉电阻。如上图寄存器状态看,确实是发生了 BERR 错误,并且示波器抓的图形看,发现最后一个NACK 的上升沿变化时,SCL 看起来是为高的。进一步的分析是看谁把 SDA 的电平拉低,建议客户在 SCL,SDA 线路接电阻测量出问题时,I2C 主从两端的电压变化。

2025-04-16 11:42:54 2082

原创 Cortex-M核除0操作的报错机制话题

除 0 操作属于错误操作,在 ARM Cortex M 平台上会有相应的报错机制。但这边会涉及到整型数的除 0 以及浮点数的除 0,另外还会涉及错误产生后的报错机制,是中断还是错误位,本文会对这个报错机制加以说明。使用 STM32H723 做为测试芯片。

2025-04-16 11:08:55 338

原创 如何通过DMA配合CRC功能

STM32 的 CRC 外设是用来实现 CRC 计算的硬件单元,硬件实现 CRC 计算相对于软件算法实现来说,可以大大提高运算速度。CRC 计算单元具有单个 32 位读/写数据寄存器(CRC_DR)。它用于输入新数据(写访问)并保存以前的 CRC 计算结果(读访问)。当 DMA用作数据传输处理器时,可以极大地减轻 CPU 负荷。本文以 STM32G474 为例,介绍如何通过 DMA 配合 CRC 计算,以供读者参考。

2025-04-15 14:13:00 1199

原创 STM32C0 HAL 库的 SPI 驱动导致的 Hardfault 问题分析

在项目开发中使用 STM32C071 作为主控 MCU,驱动代码使用了版本STM32Cube_FW_C0_V1.2.0,应用程序调用 SPI HAL API 与 NFC 模块通信,SPI 工作在Master 模式,调用 HAL_SPI_Transmit 函数发送数据的时候,出现 Hardfault 现象,同时客户反馈同样的应用程序代码在 STM32G0 平台上,没有出现类似的问题,客户不得其解。根据客户反馈的现象,本文分析其原因以及解决方法。

2025-04-15 08:40:25 799

原创 SPI 传输长度超过 1024 时出现异常的问题分析

使用 STM32U595QII6Q 开发产品时发现,使用该芯片的 SPI3 与对方通信时,如果发送的数据超过 1024 字节时,SPI3 作为主设备,使用 HAL 库的 SPI 相关发送函数,发送完成回调函数不会执行。因为依据手册,对于 SPI3,最大支持的长度为 1023 字节,而 1024 字节超过了最大长度,因此设置失败。单步调试发现,在函数 HAL_SPI_TransmitReceive_DMA,执行以下代码片段时,修改 CR2 寄存器失败,因此 CR2 的值一直未 0。

2025-04-14 13:50:52 474

原创 STM32G0 单线串口通信帧错误问题解析

所以在这个单线串口的设计中,STM32G0 要保持和 STM32L433 的配置一致,也就是上面提到的 GPIO 下拉,TX,RX 通过软件切换并且 TX,RX 电平反向。客户的答复是这是保留上一代产品的设计,新一代的产品设计只是因为成本,将两颗 MCU中的一颗 MCU 更换为了 STM32G0,而原来 STM32L433 上的软件是不能更改的。对于客户奇怪的单线串口设计,我们首先的疑问是为什么不直接使用参考手册提供的现成的单线串口半双工通信方法,而是要自己去实现一套软件切 TX,RX 的单线半双工通信。

2025-04-14 13:39:27 1367

原创 高精度定时器如何实现 PWM 零满占空比的连续切换

在《高精度定时器如何输出零占空比与满占空比 PWM 波形》一文中,我们分享了在高精度定时器中 PWM 输出零占空比和满占空比的方法,但是在实际的应用中还会存在零占空比和满占空比连续切换的情况,在原有的 PWM 发波方式上,若是采样 up-down count 模式的话要实现这种连续切换会存在一些问题,本文将分析相关问题,并给出更加合适的方案来实现 PWM 零-满占空比的连续切换。

2025-04-11 09:02:58 1003

原创 在 STM32 中实现电机测速的方法介绍

在电机控制类应用中,经常会需要对电机转速进行检测,测速常用的方式有 M 法测速和 T法测速。M 法测速是利用在规定时间 Ts 内编码器输出脉冲数量 M1 计算电机转速,如下图所示,信号 A 和 B 为正交编码器的输出信号,C 解码后的计数脉冲(4x)。单位时间(1s)内编码器输出脉冲数量,即脉冲频率:𝑓𝑐 = 𝑀1⁄𝑇𝑠假设电机每旋转一圈正交编码器(4x)的输出脉冲数量为 Z,则电机转速为:r/min 代表圈/分钟。

2025-04-11 08:53:40 2106

原创 奇怪的 NRST 管脚异常复位问题

MCU 内部是远比 MCU 外部电路更复杂的微电子电路,内部线路间距小,不同功能间可能只是由电子开关或多路复用器做选择,当高频干扰进入 MCU 后,干扰可以在看似不直接相连的电路间耦合而影响 MCU 的正常工作。重要的是避免干扰进入 MCU。在排查干扰传递的路径时,不要将目光局限于直接相连的电路或管脚。

2024-04-19 15:48:34 1882

原创 简谈 BlueNRG-LP 和-LPS 的代码空间优化

Linker 中可定义一些宏、用于指定链接脚本文件所需的配置。这些宏定义不作用于.c文件或者.h文件,只作用于链接文件(.icf 或者.sct 或者 *.ld)。SDK 中默认提供了 4 种默认配置的协议栈加一种自定义的协议栈配置(BLE_STACK_CUSTOM_CONF),如下图所示。上述 5 种不同协议栈的配置,本质上就是通过使用宏控制不同的特性功能是否打开。只是前面 4种提供了默认便捷的设置,而最后一种可以进行细粒度更细的自定义的协议栈。

2024-04-19 14:44:51 1194

原创 关于蓝牙连接参数更新进程后导致断连的问题分析

通常客户在做低功耗蓝牙模块设计的时候,如果蓝牙模块在实际使用场景中和手持移动设备(如手机等)绑定使用的话,往往会非常注意蓝牙模块与不同品牌、不同型号的手机的兼容性测试。这些测试项目可能包括长时间连接状态的保持,频繁建立连接,或主动断连后再次建立连接等场景。

2024-04-18 16:20:50 1161

原创 BlueNRG-X 原理图参数说明

为了让客户在原理图设计阶段少走弯路,我这里结合客户评估和设计阶段常遇到的问题,整理了一下 BlueNRG-1/-2 相关设计及注意事项以备客户解惑用。

2024-04-18 16:12:00 1141

原创 STM32芯片软复位导致SRAM2的值被擦除话题

客户在使用 STM32L433CCY6 开发过程中,出现软件复位后 SRAM2 里的值被擦除问题。

2024-04-16 14:05:49 1243

原创 程序运行在 STM32H750 的外扩 FLASH 上两小时后死机

客户使用 STM32H750VBT6,通过 QSPI 外扩了一个 4M 的 NOR FLASH,采用memory map 模式。当程序跳转运行到外设 FLASH 后,大约两个小时后程序死机。客户使用的 IDE 是 KEIL,此问题可以固定重现。在 KEIL 调试模式下重现问题时,通过多次观察发现,程序死的位置总体上会停在两个位置,并不是同一个位置。一个是 TIM15函数的入口;另一个是进入中断函数后的一个赋值语句。

2024-04-16 09:01:39 2120

原创 STM32 SPI NSS 功能的灵活应用案例

某客户开发一款高精度工业测量仪器,打算使用 STM32H7+外置高精度 ADC 采样的分离方案来实现。客户选取了一款所属行业内比较通用的 ADC 采样芯片。在读取该 ADC芯片手册后,客户发现该款 ADC 采样芯片使用 MCU 标准 SPI 与之通信存在问题,手册里面也推荐使用 DSP/FPGA 的来实现,客户一下就犯难了。为了降低成本和开发周期,客户想使用 MCU 来替代 DSP/FPGA 与 ADC 采样芯片的高速通信。

2024-04-15 11:36:55 1262

原创 通过 LSE 校准 HSI 偏差大的问题解决

某客户使用 STM8AL 时,由于设计限制需使用 HSI 作为系统时钟。为减小 HSI 偏差,使用 LSE 对其进行校准。小批量试产发现 3%左右产品校准后频率和 16MHz 偏差较大。

2024-04-15 11:26:10 859

原创 如何理解 RAMECC FAR 寄存器的值

某客户测试 STM32H753xi 板子上的 ECC 功能,用于监控 AXI-SRAM 区域,但不是很明白 RAMECC FAR 寄存器在 RM0433 中的描述, “Bits 31:0 FADD[31:0]: ECC error failing address”。比如在 AXI-SRAM 中,如果客户示例显示的是 FAR = 0x2004,但是这个地址值 0x2004 并不在 AXI-SRAM 范围之内,客户该如何理解 FAR 寄存器?

2024-04-13 14:22:22 1040

原创 关闭 SPI 会导致 WRPERR 错误的问题分析

在 STM32 的应用中,SPI 算是用的比较多的外设了,也是单片机最常见外设之一。客户说它执行了关闭 SPI 的代码,竟然会导致 Flash 中的 WRPERR 标志置位,致使应用碰到一些问题。这就奇怪了,SPI 和内部 Flash 看起来是风马牛不相及的事情,为什么会发生这种事呢?一起来看看吧。

2024-04-13 14:01:52 1228

原创 高精度定时器中 single-shot 计数模式不工作

客户使用 STM32G474 的高精度定时器,基于 CubeMX 进行外设配置与代码生成,将某个子定时器的计数方式设置为 retriggerable single shot 方式,发现该子定时器无 PWM 输出,在调试模式下发现该子定时器的计数器一直为 0,即计数器一直没有启动,但如果将计数方式修改为continuous 模式,其他保持不变,定时器工作正常。

2024-04-12 20:04:09 1056

原创 STM32 DCMI 的带宽与性能介绍

随着市场对更高图像质量的需求不断增加,成像技术持续发展,各种新兴技术(例如3D、计算、运动和红外线)的不断涌现。如今的成像应用对高质量、易用性、能耗效率、高集成度、快速上市和成本效益提出了全面要求。为了满足这些要求,STM32 MCU 内置的数字照相机接口(DCMI),能够高效连接并行照相机模块。对于使用 STM32 DCMI 开发相机应用的客户,经常有以下问题:STM32 DCMI 最大支持的像素时钟是多少?STM32F4/F7/H7/U5 能支持 1280×720 的相机分辨率吗?最大的帧率是多少?

2024-04-12 18:27:50 1715

原创 在 Keil 中使用 STM32CubeProgrammer

STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译甚至调试,但没法直接在 Keil 环境中对新产品进行下载。

2024-04-12 11:20:47 1229

原创 TouchGFX 控件附加 ClickListener 功能的方法介绍

模板一般分为函数模板和类模板。函数模板我们这里不做赘述,重点关注 TouchGFX Mixins 类模板。TouchGFX 的 Mixins 类模板用于拓展控件的功能,目前 TouchGFX v4.20.0 中有四个 Mixin 功能,分别是 Draggable、ClickListener、FadeAnimator 和MoveAnimator,分别为控件增添相关功能。如图 1 (TouchGFX Designer Mixins 功能)所示,本文主要针对 ClickListener 做具体介绍。

2024-04-12 09:21:55 937

原创 使用 NANOEDGE.AI 工具完成人体姿态识别应用

NanoEdge™ AI 库是 Cartesiam 推出的人工智能静态库,它可以帮助客户直接生成可以运行在嵌入式 Arm Cortex 处理器上的.a 静态库文件。2021 年 ST 收购 Cartesiam,完善了 ST 在 AI 领域的生态,大大降低了客户使用 STM32 开发 AI 应用的难度。通过使用 NanoEdge AI Studio,用户只需要了解基本的 AI 概念,并提供相应的数据,便可以从众多 AI 算法库中智能搜索和生成出最符合用户应用的算法。

2024-04-11 11:13:24 2335 1

原创 通过 KEIL 制作 QSPI 接口的外部 Flash 下载算法

随着用户的应用越来越复杂以及 GUI 等需要大存储空间的需求越来越多,很多时候我们需要将代码或数据放在外扩的 Flash 存储空间。但是这样存在一个外部 Flash 烧写的问题,尤其是在应用调试时,需要将代码或数据烧录到外部 Flash。如果调试工具不能够一键烧录,势必会给调试带来诸多的麻烦。本文以 STM32H750 芯片为例,介绍通过 KEIL制作 QSPI 接口的外部 Flash 下载算法的方法。

2024-04-11 08:43:47 1901

原创 BlueNRG系列芯片Flash操作与BLE事件的互斥处理

在许多基于 BlueNRG-1/2 系列芯片的低功耗蓝牙的设计项目时,客户通常会在 Flash的特定区域存储定制的数据。然而需要特别注意的是,在 BlueNRG-1/2 方案中,用户对Flash 的读写操作必须在射频空闲的情况下进行,两者是互斥的关系。

2024-04-10 14:31:22 1390

原创 Arm-v7-M 架构的 STM32 如何启用 DWT 计数

客户在使用 STM32H7 的时候,想要使用 DWT 计数来测量代码执行时间,评估执行效率。客户发现在重新上电或 reset 后,无法启用 DWT 进行计数。

2024-04-10 13:42:30 563

原创 如何选择和设置外部晶体适配 BlueNRG-X

鉴于经常有客户对如何选择外部低速晶体,如何测试外部 32khz 时钟,如何直接使用外部32khz 信号源 以及 如何选择外部高速晶体,如何测试和校准频偏存在诸多困惑,我整理了该文档以备解惑用。

2024-04-09 09:14:43 1037

原创 关于 BlueNRG-2 在低功耗模式下的端口保持

BlueNRG-2 作为一款高性能低成本的低功耗蓝牙 SoC 解决方案,实现了在有限的资源下兼容蓝牙 5.2 协议的功能。客户在使用 BlueNRG-2 芯片设计产品时,通常会将其当作方案中的主控芯片来用,控制外围器件,最常见的应用就是使用 GPIO 输出高低电平控制外部器件或作为某些器件的开关使能信号,本文讨论下 BlueNRG-2 在低功耗模式下,客户关于 GPIO 口使用上的一些常见问题。

2024-04-09 09:13:59 774

原创 BlueNRG-X 如何实现外部天线和 PA 的控制

BlueNRG-1 提供了 ANATEST1(用于 QFN32 封装(PIN 14)和 WCSP34 封装(PIN D4)), 它可以提醒未来的发送或接收事件。对于其它GPIO 的使用,在原理图设计阶段也需要关注表中在低功耗模式下的默认值。关于外加 PA 的实现,本文以 RFX2401C 和 RT201 为例进行硬件和软件配置的说明;关于 WIFI 和 BLE 共用一个天线,本文以 BlueNRG-1 为例进行硬件和软件配置的说明,希望通过以上的例子能够给客户在相关应用场景的设计提供一个参考。

2024-04-08 13:48:03 1696

原创 PWM 脉宽跟随方案介绍

数字电源产品在使用桥式电路拓扑或是多路交错控制中,有时会需要滞后臂的 PWM 脉宽严格跟随超前臂的 PWM 脉宽,或从路的 PWM 脉宽严格跟随主路的 PWM 脉宽,本文将介绍如何利用高精度定时器实现 PWM 输出脉宽跟随,一种使用 Push-pull + Balance Idle + Auto Enable 方式,一种是使用 Auto Delay 方式。

2024-04-08 09:13:52 1166

原创 S2-LP 的 FIFO 机制

众所周知,S2-LP 拥有两个数据 FIFO,一个用于数据传送,另外一个用于数据接收,它们各自的长度均为 128 字节。针对普通的小数据量而言,128 字节长度的 FIFO 基本上可以满足大部分应用。但是,随着应用越来越复杂以及对数据量的需求越来越大,128 字节就不够用了,此时就需要对 FIFO 进行管控,才能接收或者发送更多的数据。本文将详细介绍 S2-LP 针对大数量场景时的 FIFO 机制。

2024-04-07 14:28:03 1207

原创 基于 S2-LP 实现 802.15.4g 帧格式的数据透传

S2-LP 硬件上支持 802.15.4g 的帧格式,但是现有的 SDK 包并没有基于该帧格式的示例工程,因此本篇文章将介绍如何实现基于 802.15.4g 帧格式的数据透传。

2024-04-07 14:27:23 1185

原创 如何将普通应用更改为 OTA APP

BlueNRG-LP 方案中提供了 2 种 OTA 的软件框架,分别是 OTA Reset Manager 框架和OTA Service Manager 框架。不同框架下程序在 Flash 的分别位置和区域图 1 所示。图1. OTA 软件升级框架Reset Manager,负责程序的跳转,根据有效标志选择执行 Higher APP 还是 LowerAPP。Higher APP 和 Lower APP 是客户不同版本的应用程序,同一时间运行其后一个升级的版本。

2024-04-06 08:54:26 1060

原创 关于 STM32WL LSE 添加反馈电阻后无法起振问题

客户调试 STM32WLE5JB 样机的时候遇到这样一个问题:在调试 LPUART,不打开外部时钟的时候,能够正常打印,若开启外部的 HSE 和 LSE 后就没有打印。

2024-04-06 08:31:00 1009

原创 巧用 STM32CubeIDE 之编译警告

编译警告对于工程师们来说,是再常见不过的了。对于严谨的工程师们来说,任何warning 都是不可忽视的。

2024-04-06 08:23:11 1262

原创 AFCI 应用笔记三、使用 mlflow 管理模型

超参数的选择不是一件容易的事情,需要大量的实验以得到稳定可靠的结论。模型实验对数据的质量要求很高,稳定可靠的数据才能得到可靠的结论,否则实际部署会存在较大差异。从文中图中可以看到,不一定采样率越高越好,帧长越长越好,相反,较低的采样率和帧长可以大大节省 Flash 和 Ram 的空间,以及减少推断时间。目前测试进行的实验次数仍然较少,可能得到的结论不一定非常准确,本文中的实验全部使用了相同的数据集和相同的网络模型,以减少评估参数。客户可以根据实际需要,使用更多的模型,更多的测试参数进行实验。

2024-04-05 09:32:08 1552 1

原创 JDI LCD 驱动时序介绍

LCD 显示屏由一系列像素组成,通常以“行像素值 x 列像素值”表示屏幕分辨率。比如320x240 表示此显示屏每行有 320 个像素点,每列有 240 个像素点。色深是指显示屏每个像素能表示多少种颜色,通常用位来表示。比如 16 位色深对应RGB565,每个像素颜色用 2 个字节来表示,其中 RGB565 称作色彩格式。RGB 接口屏通常支持 RGB565,RGB666,RGB888 等色彩格式,这些格式能显示的颜色种数较多,色彩丰富;

2024-04-05 09:08:23 1205 1

原创 AFCI 应用笔记二之数据采集

基于监督学习的神经网络算法需要大量数据作为输入,模型完全由数据驱动,其数据质量是算法有效的必要条件,所以如何高效的采集到数据,以及正确的标注或分析是极其重要的,如果第一步有问题,后续的所有工作都是徒劳。本文将介绍 PECC 的数据采集板,以及来自 GPM China 的数据采集工具,简单分析数据质量的一些方法,以及需要注意的一些事项

2024-04-05 08:58:49 1956 1

LAT1482 STM32G0单线串口通信帧错误问题解析

内容概要:该文档详细解析了STM32G0与STM32L433之间的单线串口通信过程中出现的帧错误问题。文章指出,主要问题是由于STM32G0的发送接收状态切换延迟,导致在STM32L433发送起始位时,STA32G0未能及时切换到接收状态,从而使得起始位电平被拉低到1.5V,引起帧错误。文中通过对比波形并深入分析,建议优化STM32G0侧的GPIO配置和调整TX发送完成后快速切换至RX状态的时机来解决问题,并建议使用DMA收发数据,最终成功解决了通信问题。此外,还强调了参考STM官方推荐方式的重要性。 适合人群:嵌入式系统的开发者和技术人员,特别是从事STM32系列MCU开发工作的相关人员。 使用场景及目标:当使用STM32G0与其他MCU间建立稳定可靠的单线串口半双工通信遇到困难时可以借鉴此文提供的分析方法及解决方案;目标是确保开发者掌握有效排查类似通信故障的方法。 其他说明:文中还提醒开发者尽量避免采用非标准协议自定义串口通信方式,建议优先使用官方提供的规范方法。

2025-03-04

LAT1492 TrustZone版的按键点灯程序下载调试

内容概要:文章主要阐述了带有 TrustZone 安全区与非安全区特性的STM32系列单片机上的LED控制案例——按键点灯实验的具体实践流程。内容围绕基于IAR调试器进行工程项目的选择设定、安全侧(H563TZ_LED_S)以及非安全侧(H563TZ_LED_NS)代码的分别编译和按正确顺序加载到设备的方法展开。此外还提及了如何通过在非安全区域加入安全侧 .out 文件并设置中断断点,来进行联合仿真的调试手段,最终实现了物理按钮操作来控制指示灯亮灭的功能演示。 适合人群:适用于刚开始接触 ARM Cortex M 架构的安全拓展组件——TrustZone 技术领域的开发人员和技术爱好者,特别是正在探索 STM32 系列处理器的安全特性以及希望通过实战项目提高嵌入式编程能力的学习者。 使用场景及目标:本文档可以帮助读者学会配置并利用 TrustZone 特性创建多分区应用程序、掌握正确使用主流开发套件如 IAR 进行复杂项目的构建技巧,从而更好地保障物联网节点或其他敏感应用的数据安全性。并且能够具体地实施基于TrustZone的交互式硬件实验。 其他说明:文中提供了详细的环境搭建指导以及

2025-03-04

LAT1495-一个TouchGFX图片压缩导致显示丢失的问题-v1.0

内容概要:本文详细介绍了 TouchGFX 图形库中的无损图片压缩技术及其应用,特别是当压缩技术导致图片在显示过程中丢失的现象。文章首先阐述了 TouchGFX 内置的四种降低 Flash 占用的方法——尤其是 L8 和 RGB 格式的压缩功能,讨论了每种压缩算法的特点、优势和劣势,随后针对一些控件无法正确显示已压缩的图片的问题进行了深入的故障排查,并最终找到了原因并提出了解决方案。同时,作者强调,尽管压缩图片减少了存储需求,但它也带来了额外的 CPU 开销。文中特别指出,像 TextureMapper 这样的特定控件不能与压缩图片兼容,这是很多用户误操作的地方,应该避免。 适用人群:嵌入式系统开发者、GUI 应用程序开发工程师,特别是那些致力于优化 STM32 设备 Flash 使用效率的人群。 使用场景及目标:①掌握如何利用 L8 或 RGB 图像压缩特性最小化嵌入式系统的 Flash 存储负担;②识别哪些 UI 控制不适合压缩的图像并避免不当的开发决策,预防可能出现的功能缺陷;③学会权衡压缩图像所带来的时间成本(CPU 工作负荷)和空间节约之间的关系。 其他说明:读者在实践过程中

2025-03-04

LAT1483 带TrustZone的按键点灯工程示例

内容概要:本文详细介绍了一项使用 TrustZone 技术完成的按键点灯实验。实验采用了一个基于 NUCLEO-H563ZI 开发板的项目,在实验中,通过外部中断触发安全与非安全环境之间的互动。TrustZone 是一种由硬件支持的安全技术,它将系统划分为安全区(Secure World)和非安全区(Non-Secure World),并定义了一些中间接口供两者交互。实验具体操作中,当按钮被按下并释放的时候,位于非安全区的部分程序通过特定的方式向安全区内发送指令翻转小灯光源。此外还涵盖了必要的前期准备工作,比如开发环境搭建、硬件准备和一些关键参数的设定。文中给出明确的操作流程,从创建工程项目直到最终测试,并附上了相关参考资料,方便读者更好地掌握知识点。 适用人群:具有一定嵌入式系统基础知识的专业技术人员,如嵌入式系统设计师、程序员或者想要深入学习 TrustZone 安全流程的学生。 使用场景及目标:本教程非常适合用来作为入门 TrustZone 和理解 ARM 平台上实现高效可靠安全性设计的教学材料;对于有兴趣了解如何运用这项先进技术来提升自身产品防护等级的人来说也是极好的指导读物。

2025-03-04

LAT1496 基于 USBD库CDC Standalone例程中的一个Bug解析

内容概要:本篇文章探讨了 STM32U5平台在开发基于ST_USBD_Library的CDC-Standalone虚拟串口程序期间遇到的一个严重Bug。文章介绍了从带有USB-PD协议支持的例子程序中分离出仅使用基本USB接口的功能时遇到的问题——在初始化设备USB并试图激活计时器中断以完成虚拟串口构建时,系统陷入了一个错误处理器(Error_Handler),进而停止响应。问题最终被定位到TIM3计时器配置代码中,对于同一中断事件意外触发了两次,导致HAL层拒绝进一步操作并回退错误。对此问题提出修正办法,即避免TIM3初始化阶段内的双重中断启动命令。此外讨论了为何原本含USB-PD部分的示例不会出现此类异常现象,解释涉及不同来源Error_Handler处理逻辑的不同。 适用人群:从事嵌入式开发、尤其关注STM32系列MCUs特别是STM32U5型号,且需要实现纯USB通信而不是扩展型USB Power Delivery标准的应用工程师和技术爱好者。 使用场景及目标:适用于希望通过去除USB-PD相关组件精简系统复杂度以及提高稳定性的情况。对于正在使用STM官方提供的USBD库来创建

2025-02-28

LAT1500 如何通过DMA配合CRC功能

内容概要:本文主要探讨了如何通过DMA与CRC模块配合使用,来提升STM32G4系列单片机的数据校验效率。具体步骤是从原理层面分析DMA和CRC工作的流程,论证两者的兼容性和高效协作的可能性。再进一步深入探讨具体的实施方法——如在STM32CubeMX里激活所需的外设,配置合适的参数(特别是选择Memory-to-memory模式而非传统依赖外部设备请求触发的DMA模式),并通过实验性的项目证明该配置的实际效益。 适用人群:对于想要深入了解ARM Cortex-M微控制器内部机制和优化应用程序性能的研发工程师或学生。 使用场景及目标:适用于需要对大量数据进行快速CRC检查而不占用过多CPU资源的情形;能够极大提高数据处理速率的目标在于加快校验过程,确保实时系统的响应及时可靠。 其他说明:文中还提供了详细的源码片段及预期测试结果对照表,可以帮助开发者更好地理解和实现这项技术;同时引用了一些官方参考手册如RM0440, ARM IHI 0033C等作为支撑材料,增加了理论依据的专业性。

2025-02-28

LAT1489 STM32N6平台STM32CubeIDE下printf IO重定向到SWV-ITM

内容概要:本篇文章主要讲解了如何在STM32CubeIDE开发环境中,将基于STM32N6平台(采用ARM Cortex-M55核心并集成NPU的新款MCU系列)的应用程序里的printf标准输出流重定位到串行追踪协议(SWV-ITM),从而便于调试工作的开展以及有效降低资源占用。文档指出了原生方法未生效的原因并且提供了具体实施代码段,同时阐述了包括初始化外设GPIO配置、调整Trace和Debug接口状态以及正确设定SWV核心时钟频率等一系列操作步骤。 适合人群:从事嵌入式系统设计的硬件工程师、固件开发人员或者是正在探索如何利用先进的Cortex M系列MCUs进行高效程序调试的技术爱好者。 使用场景及目标:当面对复杂的项目调试需求或是受限的工作环境中缺乏足够的通信接口用于输出调试消息时,可以通过学习本文介绍的方法轻松构建一个低侵入性的实时诊断工具,提高开发效率并优化最终产品的性能。 其他说明:请注意文中所提供的解决方案不仅适用于STM32N6平台,而且对于其他支持相同调试特性的STM32系列微控制器也可能具备一定的参考价值。

2025-02-28

LAT1500 如何通过DMA使用CRC-SP-v1.0

STM32 的 CRC 外设是用来实现 CRC 计算的硬件单元,硬件实现 CRC 计算相对于软件算法实现来说,可以大大提高运算速度。CRC 计算单元具有单个 32 位读/写数据寄存器 (CRC_DR)。它用于输入新数据(写访问)并保存以前的 CRC 计算结果(读访问)。当 DMA用作数据传输处理器时,可以极大地减轻 CPU 负荷。以 STM32G474 为例,介绍如何通过 DMA 配合 CRC 计算,以供读者参考。

2025-02-28

嵌入式开发:STM32N6平台MCO2输出故障排除与解决方案

内容概要:本文详细介绍了STM32N6平台上MCO2无波形输出的问题原因与解决方案。首先解释了MCO2使用的正确管脚及配置方法,随后深入分析客户无法从MCO2获得24MHz波形的原因在于未配置独立供电电压VDDIO4。通过对OTP设置HSLV_VDDIO4并使能相关电源管理模块解决了这个问题,使得MCO2能够成功输出预期频率波形。 适合人群:熟悉嵌入式系统的工程师以及使用STM32系列MCU特别是带有NPU特性的新机型进行硬件设计或软件编程的研发人员。 使用场景及目标:本文对于遇到类似MCO配置难题的研究员或者开发者来说是非常宝贵的参考资料。目的是帮助他们理解在配置外设时应注意哪些硬件级别的细节,尤其是涉及到特定功能模块(如MCO输出)、特殊配置选项(比如通过OTP位来开关额外供电源)的应用情景下应该如何排查并解决问题。 其他说明:此篇文章来源于官方技术支持文档的一部分,经过精简和提炼,提供了最直接有用的信息以辅助使用者理解和操作STM32N6系列处理器上的MCO2特性。

2025-02-28

LAT1491 STM32N6的FSBL基本流程介绍-v1.0

内容概要:文档介绍了 STM32N6 的启动过程以及 FSBL(First Stage Boot Loader)的具体使用方法。该芯片内置了一小段 BootROM 程序,在上电后首先执行 ROM 区域内的 BootROM 程序,再根据不同条件跳转到外部闪存或其他设备继续加载和执行主程序。启动模式分为 Dev boot 和 Flash boot / Serial boot。文档详细讲解了三种启动流程:仅启动 FSBL 加载器本身;FSBL 装载并运行应用程序(Load & Run);直接在外置储存装置里执行代码而不需要额外复制(Xip)。此外,还特别讲述了使用 ST 提供的 Signing Tool 对二进制镜像文件进行签名的方法,确保镜像安全合法地运行于硬件平台之上。为了方便开发者快速熟悉这套新体系,文档最后提供了完整的 IAR + STM32N6 DK板示例项目的开发教程,涵盖从项目创建到最终部署的一系列步骤,并附有注意事项提示。 适合人群:从事ARM架构MCU开发工作的程序员和技术爱好者;特别是希望了解 STM32 微控制器内部工作原理、掌握其特性和优化技巧的专业人士。 使用场景及

2025-02-28

LAT1490 两个STM32G0 I2C 通信异常的案例分析

内容概要:本文详细分析了两个STM32G0 MCU在高速400KHz I2C通信及复位后的异常情况。通过对波形抓取和寄存器检查等多种方法确认原因,并提出具体的优化建议。第一案例揭示LED驱动芯片进入低功耗模式时干扰通信链路;第二案例则聚焦复位后NACK信号的误判引起通讯中断的现象,通过调整超时机制解决问题。 适合人群:嵌入式系统工程师尤其是使用STM32系列单片机从事产品研发的硬件工程师和软件开发者。 使用场景及目标:主要适用于I2C总线的设计、故障排查与优化。帮助工程师深入了解I2C标准规范、熟悉I2C接口的工作特性及其常见故障成因,提升产品稳定性和可靠性。 阅读建议:对于正在解决类似I2C通信问题或即将开展相关工作的技术人员而言极具参考价值,建议重点研读具体案例部分,并配合逻辑分析仪器或示波器实践操作。

2025-02-28

LAT1485 STM32CubeIDE实用技巧之条件断点的妙用

内容概要:本文介绍了在STM32CubeIDE环境中运用条件断点和观察点进行复杂问题排查的方法。通过详细步骤展示了怎样设立带具体触发条件的断点,以捕捉低频发生的特定状态或事件,同时探讨了基于变化检测机制建立观察点,允许程序员聚焦于关键位置的数据改变。此外还提到了对于不具备即时连接调试设备环境的应用可以探索使用SWV,DWT等内置硬件特性或是STM32CubeMonitor这类辅助工具的可能性。 适合人群:从事嵌入式系统尤其是基于STM32平台开发的专业工程师和技术爱好者。 使用场景及目标:①用于那些不定期发生难以重现的问题分析,确保可以在特定条件下精确拦截并冻结执行流程;②通过设置数据变动监测点提高故障诊断效率;③了解除了标准IDE之外其它监控解决方案的功能范围。 阅读建议:该指南强调实战经验的积累,读者应当动手尝试配置各类形式的条件断点与观察点,并熟悉所在MCU架构下特有的调试资源以应对不同的挑战情境。由于文中涉及到的具体操作可能会随软件更新有所调整,因此建议定期关注官方文档和技术社区里的最新信息。

2025-02-28

嵌入式系统中TouchGFX平台FPS的计算方法详解及其实现

内容概要:本篇文章详细介绍了一种用于TouchGFX平台上计算每秒显示帧数(FPS)的技术手段。TouchGFX作为一个专注于高效图形用户体验的设计工具,在嵌入式设备如单片机STM32系列上有着广泛应用。文章首先概述了何为FPS以及它的重要性和一般性的实现逻辑,然后基于TouchGFX Designer给出的不同场景(如开启了帧补偿功能或关闭此选项),详细讲解了具体的代码片段并指出各自的限制所在。最后还提出了一些更为精确地计算FPS值的办法——通过外部设备逻辑分析仪监测GPIO状态的变化情况。 适用人群:正在使用或打算深入了解TouchGFX框架和希望提高其项目性能的开发者,尤其是那些关注视觉体验流畅度的研发工程师。 使用场景及目标:主要目的是为那些想要确保应用程序在各种环境下都能保持良好性能表现的人提供指导,同时帮助程序员解决遇到的具体技术挑战比如优化程序性能。 其他说明:文档强调了根据不同硬件配置调整相应参数以达到最接近真实的FPS评估结果的重要性。此外,文中提及的方法不仅可以应用于当前案例中,还可以推广到类似的实时操作系统RTOS环境中进行效率检测和其他指标衡量。对于追求高质量用

2025-02-28

嵌入式系统中利用Keil Linker自定义变量优化Flash全片自检配置

内容概要:本文详细解释了功能安全应用中Flash自检的重要性及其实现方式,特别是针对STM32平台。具体阐述了CRC算法用于ROM完整性检验的过程,并着重介绍了通过KEIL编译环境中的Linker自定义变量动态获取并计算ROM大小的方法,解决了传统手动配置方式的弊端。文档不仅涵盖了理论背景,还提供了具体的实现细节和技术指导,适用于希望提高系统可靠性的开发者。 适合人群:具备一定的嵌入式系统编程基础,尤其是在STM32平台上工作的工程师和技术人员。 使用场景及目标:当开发者面临复杂的Flash全片自检任务时,本文提供了一套高效、灵活的方法来确保Flash自检的有效性和准确性。同时,通过对Linker自定义变量的应用,减少人工干预带来的误差,提升系统的稳定性和安全性。 阅读建议:为了更好地理解和运用文中所述的技术手段,建议读者首先熟悉基本的功能安全概念和KEIL编译器的基本操作流程。其次,结合实际情况调整Scatter文件以适配不同的应用场景。最后,在实施过程中密切监控每一个环节,确保最终解决方案的成功落地。

2025-02-28

嵌入式开发:STM32U5 SPI3传输数据长度超1024异常现象及解决方案

内容概要:本文主要探讨在STM32U5系列MCU使用过程中遇到的一个特定硬件问题——当SPI3用于数据发送并超出1024字节时发生错误的现象。通过对比正常条件下(512字节)的状态机设置情况与故障状态的寄存器变化,以及对DMA模式下可能引起错误的原因深入剖析得出结论,指出是因为设置了循环模式并且尝试设定大于最大允许范围的TSIZE字段值引起的异常。最后给出了针对此类情况的应用层修正方法以避免类似问题再次出现。 适用人群:嵌入式系统的开发人员尤其是那些熟悉ARM架构下的STM32单片机操作的人群。 使用场景及目标:解决开发者使用STM32U5系列MCU中的SPI3接口时可能出现的数据发送错误。特别是希望优化或修复与STM32相关联的设计缺陷或者需要确保程序稳定性的工程师。 其他说明:建议关注官方发布的STM32相关手册和其他参考资料更新情况来获得最新技术支持;另外应注意所采用的具体型号是否同样存在这一漏洞并在必要的时候实施相应的措施防止出现同样的问题。

2025-02-28

嵌入式图形应用中TouchGFX图形渲染DCache未刷新导致花屏问题解析与解决方案

内容概要:本文深入探讨了嵌入式图形应用系统中TouchGFX图形渲染因未刷新数据缓存(DCache)而引起的花屏问题。文章首先介绍了使用DCache的优势以及可能存在的数据不一致问题,特别是在使用Cortex-M7处理器处理帧缓冲的情况下。随后,作者详细描述了配置帧缓冲区的不同模式(如WBWA),并指出配置为写回模式(WRITE-BACK WRITE & READ ALLOCATE)后,虽然提升了性能,但如果不及时刷新DCache则会引起花屏。最后提出了一种有效的解决办法——调用SCB_CleanInvalidateDCache函数确保数据的一致性。 适用人群:嵌入式系统开发者,尤其是从事基于STM32平台图形界面应用开发的专业人士。 使用场景及目标:①了解图形渲染过程与CPU缓存机制之间的关系;②掌握配置DCache的方法,并学会如何有效避免由此产生的显示异常;③理解多主控环境下共享内存区的潜在冲突。 其他说明:文章还引用了官方手册AN4861和PM0253作为参考,为读者提供权威性的指导材料。同时强调了在多个主体共享相同内存区域的应用场合下应注意相同类型的问题。

2025-02-28

嵌入式开发:STM32MP13x系列MPU裸金属编程环境搭建与应用

内容概要:本指南介绍了在 STM32MP13x系列 MPU上进行裸金属(baremetal)开发的方法和步骤。涵盖了开发环境搭建,包括必备工具如 STM32CubeProg 和 STM32CubeMX,以及开发调试工具如 IAR 和 STM32CubeIDE。此外,还涉及具体的工程创建方法,从 STM32CubeMX 配置和生成框架代码到导入现有的示例工程,以及详细的在线调试和镜像烧录过程。特别是对于从外部Flash启动的支持,文档详述了必要的预处理步骤,确保成功引导启动用户应用程序。 适合人群:具备一定嵌入式系统和 C 编程基础知识的开发者,尤其关注 ARM 架构和 STM32MP13x系列芯片的学习与应用的专业人士。 使用场景及目标:①为想要深入了解低层级编程和优化性能的用户提供指导;②帮助希望减少操作系统依赖,提高实时性和资源利用率的研发团队。 其他说明:本文档假设读者对ARM架构有一定的理解,并熟悉使用基本的开发工具链。建议在实际动手前先阅读STM32MP13系列的数据手册和其他相关资源以加深理解。

2025-02-07

ARM Cortex-M平台整型及浮点数除零报错机制详解

内容概要:本文详细阐述了在 ARM Cortex-M 平台上,特别是基于 STM32H723 芯片的整型和浮点数除零操作的报错机制。对于整型除零,默认情况下并不会引发错误报告,需要通过设置 SCB->CCR 寄存器中的特定位来捕获除零错误,进而触发硬故障中断并标记错误。而浮点数除零无法直接通过中断报告,必须通过检测 FPU 单元的状态寄存器 (FPSCR) 来判断错误发生。 适用人群:适用于嵌入式系统开发者,尤其是熟悉 STM32H723 或 ARM 架构的技术人员。 使用场景及目标:① 在项目开发初期了解各种类型数据的异常处理方式;② 排查由除零错误引起的硬件或软件故障。 其他说明:文档指出,在使用如 Keil 和 IAR 不同工具链时可能会有不同的调试体验,强调了实际编程中避免除零运算的重要性。

2025-02-07

RM0456 STM32U5系列基于Arm内核的32位MCU.pdf

本参考手册面向应用开发人员,提供有关如何使用 STM32U5 系列 微控制器的存储器和外设的完整信息。

2024-12-23

PM0269 低功耗蓝牙协议栈 v3.x 编程指南

本文档旨在为开发人员提供相关参考编程指南,用于说明如何使用 BLE 协议栈 v3.x 系列 API 和相关事件回调开发低功耗蓝牙(BLE)应用。

2024-12-23

02STM32C0拓展入门级MCU产品

内容概要:本文介绍了意法半导体(ST)推出的STM32C0系列入门级32位微控制器(MCU),作为STM32产品组合中高性价比的新成员,该系列产品基于Arm Cortex-M0+内核,主频最高48MHz,采用与STM32G0相同的90nm工艺,具备管脚兼容性,便于客户从现有平台轻松迁移。STM32C0系列强调低成本、高集成度和低功耗特性,内置1%精度高速RC振荡器、单一电源引脚设计、多种低功耗模式(如STOP模式80μA,待机模式8μA),并提供丰富的封装选择(最小为WLCSP12,仅1.42×2.08mm)。产品覆盖从8到64引脚的不同型号,片上集成ADC、定时器、USART、SPI、I²C等外设,部分型号支持USB和FDCAN,适用于消费电子、工业控制和智能家居等领域。同时,该系列获得STM32Cube生态系统全面支持,包括STM32CubeMX配置工具、STM32CubProg编程工具以及TouchGFX图形开发支持,助力快速开发。; 适合人群:嵌入式系统工程师、硬件开发者、电子爱好者及从事消费类电子、工业控制产品开发的技术人员,尤其适合需要从8/16位MCU升级至32位平台的设计人员。; 使用场景及目标:①替代传统8/16位MCU实现更高性能与更强功能;②用于烟感、家电、电子烟、泵阀控制等对成本敏感但需提升智能化水平的产品;③借助STM32生态工具快速实现原型开发与图形界面设计; 阅读建议:建议结合STM32CubeMX工具进行外设配置实践,参考官方开发板(如NUCLEO-C071RB)和TouchGFX方案开展实际项目验证,充分利用ST提供的中文技术支持资源与在线社区获取帮助。

2025-10-20

LAT6032 一小时在STM32MPU上运行YOLOv8-训练篇-v1.0

内容概要:本文详细介绍了如何在1小时内快速完成基于STM32MPU平台的YOLOv8目标检测模型的训练过程。整个流程围绕AI应用开发的训练端展开,涵盖环境搭建、模型训练、结果分析与模型导出四大核心环节。训练在Ubuntu 22.04系统上进行,通过Anaconda创建Python虚拟环境,安装Ultralytics库及TensorFlow、ONNXRUNTIME等相关依赖,使用COCO128数据集或自定义数据集进行YOLOv8模型训练,并通过可视化结果(如训练/验证效果图、混淆矩阵、PR曲线等)评估模型性能。最终将训练好的模型导出为TFLite或ONNX格式,为后续在STM32MPU上的部署做准备。; 适合人群:具备一定Python和深度学习基础,从事嵌入式AI开发或计算机视觉应用的研发人员,尤其是初学者和希望快速上手机器学习模型训练的工程师。; 使用场景及目标:①掌握在PC端搭建YOLOv8训练环境的方法;②理解模型训练过程中的关键步骤与评估指标;③实现模型导出并为后续嵌入式部署(如STM32MPU)提供输入; 阅读建议:建议读者按照文档顺序逐步操作,重点关注环境配置细节、训练参数设置与结果分析方法,结合实际数据集进行实践,并注意模型导出格式与目标硬件平台的兼容性。

2025-10-20

ST最新白皮书拆解汽车电子EMI合规关键

内容概要:本文深入探讨了电磁干扰(EMI)及其在汽车电子系统中的影响,重点分析了智能电源开关(IPS)面临的EMI挑战及应对策略。文章详细介绍了EMI的内外部来源,如开关瞬态、寄生元件和射频信号,并强调遵循CISPR 25等国际标准的重要性。针对低频和高频EMI,提出通过控制开关斜率和实施时钟抖动等关键技术进行抑制。文中重点介绍ST的VNF9Q20F四通道高侧驱动器,该器件集成先进EMI控制功能,支持可编程电流阈值、实时诊断与故障检测,符合ISO 26262功能安全标准,有效提升系统安全性与能效。同时,配套开发工具如评估板、TwisterSIM仿真器和图形化软件助力快速原型设计与合规验证。; 适合人群:从事汽车电子、电力电子系统设计的工程师,具备一定EMC基础知识的研发技术人员; 使用场景及目标:①指导汽车电子系统中EMI合规设计,优化智能电源开关性能;②帮助工程师理解并应用CISPR 25标准,实现低噪声、高可靠性的电源管理方案;③支持功能安全合规开发,提升系统安全性与市场竞争力; 阅读建议:建议结合ST提供的评估板与仿真工具实践文中所述技术,重点关注开关斜率调节与时钟抖动设置对EMI的实际影响,并参考配套资源深化对智能熔断器与诊断功能的理解。

2025-10-20

STM32U3进阶的超低功耗 MCU

内容概要:本文介绍了意法半导体推出的STM32U3系列超低功耗微控制器,重点突出其在能效、安全性和集成外设方面的先进特性。该系列基于近阈值技术和自适应电压调节(AVS),实现高达117 CoreMark/mW的能效表现,显著优于前代产品和竞争对手,在运行模式下功耗极低,适用于电池供电的长期运行设备。STM32U3具备强大的安全机制,包括Arm TrustZone、硬件加密、安全启动、唯一密钥(HUK)和抗侧信道攻击能力,满足PSA Level 3和SESIP3认证目标。芯片集成丰富外设如I3C、FDCAN、USB、OctoSPI及高精度模拟模块,并提供多种小型封装选项,支持与STM32U5引脚兼容,便于设计升级。; 适合人群:从事低功耗嵌入式系统开发的工程师、硬件设计师及物联网终端产品研发人员,尤其适用于有工业、智能计量、医疗和消费类电子产品开发经验的技术人员。; 使用场景及目标:①用于开发需要超长电池寿命的设备,如智能水气表、医疗穿戴设备、资产追踪器等;②实现高安全性要求的应用,防范克隆与数据泄露;③简化PCB设计并提升系统集成度,缩短产品上市周期; 阅读建议:建议结合STM32CubeU3开发工具包、NUCLEO评估板及相关应用笔记(如AN6195功耗优化指南)进行实践,深入理解其低功耗模式配置、安全功能初始化及外设驱动开发流程。

2025-10-20

LAT1522 STM32U5周期性异常复位问题分析-v1.0

内容概要:本文分析了STM32U5系列MCU在无固件或烧录程序后出现周期性异常复位的问题。通过硬件检查、波形测试和寄存器分析,定位问题原因为Option Bytes中独立看门狗(IWDG)被意外启用,且处于硬件模式,导致系统在未喂狗情况下持续触发看门狗复位。即使芯片为空片状态,该机制仍生效,造成周期性复位现象。最终通过STM32CubeProgrammer工具读取并恢复Option Bytes出厂设置解决了问题。; 适合人群:嵌入式系统工程师、STM32开发者、FAE技术支持人员以及从事MCU底层开发的技术人员;具备一定STM32开发经验,熟悉调试工具和寄存器操作的用户更为适合; 使用场景及目标:①用于排查MCU异常复位问题,特别是无法启动或周期性重启的情况;②指导开发者正确配置Option Bytes,避免因误设IWDG等选项导致系统不稳定;③帮助理解IWDG硬件模式的工作机制及其与软件复位标志的关系; 阅读建议:在遇到类似复位问题时,应优先检查RCC_CSR寄存器中的复位标志位,并结合Option Bytes配置进行分析;推荐使用新版STM32CubeProgrammer的一键恢复功能快速排除配置错误;同时建议开发过程中定期备份默认配置,防止误操作引入隐蔽故障。

2025-10-20

电子工程运算放大器选型与应用全攻略:涵盖工业汽车消费品领域关键参数及设计工具介绍

内容概要:本文档详细介绍了运算放大器(op amps)的选型与应用,涵盖其在工业、汽车和消费品市场的广泛应用。运算放大器用于放大、滤波和处理模拟信号,与数字器件对接,执行复杂的信号处理任务。文档解释了不同类型运算放大器的关键特性及其应用场景,如高精度运放用于低压信号放大,低输入偏置电流运放适用于小电流传感器,以及用于ADC接口的运放设计注意事项。此外,文档还提供了意法半导体的运算放大器系列产品信息,包括不同系列的性能特点、封装形式、温度范围和供货保障。最后,文档介绍了相关的设计工具、仿真软件和训练套件,帮助工程师更好地选型和应用运算放大器。 适合人群:电子工程师、硬件设计师、科研人员及对模拟电路设计感兴趣的读者。 使用场景及目标:①帮助工程师根据应用需求选择合适的运算放大器;②指导设计人员解决实际应用中的技术难题,如ADC接口设计、噪声控制和稳定性问题;③提供设计工具和仿真平台,加速开发流程。 阅读建议:此文档不仅提供了理论知识,还结合了实际应用案例和设计工具,建议读者在学习过程中结合具体应用场景进行实践操作,并利用提供的工具进行模拟验证。

2025-06-14

数据手册DS14463-stm32u083 数据手册

内容概要:本文档为意法半导体STM32U083xC系列微控制器的数据手册,详细介绍其硬件特性、功能概述、电气特性及封装信息。STM32U083xC系列基于超低功耗Arm Cortex-M0+ 32位内核,集成256KB Flash存储器和40KB SRAM,支持多种通信接口(如USB、SPI、I2C等),并具备丰富的外设资源,包括ADC、DAC、LCD驱动器、AES加密硬件加速器等。该系列微控制器具有多种低功耗模式,如关断模式、待机模式、停止模式等,以适应不同应用场景下的功耗需求。此外,文档还提供了详细的引脚定义、复用功能表、存储器映射、电流消耗参数及封装热特性等信息。 适合人群:嵌入式系统开发者、硬件工程师、微控制器应用设计师。 使用场景及目标:①开发超低功耗的嵌入式系统②设计具备多种通信接口和外设资源的微控制器应用;③实现安全可靠的系统,利用内置的安全特性如AES加密、读保护和安全启动;④优化功耗管理,选择合适的低功耗模式以延长电池寿命。 其他说明:本文档旨在为用户提供详尽的技术资料,帮助用户更好地理解和使用STM32U083xC系列微控制器。建议用户结合参考手册RM0503和其他相关技术文档一起阅读,以便全面掌握器件特性和最佳实践。

2025-06-16

AN5260-STM32MP151-153-157 MPU 系列和 STPMIC1 集成在电池供电型应用中

内容概要:本文档详细介绍了STM32MP15x系列微处理器与STPMIC1BPQR电源管理IC在电池供电型应用中的集成设计。主要内容包括硬件参考设计示例,如功率分配、启动和关断管理、电池管理(含USB充电和监测)、USB高速端口管理等。文中强调了不同电源域(如VDD、VDDCORE、VDD_USB等)的具体配置和工作模式,以及低功耗模式(LPLV-stop和待机模式)的管理。此外,还涵盖了用户复位、崩溃恢复管理、USB端口管理(包括传统micro-AB/micro-B插座和USB Type-C插座)及电池管理的各个方面。 适合人群:具备一定硬件设计基础,特别是对嵌入式系统和电源管理有一定了解的产品架构师和设计人员。 使用场景及目标:①为设计基于STM32MP15x和STPMIC1BPQR的电池供电型应用提供详细的硬件参考设计;

2025-06-16

数据手册DS14096-低功耗蓝牙 5.4 模块数据手册

内容概要:STM32WB1MMC是一款紧凑型超低功耗2.4 GHz无线模块,支持低功耗蓝牙 5.4版本,基于STM32WB15CCYY无线微控制器。该模块具备集成天线和外部天线选项,支持2 Mbits/s的空中速率,频段为2400-2483.5 MHz,拥有最高+5.5 dBm的发射功率和-96 dBm的接收灵敏度。模块采用SiP-LGA77封装,集成32 MHz和32 kHz晶振、SMPS、IPD等组件,具备超低功耗模式,延长电池寿命。它还提供丰富的外设接口,包括USART、SPI、I²C、触摸感应控制器、定时器等,并内置安全特性如AES 256位加密、PKA等。模块已通过多项国际认证,如CE、FCC、ISED、JRF、RoHS、REACH等,适用于家庭自动化、医疗保健、游戏和玩具等多个领域。 适合人群:具备一定嵌入式开发经验的研发人员和技术爱好者。 使用场景及目标:①适用于需要低功耗蓝牙 5.4连接的家庭自动化、医疗设备、个人追踪器、游戏玩具等领域;②帮助开发者快速搭建无线应用,减少射频设计复杂度和认证时间;③支持多种应场景下的可靠无线通信和安全数据传输。 其他说明:模块的协议栈完全免费,且提供详细的引脚定义和电气特性,便于开发者进行硬件设计和软件开发。为了确保最佳性能,建议遵循提供的PCB布局建议和天线连接方式。模块已通过多项国际认证,确保在全球范围内的合规性和可靠性。

2025-06-16

数据手册STM32U031数据手册

内容概要:STM32U031系列是意法半导体推出的超低功耗32位微控制器,基于Arm Cortex-M0+内核,工作频率最高可达56 MHz,内置64 KB Flash存储器和12 KB SRAM。该系列MCU具有多种低功耗模式,如关断模式(16 nA)、待机模式(160 nA)、Stop 2模式(630 nA)等,并支持批采集模式和4 μs快速唤醒。它集成了丰富的外设,包括12位ADC、DAC、运算放大器、比较器等模拟组件,以及多达16个通信接口(如USART、I2C、SPI等)。此外,还提供了强大的安全特性,如读保护、硬件保护、安全启动、真随机数生成器等。该MCU适用于多种应用场景,特别是对功耗敏感的应用。 适合人群:嵌入式系统开发者,尤其是关注低功耗设计的研发人员。 使用场景及目标:①适用于需要长时间运行且对功耗极为敏感的应用,如物联网设备、便携式医疗设备等;②适用于需要高集成度和多种通信接口的应用,如智能家居控制器、工业自动化设备等;③适用于对安全性有较高要求的应用,如支付终端、安全监控设备等。 其他说明:STM32U031系列MCU不仅具备出色的性能和丰富的外设资源,还拥有卓越的电磁兼容性和抗干扰能力,确保在复杂电磁环境中稳定工作。同时,该系列MCU支持多种封装形式,方便不同应用场景下的使用需求。用户应根据具体应用选择合适的封装类型,并结合参考手册进行详细设计。

2025-06-16

基于STM32U3的超低功耗项目开发课件:新系列MCU设计与应用详解介绍了意法半导体

内容概要:本文档介绍了意法半导体(STMicroelectronics)推出的STM32U3系列超低功耗微控制器(MCU),该系列基于近阈值设计,实现了更高的电源效率和更低的动态消耗。STM32U3系列提供了多种功耗模式,如RUN、SLEEP、STOP和STANDBY模式,具有极低的电流消耗,适用于延长电池寿命的设备。文档详细描述了STM32U3的性能参数、应用场景、安全特性、功耗管理技术(如自适应电压调节AVS)及其开发工具和资源。此外,还展示了STM32U3在不同应用场景下的能效优势,并通过具体的实验指导用户如何配置和测试低功耗模式。 适合人群:嵌入式系统开发人员、硬件工程师、物联网开发者以及对低功耗MCU感兴趣的科研人员。 使用场景及目标:①开发超低功耗的便携式设备,如智能穿戴、医疗设备、工业传感器等;②学习STM32U3的功耗管理模式及其实现方法;③掌握STM32CubeMX和STM32CubeIDE等开发工具的使用技巧;④了解如何优化STM32U3的电源效率,以满足特定应用的需求。 其他说明:STM32U3系列不仅具备卓越的能效表现,还提供了丰富的外设接口和支持多种封装形式,便于用户根据实际需求选择合适的产品型号。同时,意法半导体提供了完善的生态系统和技术支持,包括详尽的技术文档、在线社区、培训课程和官方论坛等,帮助开发者快速上手并解决开发过程中遇到的问题。

2025-06-16

意法半导体电源管理指南

内容概要:本文档《意法半导体电源管理指南.pdf》详细介绍了意法半导体公司在电源管理领域的创新技术和广泛产品组合。文档首先概述了电源管理的重要性,强调高效率、低待机功率、高功率密度、可靠性和安全性是设计电源管理系统的关键要求。意法半导体凭借30年的技术创新经验,提供了包括碳化硅(SiC)功率分立器件、氮化镓(GaN)晶体管、功率MOSFET、IGBT、智能电源模块、AC-DC转换IC、电池管理IC、DC-DC转换IC、数字电源控制器和微控制器等一系列高效能产品。此外,还提供了eDesignSuite软件工具和参考设计,帮助工程师设计和优化高效的电源解决方案。文中特别介绍了太阳能逆变器、电动汽车、工业电池充电器、不间断电源(UPS)、直流快速充电站、电池管理系统(BMS)、LED驱动器、可穿戴设备等具体应用场景中的电源管理解决方案。 适用人群:从事电源管理系统设计的工程师和技术人员,尤其是那些关注高效能、高可靠性的电源解决方案的专业人士。 使用场景及目标:①设计太阳能逆变器、工业电池充电器、不间断电源(UPS)、电动汽车充电站等系统的电源管理方案;②提高电源转换效率,减少能量损耗,增强系统可靠性;③利用先进的控制技术和高性能组件,实现紧凑、轻量化的设计;④确保电源管理系统符合严格的成本和性能要求。 其他说明:意法半导体不仅提供丰富的硬件产品,还提供软件工具和参考设计,帮助工程师快速开发和优化电源管理方案。此外,文档中还展示了多个典型应用的框图,为实际设计提供了直观的参考。

2025-05-24

【嵌入式系统】TrustZone环境下STM32U5串口通信DMA传输失败原因分析与解决:确保SRAM2特权属性配置正确

内容概要:本文详细描述了在STM32U5 SBSFU项目中遇到的串口通信DMA传输失败问题及其解决方法。问题表现为在使用DMA模式时,串口接收到的数据全为0。通过创建并测试一个基于STM32CubeMX的新工程,作者发现问题是由于Boot工程中未正确配置MPCBB2,导致SRAM2的安全及特权属性与DMA通道不匹配。具体来说,默认情况下SRAM2的安全属性为Secure+Privileged,而DMA通道默认为NonSecure+NonPrivileged。最终通过修改代码配置DMA通道为Secure和Privileged属性解决了问题。; 适合人群:具备一定嵌入式系统开发经验,特别是熟悉STM32系列微控制器和TrustZone技术的研发人员。; 使用场景及目标:①理解和解决STM32U5 SBSFU项目中串口通信DMA传输失败的问题;②掌握TrustZone环境下资源安全属性配置的重要性及方法;③学习如何通过配置DMA通道属性来确保数据传输的正确性。; 其他说明:本文提醒开发者在开发TrustZone相关项目时,务必注意各资源的安全属性配置,特别是在涉及跨安全域的数据传输时。文中还提供了详细的配置步骤和代码示例,有助于读者快速上手并解决问题。此外,参考了STM32U5系列的官方技术手册,确保了配置的准确性和可靠性。

2025-05-24

LAT1473 STM32C0 HAL库的SPI 驱动导致的Hardfault问题分析

内容概要:文章详细分析了一个具体实例——STM32C0系列MCU使用HAL库通过SPI接口与NFC模块通信时触发的硬故障(HardFault)错误的原因。问题的根本在于STM32C0 HAL库内部的数据缓冲区指针未满足Cortex-M0+架构对于内存地址对齐的要求,特别是在执行半字(16-bit)读取操作时引发了异常。此外还提到同一份代码移植到另一个平台STM32G0却没有发生相同的问题,通过对两个平台之间的区别检查找到了关键所在,并给出了预防此类错误的方法建议。 适合人群:正在从事ARM Cortex-M0+体系结构微控制器编程,特别是使用STM32C0系列芯片和相关外设驱动程序开发的设计工程师、嵌入式系统开发者。 使用场景及目标:帮助用户理解和修复由地址非正确对齐所引起的CPU异常崩溃问题;提升对于不同类型微控制器硬件特性差异性的认识,确保跨平台兼容性和稳定性。 其他说明:本文档不仅提供了解决当前遇到的具体问题的有效途径,而且也为开发者提供了宝贵的经验教训,强调了在低级别驱动编程时必须重视地址对齐等细微之处。它鼓励开发者深入研究源代码并结合硬件手册来寻找潜在缺陷的根本原因。

2025-03-04

LAT1481 高精度定时器如何实现PWM零满占空比的连续切换

内容概要:本文详细探讨了如何在高精度定时器中实现PWM波形的零满占空比连续切换,尤其关注了STM32G474芯片的不同计数模式(Up Count和Up-Down Count)下的具体实现步骤和注意事项。在Up Count模式下,可以通过设置不同的比较寄存器值实现连续切换,而在Up-Down Count模式下则引入了一个额外的比较事件并调整它们的优先级来达成这一目的。此外,文章还给出了具体的配置细节和技术实现方案,并展示了测试波形图。 适合人群:从事嵌入式系统开发或单片机编程的专业技术人员,尤其是那些正在研究或开发涉及PWM信号生成和控制的工程师或学生。 使用场景及目标:主要应用于电机控制、灯光调光以及其他需要用PWM信号调节设备状态的电子电路设计项目中,通过正确配置高精度定时器参数达到预期的效果。同时,也可以为研究人员提供理论依据和技术支持。 其他说明:此文章不仅有助于解决特定问题,而且深入浅出地介绍了相关基础知识,使读者能够更好地理解和掌握背后的原理。它还包括了许多实用性的技巧,可以帮助开发者避免常见的错误并且优化自己的硬件设计。

2025-03-04

LAT1488 STM32 USBxDevice MSC standalone移植示例

内容概要:本文详细介绍了如何基于STM32CubeMX工具,在Nucleo-H563板上实现STM32 USBx Device Mass Storage Class (MSC) 类的独立模式(standalone)移植过程。文章首先解释了移植的目的和背景,即现有官方示例稀缺但使用CubeMX可以显著加快这一进程。然后具体阐述了通过修改CubeMX的各种配置选项——包括系统核心(System Core)、连接特性(Connectivity)、中间件(Middleware),来构建合适的硬件环境和支持条件。接着逐步引导读者完成从建立初始工程项目到编写应用程序逻辑,以及关键的数据读写方法等一系列步骤,并特别指出了在定义USB初始化及处理过程中可能会遇到的问题并提供解决方案,最终达到可以在PC端正确识别虚拟磁盘的效果。 适合人群:具有一定经验的嵌入式开发者,特别是那些专注于基于STM32系列MCU进行产品研发和技术探索的人群,如硬件工程师、软件程序员、固件设计师等。 使用场景及目标:当开发者想要利用RAM或其他内存区域模拟成USB硬盘并通过USB接口与外部主机通信时,可以通过此文提供的指导快速

2025-03-04

LAT1447-电机测速方法以及在STM32中的实现-M法与T法的应用详解

内容概要:文章详细介绍了两种常见的电机测速方法,即M法测速和T法测速,并重点讲述了这两种方法在STM32平台上的具体实现。M法通过测量单位时间内编码器输出的脉冲数量来计算转速,适用于高速测量;T法则通过对编码器相邻脉冲间时间的测量来进行转速计算,更适合于低速情况。文中解释了如何配置STM32定时器以配合编码器接口使用,实现这两种测速方法,并展示了不同转速下的实际测试结果。 适合人群:从事电机控制系统开发的研发工程师和技术人员,特别是那些希望深入了解STM32嵌入式系统以及熟悉电机控制算法的人群。 使用场景及目标:适用于需要精确测量直流无刷电机或其他类型电动机转速的应用场合。对于新项目选型阶段或者现有系统优化都非常有帮助。文章不仅提供了理论指导还有具体的代码实现思路。 其他说明:文章还包括了一系列的图表数据对比分析,直观呈现了M法与T法在各种速度条件下的性能表现,有助于读者更好地理解和选择适合自己项目的最佳测速方法。同时,文中也提到了STMicroelectronics对于技术和产品更新的态度和服务条款。

2025-03-10

STSAFE-A20用于耗材、配件和互联对象的安全认证配套器件

STSAFE-A120 安全芯片:为互联设备提供全面安全保障的创新之选 意法半导体精心打造的 STSAFE - A120 安全芯片,作为耗材、配件以及各类互联对象安全认证环节的核心支撑器件,拥有极为出色的性能表现。在加密功能方面,其展现出强大的实力,涵盖了丰富的椭圆曲线加密算法,设置 5 个椭圆曲线加密(ECC)非易失性私钥 Slot 和 1 个临时 ECC 密钥 Slot,适配多种椭圆曲线类型,能够满足复杂的高级非对称加密需求;同时,具备 16 个对称密码 Slot,全面支持 AES 多种模式,实现高效的高级对称加密操作。不仅如此,它还具备精准的数据哈希功能,支持 SHA - 2、SHA - 3 系列算法,以及符合 NIST SP 800 - 90B 标准的随机数生成能力。 在实际应用中,STSAFE - A120 安全芯片能够精准实现设备身份验证,确保只有合法设备能够顺利连接,从源头保障网络安全。芯片内配备 16KB 可灵活配置的非易失性存储器,用于安全存储关键数据,并设有可配置单向计数器,对设备使用情况进行有效监测。此外,该芯片可与主机配对构建安全信道,在本地主机信封封装解封

2025-03-18

LAT1488 STM32 USBxDevice MSC standalone移植示例

内容概要:本文介绍了一个基于STM32的USBx Device MSC (Mass Storage Class) 独立设备的完整移植实例,适用于Nucleo-H563板子,使用内部RAM作为虚拟硬盘介质,提供了详细的步骤指导从CubeMX工程配置一直到最终实现基本的MSC读写功能,以及一些常见调试要点,如使用串口或USB协议分析工具来进行问题排查。 适用人群:有一定嵌入式开发经验,熟悉STM32单片机平台并希望通过实例加深对USB通信协议的理解的技术人员或学生。 使用场景及目标:帮助开发者掌握STM32系列MCU与主机之间建立稳定可靠的MSC连接的方法,能够将其应用于各种需要模拟U盘等功能的产品开发中,如医疗设备的数据导出模块、智能家居控制器的固件更新接口等。 其他说明:本文侧重于理论联系实际的应用层面探讨而非纯学术性的深入研究;它不仅强调正确配置外设参数和调整内存池尺寸来满足特定需求的重要性,同时也提到了可能遇到的问题解决方案。此外还特别指出当处理更大规模的数据交换任务时应该如何考虑优化算法性能等问题。

2025-03-04

LAT1466 STM32 USBx Device HID Standalone的移植详解及实现方法

内容概要:本文详细介绍了如何在 STM32 微控制器上移植 USBx Device HID Standalone 示例。以 NUCLEO-H563 平台为例,利用 STM32CubeMX 工具生成初始代码工程,逐步配置系统核心、通信接口、中间件及系统时钟等多个关键模块参数,最终实现了用户按钮模拟鼠标点击的功能。文章涵盖从项目建立到具体功能调试的所有步骤,并提供了详细的注意事项。 适用人群:面向具有一定嵌入式开发经验和对 STM32 有一定了解的研发人员,尤其是那些准备从事基于 USB 设备开发工作的工程师。 使用场景及目标:适用于初学者学习 STM32 和 USB 协议栈的基础架构及应用开发流程;对于希望快速搭建 USB HID 设备测试环境的研究机构和技术爱好者也有很好的借鉴意义。 其他说明:文档中给出了完整的配置指南与编程思路,并指出了可能遇到的问题及解决方案。同时强调了某些关键点如系统时钟源的选择以及外设中断优先级别的设定对手柄模拟功能的重要性和影响程度。此外,还列举了一些相关联的技术文档供进一步查阅。

2025-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除