关于原子哥用flash当EPPROM使用的例子程序,里面的写入地址问题

2019-07-20 20:30发布

本帖最后由 vention 于 2016-8-29 22:40 编辑

完全使用原子哥的例子程序 ,修改地址,我把地址改为0X0800AFFF, 程序出错了,原子哥的例子写入是在#define FLASH_SAVE_ADDR  0X0800C004  。这我就不明白了。 整个程序才30K多一点点,起始地址是0X08000000,   我这不是预留了将近40K 之后的地址再写入的么。
40K *1024 =40960Byte  转成16进制 0XA000 ;  0X08000000+0XA000=0X0800A000;  而我在0X0800AFFF之后写入么,这也出错么? 实在想不懂
之后改到0X0800BF00,也还是会有乱码出错。   改到0X0800C0000,就没乱码了。感觉我算的没错啊  真的不明白怎么计算的。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
特朗姆斯
1楼-- · 2019-07-20 23:07
往FLASH写数据是按扇区擦除了再写的,你从0X0800AFFF写就要把整个扇区2的FLASH擦除,也就是说从0x0800 8000 - 0x0800 BFFF范围内的程序都被擦掉了。

而0x0800C000刚好是扇区3的起始地址,扇区3不包含任何你之前的程序,因此不会出错。
vention
2楼-- · 2019-07-21 04:12
407的板子
vention
3楼-- · 2019-07-21 05:43
 精彩回答 2  元偷偷看……

一周热门 更多>