在用c8051f350单片机做温度采集和发送的项目,在项目的进展中,为不使得程序所占空间超过单片机的容量(8K),逐步的添加功能,但当程序写到6.6K时,程序便开始出现问题,程序执行一次后便无法再次执行. 说明FLASH擦除出现了问题,难道此单片机的真正可用容量只有这么大吗?
减小几百个字节后,程序可以运行,但AD采集温度前两个通道出现错误;
再减小几个字节,程序运作正常,温度采集也正常。
why?标称8KFLASH的单片机可用空间仅仅是6.6K么?目前程序所占空间为:
Program Size: data=79.4 xdata=712 code=6613;
这时候正常,再增加程序会出现意想不到的错误·······
***************************************************************
这是一位网友的帖子,ms没有一个满意的答案, 前几天俺也遇到类似的问题 请问 大家有没有遇到这样的坑 是怎么爬出来的.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
哈哈,8位机代码量还真不一定比32位机少多少。反而32位机的压缩指令集吊打8位机。
是把flash当作EEPROM使用么?
万一地址与代码段有重叠自然是会把有代码的地方给擦掉的。
这个有可能,所以我们公司要求程序运行前要做MD5检验。
一周热门 更多>