完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于项目需求,需要擦除片内指定空间,然后从SPI_FLASH中加载程序运行
问题如下:: 在DEBUG模式下,执行擦除程序后,则退出DEBUG,无法执行下一步程序 擦除代码如下: 1、FLASH_Unlock(); 2、FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); 3、FLASH_EraseSector(FLASH_Sector_4, VoltageRange_3); //出错在这步 4、FLASH_ProgramByte() ; //写入代码省略 5、FLASH_Lock(); 求教各位大侠,谢谢,急。 |
|
相关推荐
1个回答
|
|
在STM32F207中,擦除片内FLASH并从SPI_FLASH中加载程序运行时,如果在DEBUG模式下执行擦除程序后退出DEBUG,无法执行下一步程序,可能是由以下几个原因导致的:
1. 擦除操作未完成:在擦除FLASH_Sector_4时,可能需要一些时间来完成擦除操作。在擦除操作完成后,需要检查FLASH_FLAG_EOP标志位,以确保擦除操作已经完成。如果擦除操作未完成,可以尝试增加延时,确保擦除操作有足够的时间完成。 2. 擦除操作失败:在执行擦除操作时,可能会出现错误。这时,需要检查FLASH_FLAG_OPERR、FLASH_FLAG_WRPERR、FLASH_FLAG_PGAERR、FLASH_FLAG_PGPERR和FLASH_FLAG_PGSERR等标志位,以确定是否发生了错误。如果发现错误,需要根据错误类型进行相应的处理。 3. 写入操作未完成:在擦除FLASH_Sector_4后,需要使用FLASH_ProgramByte()函数将新的程序写入FLASH。在写入操作完成后,同样需要检查FLASH_FLAG_EOP标志位,以确保写入操作已经完成。如果写入操作未完成,可以尝试增加延时,确保写入操作有足够的时间完成。 4. 未锁定FLASH:在完成擦除和写入操作后,需要使用FLASH_Lock()函数锁定FLASH,以防止后续操作对FLASH进行非法修改。如果未锁定FLASH,可能会导致程序执行异常。 5. 退出DEBUG模式问题:在退出DEBUG模式后,确保程序能够正常跳转到新的程序入口地址。如果程序无法跳转到正确的入口地址,可能会导致无法执行下一步程序。 为了解决这个问题,可以尝试以下步骤: 1. 在擦除和写入操作后,检查FLASH_FLAG_EOP标志位,确保操作已经完成。 2. 检查错误标志位,如FLASH_FLAG_OPERR、FLASH_FLAG_WRPERR等,以确定是否发生了错误,并根据错误类型进行相应的处理。 3. 在完成擦除和写入操作后,使用FLASH_Lock()函数锁定FLASH。 4. 确保退出DEBUG模式后,程序能够正常跳转到新的程序入口地址。 5. 如果问题仍然存在,可以尝试在擦除和写入操作之间增加延时,以确保操作有足够的时间完成。 6. 如果以上步骤都无法解决问题,可以考虑检查SPI_FLASH的读写操作是否正确,以及程序的入口地址是否设置正确。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1847浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
609浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
507浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
488浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:35 , Processed in 0.879730 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号