[求助]PE生成FLASH操作函数擦除不了FLASH(已解决)

2020-02-20 20:56发布

本帖最后由 FSL_TICS_Robin 于 2014-11-27 11:01 编辑

前几天刚用KL25官方板子实现IAP,也是用PE生成的FLASH函数,FLASH所有扇区都能擦除。现在把程序移植到KL16的工程板子上,用JLINK调试。我的FLASH分成三部分,1部分正常程序,2部分IAP程序,3部分做EEPROM,1和2由链接文件分配,3由FLASH函数直接操作,结果FLASH擦除函数只能擦除3,不能擦除1和2。搞了一天了,2个工程的配置都一样啊。是KL25和KL16的区别么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
50条回答
lbblsws
2020-02-21 17:31
发现个很奇葩的现象,我把IAP程序区分配为0x4c00-0x5c00(实际程序生成的代码大概分配到0x5200多,也就是0x5400-0x5c00都是未使用的),在主程序里做了2件事(1,将2个数写到0x5400。2,擦除0x5000-0x5800)执行的代码全部在0x4c00以内,运行结果是0x5000-0x5400的内容擦不掉(这部分是JLINK烧写的),0x5400-0x5800的内容就擦掉了(这部分是程序操作的),由此得出的猜想:是不是JLINK对部分代码存储空间做了保护?

一周热门 更多>