flash模拟EEPROM导致芯片无法写入,帮忙分析一下

2019-10-15 02:59发布

用的芯片是STM32F051C8,需要存储几个变量,为了节约成本没有外挂E2PROM,参考了正点原子的FLASH模拟E2PROM程序,
变量如下:

一开始,老是存不上,我就把存储地址缩小
//FLASH起始地址
#define STM32_FLASH_BASE 0x08000000         //STM32 FALSH的起始地址
#define FLASH_SAVE_ADDR  0X08007800                //设置FLASH保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)

这个时候变量可以保存,但是芯片一直烧不进去程序,提示cannot access memory错误。换了一个芯片没事了,求大家帮我分析一下。
1、为什么之前变量一直没有存上,
2、程序的本代码所占用的FLASH大小怎么计算。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lightour
1楼-- · 2019-10-15 07:30
 精彩回答 2  元偷偷看……
lightour
2楼-- · 2019-10-15 12:31
编译后提示的信息:

正点原子
3楼-- · 2019-10-15 18:28
帮顶
lightour
4楼-- · 2019-10-15 22:13
abdfgh
5楼-- · 2019-10-16 04:11
生成一个bin文件,然后看bin文件有多大,就是你程序有多大,也可以直接用hex转bin文件把你程序的hex转换成bin
实际大小应该是code+ro+rw

一周热门 更多>