STMCU小助手
发布时间:2022-8-3 21:16
|
1. 引言 有客户反映,STM32G071RBT6 在使用 STM32CubeProgrammer 烧录完程序后只能运行一次,复位后,程序无法运行,如果掉电后重新上电,程序恢复正常。 2. 问题描述 根据客户描述,该问题可通过以下步骤复现:& O. u& ?2 h, ?8 K- r& {* ?( w! Q2 l5 T 2.1. 测试代码的功能流程图9 b* u2 C6 r& G+ A; q 准备测试代码 App1 和 App2:
; m6 \$ g/ H# j1 d+ o% x : \: n2 e1 ~( b" X1 {- r 2.2. 问题复现步骤 操作步骤1 e& ~% `! O' l) j 1) 在 STM32CubeProgrammer 中下载应用程序 App1(如图 3),并设置 RDP=1(如图 4);然后断开 STM32CubeProgrammer 的连接,板子断电后重新上电; - v& w4 }, \. o 2 g( m3 k. \" M! X% ]: z8 x9 g
图4. 在 STM32CubeProgrammer 中设置 RDP=1
2) 根据 log 提示(如图 5),按下用户按键,板子会在 RDP 降级的过程中,产生全片擦除的动作,等待 10s,确保芯片擦除完成后从,板子再断电并重新上电; ' P& C/ F# V6 }' r- ^ : M6 I0 E! X- b
4 ^/ E5 S# n- [" U 3) 使用 STM32CubeProgrammer 重新连接板子,在下载界面选中“Run afterprogramming”后,下载应用程序 App2(如图 6),下载完成后,可以看到板子执行闪灯的效果,并从 App2 的 log 信息可知,此时的 empty check 位被置起(如图 7)。 " p9 m( |, G$ f3 G; |5 e+ ? $ p/ G% @: d" e/ Z$ y; t; P
4) 在不断电的情况下,如果直接按下外部复位按钮,程序将出现无法执行的现象。 + v* ~1 P( }! r# k 完整版请查看:附件 & a ], `- h8 H; I3 G0 h* ~ |
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库
微信公众号
手机版