完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
G0B1CET6,擦除bank1的flash会跑飞,单步运行ok,全速运行会卡死。
有两个项目虽然程序有些不一样,但是大体方案一致。他俩的区别是一个用了bank2,擦了bank2。一个没用到就擦bank1。只擦bank1这个不会出现跑飞。 目前关闭了中断,还是存在跑飞的现象,还有其他方法能定位问题吗,比如标志位。 |
|
相关推荐
1个回答
|
|
G0B1CET6是一款基于ARM Cortex-M4F内核的微控制器,具有双Bank Flash存储器。在您的描述中,当擦除Bank1的Flash时,程序在单步运行时没有问题,但在全速运行时会出现卡死现象。这可能是由于以下几个原因导致的:
1. Flash擦除过程中的干扰:在全速运行时,擦除Flash可能会受到其他操作的干扰,导致擦除不完整或错误。这可能是由于硬件设计、电源稳定性或电磁干扰等原因造成的。 2. Flash擦除后的校验问题:在擦除Flash后,需要对擦除后的区域进行校验,以确保擦除操作成功。如果校验失败,可能会导致程序运行异常。 3. 程序逻辑问题:在全速运行时,程序可能在执行擦除操作时,同时执行其他关键任务,导致程序运行异常。这可能是由于程序逻辑设计不当或资源分配不合理造成的。 为了定位问题,您可以尝试以下方法: 1. 增加日志输出:在程序中增加日志输出,记录关键操作的状态和时间戳,以便分析问题发生的原因。 2. 使用调试器:使用调试器逐步跟踪程序执行过程,观察在擦除Flash时程序的状态和行为,以便找到问题所在。 3. 检查硬件设计:检查硬件设计是否合理,包括电源稳定性、电磁干扰等因素,以确保硬件环境对程序运行没有负面影响。 4. 优化程序逻辑:检查程序逻辑,确保在擦除Flash时,程序不会同时执行其他关键任务,以避免程序运行异常。 5. 校验Flash擦除结果:在擦除Flash后,增加校验操作,确保擦除操作成功,避免程序运行异常。 6. 尝试使用其他Flash擦除方法:如果可能,尝试使用其他Flash擦除方法,以排除当前方法可能导致的问题。 通过以上方法,您应该能够定位问题并找到解决方案。希望这些建议对您有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1926浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
584浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 02:10 , Processed in 0.687807 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号