
1. 引言 有客户反映,STM32G071RBT6 在使用 STM32CubeProgrammer 烧录完程序后只能运行一次,复位后,程序无法运行,如果掉电后重新上电,程序恢复正常。 2. 问题描述 根据客户描述,该问题可通过以下步骤复现: 2.1. 测试代码的功能流程图 准备测试代码 App1 和 App2: ![]() ![]() 2.2. 问题复现步骤 操作步骤 1) 在 STM32CubeProgrammer 中下载应用程序 App1(如图 3),并设置 RDP=1(如图 4);然后断开 STM32CubeProgrammer 的连接,板子断电后重新上电; ![]() 图4. 在 STM32CubeProgrammer 中设置 RDP=1 ![]() 2) 根据 log 提示(如图 5),按下用户按键,板子会在 RDP 降级的过程中,产生全片擦除的动作,等待 10s,确保芯片擦除完成后从,板子再断电并重新上电; ![]() 3) 使用 STM32CubeProgrammer 重新连接板子,在下载界面选中“Run afterprogramming”后,下载应用程序 App2(如图 6),下载完成后,可以看到板子执行闪灯的效果,并从 App2 的 log 信息可知,此时的 empty check 位被置起(如图 7)。 ![]() ![]() 4) 在不断电的情况下,如果直接按下外部复位按钮,程序将出现无法执行的现象。 完整版请查看:附件 |
LAT1041 STM32G0 复位后死机_v1.0.pdf
下载635.51 KB, 下载次数: 2