STM32
直播中

刘刚

7年用户 1036经验值
私信 关注
[问答]

stm32f469读取内部FLASH程序就会死掉的原因?

如题,我将数据写入指定的内部FLASH的某个地址然后进行读取,但是一读整个程序就死了。我开始以为是我进行写操作不当造成的,后来我测试不擦除内部FLASH、不写入数据直接读。但是还是一样一读就死。各位大佬能指点下么,谢谢

回帖(2)

陈思伊

2024-4-26 16:05:33
1、读取、写入FLASH前要解锁FLASH的。
2、写入FLASH前要删除FLASH。
3、写入的地址要避开程序存储区。
举报

王璐

2024-4-26 17:33:58
STM32F469读取内部FLASH程序死掉的原因可能有以下几点:

1. 地址错误:确保你读取的地址是正确的,没有超出FLASH的可用范围。

2. 读取时序问题:检查你的读取时序是否符合STM32F469的数据手册要求。

3. 中断冲突:在读取FLASH时,确保没有其他中断冲突或者抢占了CPU资源。

4. 电源问题:检查你的电源是否稳定,不稳定的电源可能导致读取失败。

5. 代码问题:检查你的代码逻辑,确保在读取FLASH时没有死循环或者其他逻辑错误。

6. 硬件问题:如果以上都排除了,可能是硬件问题,如FLASH损坏或者连接不良。

为了解决这个问题,你可以尝试以下步骤:

1. 仔细检查你的代码,确保地址和时序正确。

2. 使用STM32CubeMX配置工具生成初始化代码,确保FLASH配置正确。

3. 使用STM32的HAL库函数进行FLASH操作,这些函数已经经过测试,可以降低出错的概率。

4. 在读取FLASH之前,使用断点调试或者打印日志,观察程序的执行过程,找出问题所在。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分