STMCU小助手
发布时间:2022-8-3 21:16
|
1. 引言8 B& \3 w3 Z- Z& l9 X 有客户反映,STM32G071RBT6 在使用 STM32CubeProgrammer 烧录完程序后只能运行一次,复位后,程序无法运行,如果掉电后重新上电,程序恢复正常。 9 k4 @$ |' {8 S& g$ T7 M * k$ \: B0 x% s& a6 x; K 2. 问题描述 根据客户描述,该问题可通过以下步骤复现: 2.1. 测试代码的功能流程图 准备测试代码 App1 和 App2:" x% X0 @+ @0 S0 A7 r8 c0 D, A) B
! x, O7 N* ?- `* S2 z
2.2. 问题复现步骤 操作步骤# q7 l: Q0 V6 Z( S 1) 在 STM32CubeProgrammer 中下载应用程序 App1(如图 3),并设置 RDP=1(如图 4);然后断开 STM32CubeProgrammer 的连接,板子断电后重新上电;* q. Y! q6 g$ A/ P+ z* A
& s( Z# o4 G. B' K/ o7 f4 V 图4. 在 STM32CubeProgrammer 中设置 RDP=1* j( N4 N V- T! X 2 E6 `; R/ w+ O
2) 根据 log 提示(如图 5),按下用户按键,板子会在 RDP 降级的过程中,产生全片擦除的动作,等待 10s,确保芯片擦除完成后从,板子再断电并重新上电; % q8 i+ e* [ _( i5 F- \! b+ a# t4 E " `9 o4 k2 ^5 n% {& S5 U, v
G2 F. G/ o$ _6 f 3 s9 E% b5 c. j, k$ n 3) 使用 STM32CubeProgrammer 重新连接板子,在下载界面选中“Run afterprogramming”后,下载应用程序 App2(如图 6),下载完成后,可以看到板子执行闪灯的效果,并从 App2 的 log 信息可知,此时的 empty check 位被置起(如图 7)。 . l1 Q V4 ~4 m' @# t
4) 在不断电的情况下,如果直接按下外部复位按钮,程序将出现无法执行的现象。. _) s8 A5 P" |' W 完整版请查看:附件! y. |8 m/ B5 I0 C Z2 x % a& F7 l+ a/ e0 a" g7 p( e% X8 m |
LAT1041 STM32G0 复位后死机_v1.0.pdf
下载635.51 KB, 下载次数: 2
实战经验 | 基于STM32G0B1的全桥移相+同步整流PWM解决方案
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:逢7发帖赢大礼】8、基于STM32G070板子的Ymodem串口协议IAP Bootloader开发
【福利三:逢7发帖赢大礼】7、基于STM32G070板子TF卡的FATFS移植
【福利三:逢7发帖赢大礼】6、基于STM32G070板子spiflash的FATFS移植
【福利三:逢7发帖赢大礼】5、基于STM32G070板子IRDA红外遥控接收解码
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
微信公众号
手机版