完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在使用STM32H743做一个项目,用到了内置的flash储存数据,查看参考手册,743的双bank flash是可以同时操作的,我的程序和数据都放在的bank1,在擦除bank2的sector时,发现我的程序像是暂停了,直到擦除完成。具体的表现是tcp连接断开了,usb vcp连接断开了,定时中断暂停了,擦除完成以上的处理都可以手动或自动恢复。在线仿真单步运行时,watch窗口的数据也变灰了,擦除完成后才继续刷新。我确认我的代码里在操作flash时没有关闭全局中断(查看hal库函数也能看到,确实没有开关中断的操作),能否帮忙分析一下,是否还有哪些原因会导致我说的现象,或者说我对743的双bank同时操作理解错了?
谢谢 附图是743参考手册里对双bank并行处理的说明 |
|
相关推荐
1个回答
|
|
STM32H743的双bank flash并行处理异常的原因可能有以下几点:
1. Flash擦除和编程操作对CPU性能的影响:在擦除或编程flash时,CPU的性能可能会受到影响,导致程序执行变慢或暂停。这是因为flash操作需要占用大量的CPU资源,尤其是在擦除大容量的sector时。 2. Flash擦除和编程操作对中断的影响:虽然你提到在操作flash时没有关闭全局中断,但是在擦除或编程flash时,可能会触发一些与flash相关的中断,这些中断可能会影响程序的正常运行。例如,如果擦除操作触发了flash错误中断,那么程序可能会进入中断服务程序,导致主程序暂停。 3. Flash擦除和编程操作对系统时钟的影响:在擦除或编程flash时,可能会影响系统的时钟设置。这是因为flash操作需要一定的时钟频率来保证操作的正确性。如果系统时钟设置不当,可能会导致flash操作失败或程序运行异常。 4. Flash擦除和编程操作对电源的影响:在擦除或编程flash时,可能会对电源产生一定的影响。这是因为flash操作需要较高的电源电压,如果电源不稳定,可能会导致flash操作失败或程序运行异常。 为了解决这个问题,你可以尝试以下方法: 1. 在擦除或编程flash时,尽量降低其他任务的优先级,以确保flash操作能够顺利进行。 2. 在擦除或编程flash时,确保系统时钟设置正确,以保证操作的正确性。 3. 在擦除或编程flash时,确保电源稳定,以避免因电源问题导致的异常。 4. 如果可能,尝试将擦除或编程flash的操作放在低优先级的中断服务程序中执行,以减少对主程序的影响。 5. 如果问题仍然存在,可以考虑升级到更高版本的STM32 HAL库,看看是否有改进。 希望以上分析和建议对你有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1362 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1359 浏览 1 评论
779 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
561 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1391 浏览 2 评论
1756浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
483浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
418浏览 3评论
410浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
388浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 09:53 , Processed in 0.736252 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号