STM32 Sidekick,官方 AI 开发随身助手
加持快速解决开发问题、获取技术支持
(0.1M)
文档说明:STM32 G0系列MCU自带时钟丢失功能,即CSS功能,能自动检测HSE和LSE是否丢 失。本文对CSS功能进行简单介绍,并对客户在应用LSECSS功能的过程中发现的问题进分析,并给出解决方法。
(0.1M)
文档说明:客户在使用 STM32N6 开发过程中,使用 STM32N6570-DK 例程 GPIO_IOToggle,添加 XSPI1,设置其时钟源为 PLL2,编译、签名、烧录到外部 Flash,然后断电再上电DK 板,LED1 能够正常闪烁(工程的正常功能)。此时按板上 B1 键(应用复位按键)进行复位,发现 LED1 未亮起,疑似程序卡死不能执行。本文中对该问题进行了调查,分析原因并给出了建议,供大家参考。
(0.1M)
文档说明:客户在外部使用了 3 个相同的外设,使用 SPI 模式进行通讯,调试发现最后一个初始化过的外设总是工作不正常,检查发现对最后这个外设的初始化配置没有生效,造成工作不正常。经过调试发现客户在使能 Cache 后,没有进行任何操作,没有配置 MPU,也没有对cache 进行冲刷。造成最后一个设备初始化的配置一直没有生效。
(0.1M)
(0.1M)
文档说明:在 TrustZone 架构中,中断是可以分配到 S 或者 NS 侧的,所以在很多的场景中,为了充分利用 MCU 的资源,中断的重映射就成了很常见的需求。 本文将展示如何在使能 TrustZone 的 STM32H5 上,实现外部中断的共享,即实现将外部中断动态分配给 S 和 NS 侧。
(0.1M)
文档说明:使用 STM32H563 的 data flash(high-cycle data flash),在还没有写入任何数据之前去读取 data flash, 会触发 hardfault 异常。
(0.1M)
文档说明:使用 STM32H523RET6 应用中配置了两个 IO 口,PC9 为输出模式,内部下拉;PB14 为输入模式,内部上拉。在程序中将 PC9 引脚输出高电平,结果观察到 PB14 的电平被拉低。
(0.1M)
文档说明:客户的终端客户反馈产品会有偶发性的功能异常。问题比较难以复现。经过调查,在 BOOT 程序跳转到 APP1 程序中时相对比较容易复现问题。查看客户代码,发现客户在 BOOT 程序中会对 EXTI 进行初始化,跳转到 APP 程序后,客户工程师在 APP 中再次对 EXTI 初始化。
(0.1M)
文档说明:对于大于 32kbytes 的 SRAM,它的每 32kbytes 空间对应一个 SRAM 状态机,对于SRAM 独立空间但没有超过 32kbytes 的空间,比如 SRAM2,CCM SRAM,都对应各自的一个 SRAM 状态机。正是由于这个原因,在 workaround 中需要对每个空间进行一次状态机的恢复操作。以确保每个 SRAM 状态机都能正常工作。
(0.1M)
文档说明:STM32 的 CRC 外设是用来实现 CRC 计算的硬件单元,硬件实现 CRC 计算相对于软件算法实现来说,可以大大提高运算速度。CRC 计算单元具有单个 32 位读/写数据寄存器 (CRC_DR)。它用于输入新数据(写访问)并保存以前的 CRC 计算结果(读访问)。当 DMA用作数据传输处理器时,可以极大地减轻 CPU 负荷。本文以 STM32G474 为例,介绍如何通过 DMA 配合 CRC 计算,以供读者参考。
(0.1M)
文档说明:在 STM32 系列芯片中有着丰富的 DMA 资源,这些 DMA 可以连接内存-内存,内存-外 设,外设-内存。充分灵活应用 DMA 可以实现更复杂的软件功能,并且可以降低 MCU 负 载强度。尤其在 CPU 较为忙碌时,DMA 的参与往往可以保障高效的响应及实现。
(0.1M)
文档说明:最近有客户在 STM32H725 上使用 STM32 SBSFU 软件包。客户发现它移植的 SBSFU在开发时能正常工作,但是部署在现场其他同型号的芯片上,却出现了一部分产品启动不正常的问题。经过将有问题的芯片和开发板带回实验室进行定位,客户发现是由于 SBSFU使用了 IWDG,而 IWDG 即使在同一型号的芯片上,也有着不同的表现。有的能初始化成功,有的却初始化失败。客户担心这是否是芯片所导致的问题。其实,这是一个软件配置的问题,在 HAL 库代码的注释中有着清晰的描述。本文就这一问题给出详细的解释并
(0.1M)
文档说明:客户在项目中使用 STM32G0B1, 由产品内置电池供电. 客户在程序中有使用到 standby 模式, 通过 WKUP2(PC13), WKUP6 引脚唤醒. 除此之外并没有其它唤醒源. 代码中有使用到 RTC,但只是用来记录日期和时间, 并没有参与 standby 的唤醒.
(0.1M)
文档说明:在STM32系列MCU中, 除了一些特殊管脚外,绝大多数管脚都可以分类为FT(兼容 5V 信号)或TT(兼容 3V3信号)类型的IO,由于MCU内部设计的不同, TT IO相比5V IO有更多的限制,下面我们将予以说明。
(0.1M)
(0.1M)
文档说明:客户想要使用STM32L031 产生两个特定的PWM 波,这两个波形频率相同,占空比相同,但相位不同。经过验证,使用定时器的输出比较模式可以产生这种带相移PWM波形。 下面以STM32L031 的TIM2 为例来介绍使用产生相移信号的方法。
(0.1M)
(0.1M)
文档说明:某客户发现修改代码后,STM32U59 SPI DMA 发送未产生传输完成中断,但修改的代码跟SPI 以及DMA 毫无关联。
(0.1M)
文档说明:某客户测试 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 寄存器?希望能够有详尽的描述,这个 FAR 寄存器的偏移地址是 Word 地
(0.1M)
(0.1M)
文档说明:客户在使用 STM32G071RB 的 LPUART 单线半双工模式开发相关的应用时,进行连 续接收发送数据时,客户在检测到 RXNE 位时,认为接收完成,立即进行发送,发现 stop位(波形不完整)与 start 位发生了重叠。
(0.1M)
文档说明:客户在使用Cordic 进行运算时候,对Cordic 打断CPU 的时间存有疑问,认为时间不是按照芯片手册中所描述的时钟周期,本文针对Cordic 时间测试用于澄清计算周期,同时可作为客户评估使用,本文以STM32G431 作为示例。
(0.1M)
(0.1M)
文档说明:有客户反映,STM32G071RBT6 在使用STM32CubeProgrammer 烧录完程序后只能 运行一次,复位后,程序无法运行,如果掉电后重新上电,程序恢复正常。
(0.1M)
文档说明:在使用STM32U5 时,想对外部LSE 的起振情况和精度进行监测,使用HSE 为时钟基准,对LSE 进行测量。
(0.1M)
文档说明:本文档介绍了使用STM32CubeIDE 在编译时通过设置某个编译选项,让STM32 应用与存储位置无关.
(0.1M)
文档说明:本文档介绍了在设置LSE 的驱动能力上,软件上需要注意的地方。
(0.1M)
文档说明:在G4 中存在最多5 个ADC 转换单元,其中ADC1/2 和ADC3/4 可以工作在双路模式下(Dual mode),双路模式的交错工作方式可以提高ADC 的采样速率,实现采样率翻倍。客户在使用交错工作方式时,发现了一些问题。本文将对出现的问题进行解释,并给出解决办法。
(0.9M)
文档说明:利用 ST 提供的辅助开发工具 STM32CubeMX,可以快速开发 STM32 应用。在本文中讨论的 ADC 应用,同样是建立在 STM32CubeMX 生成工程的基础上。具体为在 STM32H743ZI 上,利用 DMA 自动实现 ADC 数据周期采集和转移,在采集指 定数量的采样值后产生中断, 对数据进行处理。
(1.3M)
文档说明:STM32提供了丰富的音频应用外设,并得益于灵活高效的内部架构,可以支持广泛的音频应用。本文中,在简单介绍音频采集的背景知识后,从应用需求出发,确定麦克风的选用。然后,描述了STM32内部DFSDM (Digital Filter for Sigma-Delta Modulator)在PDM麦克风采集中应用。最后逐步介绍如何利用STM32CubeMX进行DFSDM设计开发,实现PDM麦克风声音采集。
(0.2M)
(1.5M)
文档说明:某公司用ST的STM32L476在水表上,在开启时钟安全系统(CSS)之后,发现MCU重启后,LSE无**常启动,通过示波器看,发现LSE已经正常起振。这是由于他们对CSS的了解不够,应用错误导致,下面我们来深入了解一下MCU内部的时钟安全系统。
(0.1M)
文档说明:本文将一步步来介绍如何将下载的CoreMark测试代码移植到STM32MCU上进行测试。
(0.1M)
文档说明:某客户在其产品的设计中,使用了STM32F302CCT6。客户在开发过程中,其所配置的EXTI 外部中断,在外部没有中断信号的情况下,上电后运行程序,总是会进入EXTI 中断程序一次。
(0.2M)
(5.1M)
文档说明:此问题由客户提出,客户在使用STM32F411 开发产品的时候,采用的是HIS 作为主时钟,同时使用了UART 与其他MCU 进行异步通信.客户发现部分产品UART 不能正常通信.
(0.4M)
文档说明:在合计智能穿戴应用的时候,为了更好的用户体验和丰富的人机交互界面,需要更多的存储(RAM 和FLASH)来存储自定义的图片资源 ;由于可穿戴类的产品体积都非常小,因此FLASH&PSRAM;集成在一起的MCP 存储芯片是一个不错的选择。我们的STM32 FMC 外设是可以支持MCP 存储芯片的,而且只需要简单的配置就可以实现MCP 的访问。
(0.2M)
文档说明:客户在使用STM32F051C8T6的IAP功能时,发现有些端口(比如PB端口)的外部中断端口没有反应,但是有些还是可以的(比如PA端口),不知是何原因,客户也验证过应用代码在没有使用IAP功能时是没有问题的。客户是参考了我们的应用笔记AN4065来编写这部分代码.
(0.2M)
文档说明:PCROP 为Proprietary code readout protection 的缩写,也就是说这是一个专有代码读出保护的功能。与RDP 对整片Flash读保护不同的是,它只是针对Flash 的某些特定区域进行代码的读写保护。所以它可以被用来保护一些IP 代码,方便进行二次开发。它存在于许多STM32 的型号中,如STM32F401、STM32F411、STM32F427/437、STM32F429/439、STM32F446、STM32F469/479,STM32L476/486,等等。对于PCR
(0.9M)
(13.4M)
文档说明:Proprietary Code Read Out Protection (PCROP) ----- 专有代码读取保护 现在产品开发过程中,二次开发将会越来越多,设计公司开发出自己产品后交给终端客户进行二次功能或补充开发,简称二次开发,设计公司某些程序代码不希望公开给终端客户,但同时又希望部分函 数功能可以给终端客户使用,这时就需要有一种专有代码保护机制供客户使用,STM32F4xx 芯片中的 PCROP 可以解决类似问题。
(0.3M)
文档说明:该问题由某客户提出,发生在 STM32F205VET6 器件上。据其工程师讲述:使用STM32F205 的DMA 对USART 的接收进行处理的时候,发现如下现象:如果发送端发送10个字节,程序可以正常接收到数据,通过DMA_GetCurrDataCounter(USARTx_RX_DMA_STREAM)获取的数据长度以及程序中数据接收缓冲区中的数据均是正常的;但是如果发送端只发送9个字节,程序就无法正常接收到数据,通过DMA_GetCurrDataCounter(USARTx_RX_DMA_STREAM
(1.1M)
文档说明:测试STM32L053芯片在系统时钟8Mhz的情况下,其GPIO电平的翻转速度。
(0.3M)
(5.1M)
文档说明:EWARM从v5.5版本之后开始支持STM32芯片的CRC计算。前面所说的计算整个FLASH的CRC校验值并保存在FLASH末尾的过程,可以在IAR中完成。通过配置EWARM的CRC计算参数,自动对整个FLASH空间进行CRC计算,并将计算结果放到FLASH的末尾。本文中将介绍的就是如何配置IAR的CRC参数,使之与STM32的CRC硬件模块保持一致。本文中的例子都基于STM32F072进行。