本帖最后由 STM新闻官 于 2024-12-5 13:24 编辑
对于早期的 STM32F0xx/ STM32F1xx/ STM32F2xx/ STM32F4xx 在修改读保护(RDP)后,只需要执行 HAL_FLASH_OB_Launch()后 MCU 会自动复位 RDP 生效。但是,对于STM32F4 以后量产的型号,修改选项字后必须重新断电一次,MCU 才能正常运行。 对于此方法,笔者使用的是 GPIO 作为唤醒源来使 MCU 从 shutdown 模式唤醒。其实,若使用 RTC 作为唤醒源稍作配置,就可以无需手动操作实现 RDP 不断电的修改生效。
LAT1450不断电情况下修改RDP选项并生效的解决方案_v1.0.pdf
(774.04 KB)
本文将主要探讨 v8-M 架构下 MPU 的使用技巧。
LAT1448_ARMv8-M架构下MPU的使用技巧_v1.0.pdf
(1.51 MB)
客户在使用 STM32G474 时,希望使用 FPU 进行浮点运算,并优化其性能。本文 从 STM32G474 系统的角度、ARM DSP Lib、编译选项的影响等几个方面探讨如何提升整体性能,并介绍如何使用 KEIL 工具进行测量。
LAT1352_STM32G474_FPU性能优化与测试_v1.0.pdf
(988.08 KB)
在一些支持双 bank 的 MCU 中,通常都会有一个控制 bank 切换的寄存器位,例如STM32F4 和 STM32L4 是 FB_MODE 寄存器位,STM32L0 是 UFB 寄存器位。我们可以通过配置这个位来进行快速 bank 切换,这个功能实际上是通过对 bank 进行重映射和设置别名来实现的。以大小为 2MB flash 的 STM32F4 为例,使用 SYSCFG_MEMRMP 寄存器的 FB_MODE 进行切换。
LAT1399_如何确保对APB外设寄存器的写操作写入完成_v1.0.pdf
(1.08 MB)
在使用基于ARM CORTEX-M3、M4或M7系列的STM32芯片做产品开发时,可能有人遇到过单次事件会触发两次中断的情形。或许对异常现象的表述不尽相同,比方有的人会说怎么中断请求标志要清2次才行;由于中断里有些执行操作,有人会说代码里明明只执行一次,可实际运行时却是两次;有的人会说,有些执行动作放在中断外执行正常,放到中断服务程序里又异常了等等。记得有一次,有个STM32用户反映,他的SPI实际发送效果跟程序代码里设计的完全不一样,明明是8位发送,硬生生变成了16位发送,诡异的很。诸如此类。
LAT1363_浅析单次事件进入两次中断问题_v1.0.pdf
(529.32 KB)
用户使用的 MCU 型号是 STM32H750VB。 在客户的代码中有多个条件语句,在条件里面的变量数值没有变化的情况下执行了条件里面的逻辑。即变量 A 在明明没有变化且条件不满足的情况下, 程序运行时偏偏执行了条件内部的代码. 很奇怪的现象。一时很难判断是编译器的问题还是芯片问题。
LAT1281数据意外变化导致条件判断流程异常_v1.0.pdf
(1.42 MB)
关于 DWT(Data watchpoint and trace unit),相信有很多工程师都知道,其可用于 us级别的延时。今天想和大家分享的是,通过 DWT 检测特定内存变量或函数,当其被修改或被调用时,可以触发中断,通过这样的方式,实现一些特殊的调试手段。
LAT1256_用STM32的DWT单元监控内存_v1.0.pdf
(380.17 KB)
本篇内容主要涉及内核 MPU 配置方面的东西,重点针对客户的疑问做了些解答,对 MPU 配置中的子区概念做了较为详细的解读,以供参考。
LAT1240_MPU子区话题_v1.0.pdf
(866.6 KB)
客户在 Nucleo-U575ZI 开发板上使用 TrustZone 架构,测试 LPBAM 功能。首先使能了 TrustZone 架构,然后将 LPGPIO 映射到了非安全区,并且配置了 DMA 链表功能,使用 LPTimer 作为触发,自动地修改 LPGPIO 的寄器,从而达到在低功耗模式下,GPIO自动切换的功能。但遇到了 LPDMA 的配置问题,并且程序无法跳转到 Non-Secure 工程。
LAT1199_TrustZone架构下LPBAM使用导致的HardFault_v1.0.pdf
(633.27 KB)
客户在使用 STM32H7 的时候,想要使用 DWT 计数来测量代码执行时间,评估执行效率。客户发现在重新上电或 reset 后,无法启用 DWT 进行计数。
LAT1209_Arm®v7-M架构的STM32如何启用DWT进行计数_v1.0.pdf
(331.72 KB)
本文以STM32F0为例,就芯片内【从BOOT区跳转到APP区】【从APP区跳转到新APP区】【从APP区跳回BOOT区】的跳转问题做一些交流与介绍。
Jumping topic about different procedure code zone based on STM32F0.pdf
(565.26 KB)
本文以STM8AF52A9单片机为例,详细说明其使用24MHz外部晶振无法正常运行的原因及问题解决方法。
STM8使用24MHz外部晶振无法正常运行_V1.pdf
(194.18 KB)
本文会从结构,原理以及应用方面对MPU和Cache进行分析,主要目的是希望读者对Cache有基本的了解,在具体的实际应用中,使用带有一级cache的MCU时,避免常见的错误。
STM32F7 MPU Cache浅析.pdf
(530.93 KB)
STM32内核实战经验合集-2 |