各位大佬指点下,读取内部FLASH程序就会死掉,使用的是F469
如题,我将数据写入指定的内部FLASH的某个地址然后进行读取,但是一读整个程序就死了。我开始以为是我进行写操作不当造成的,后来我测试不擦除内部FLASH、不写入数据直接读。但是还是一样一读就死。各位大佬能指点下么,谢谢读写的地址对了吗? 可以单步跟踪查看下啊 本帖最后由 wenyangzeng 于 2018-8-22 10:14 编辑
1、读取、写入FLASH前要解锁FLASH的。
2、写入FLASH前要删除FLASH。
3、写入的地址要避开程序存储区。
jyl518-283289 发表于 2018-8-22 09:58
读写的地址对了吗?
地址是对的 z258121131 发表于 2018-8-22 10:00
可以单步跟踪查看下啊
我查出来就是在读取内部FLASH操作就死,随便一个地方,只要读就死 wenyangzeng 发表于 2018-8-22 10:08
1、读取、写入FLASH前要解锁FLASH的。
2、写入FLASH前要删除FLASH。3、写入的地址要避开程序存储区。
...
这些操作都做了还是不行 细品黑夜 发表于 2018-8-22 10:12
这些操作都做了还是不行
ST官方代码很多可以参考呀!
读写FLASH前要解锁FLASH;
写入FLASH前要删除FLASH,因为Flash有写操作,只能将为1的位变为0,不能将为0的位变为1;
不要写入或擦除程序存储区,否则将把自己杀死;
读写 Flash前,先要判断标志位,是否忙状态,如果忙的话,也是不允许操作Flash的。 toofree 发表于 2018-8-22 11:34
读写FLASH前要解锁FLASH;
写入FLASH前要删除FLASH,因为Flash有写操作,只能将为1的位变为0,不能将为0的 ...
谢谢指导,我试过其他系列的芯片都可以直接读取内部FLASH的数据,但是F469这个就是不行。使用的操作是一样的,但是读取F469就直接死掉了。分析不来