完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
系统复位和断电复位的效果应该是一样的,都会清RAM数据。
|
|
|
|
STM32F1 IAP(In-Application Programming)操作是一种允许在运行时对固件进行升级的技术。在您的案例中,您提到了在升级前后需要修改选项字节,以及在APP程序中屏蔽了解除读保护的语句。以下是可能导致APP使用系统复位跳转后无法运行IAP的原因:
1. 选项字节未正确设置:在升级过程中,确保选项字节被正确设置,以便在系统复位后能够正确跳转到IAP程序。 2. 复位问题:系统复位可能无法清除某些寄存器的状态,导致IAP程序无法正常运行。断电复位可以清除所有寄存器的状态,这可能是为什么断电复位后IAP程序能够正常运行的原因。 3. 中断配置问题:在升级过程中,确保所有相关的中断配置正确,以便在系统复位后能够正确触发IAP程序。 4. 代码问题:检查您的IAP程序代码,确保在升级过程中没有引入任何错误或异常。 为了解决这个问题,您可以尝试以下步骤: 1. 确保选项字节在升级前后被正确设置。检查FLASH_EraseOptionBytes函数中的OB->RDP=RDP_Key语句是否正确。 2. 在APP程序中,尝试在系统复位前添加一个延时,以便给系统足够的时间来清除寄存器状态。 3. 检查IAP程序的中断配置,确保它们在系统复位后能够正确触发。 4. 仔细检查您的IAP程序代码,确保没有引入任何错误或异常。 5. 如果问题仍然存在,尝试使用STM32CubeMX工具生成一个示例IAP项目,以便与您的项目进行比较,找出可能的问题所在。 6. 如果可能,尝试在不同的STM32F1开发板上进行测试,以排除硬件问题的可能性。 通过以上步骤,您应该能够找到导致APP使用系统复位跳转后无法运行IAP的原因,并采取相应的措施来解决这个问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1760 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1058 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1932浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
724浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
564浏览 3评论
590浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
548浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 16:14 , Processed in 0.892264 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号