搜索
bottom↓
回复: 12

单片机实际可用的程序存储空间的问题

[复制链接]

出1325入193汤圆

发表于 2019-11-6 21:59:16 | 显示全部楼层 |阅读模式
在用c8051f350单片机做温度采集和发送的项目,在项目的进展中,为不使得程序所占空间超过单片机的容量(8K),逐步的添加功能,但当程序写到6.6K时,程序便开始出现问题,程序执行一次后便无法再次执行. 说明FLASH擦除出现了问题,难道此单片机的真正可用容量只有这么大吗?
        减小几百个字节后,程序可以运行,但AD采集温度前两个通道出现错误;
       再减小几个字节,程序运作正常,温度采集也正常。
     why?标称8KFLASH的单片机可用空间仅仅是6.6K么?目前程序所占空间为:
    Program Size: data=79.4 xdata=712 code=6613;
    这时候正常,再增加程序会出现意想不到的错误·······
***************************************************************
这是一位网友的帖子,ms没有一个满意的答案, 前几天俺也遇到类似的问题  请问 大家有没有遇到这样的坑  是怎么爬出来的.

阿莫论坛20周年了!感谢大家的支持与爱护!!

该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981

出0入362汤圆

发表于 2019-11-6 22:11:39 | 显示全部楼层
没用过c8051。。。我把65536字节的stm32写到过65520还是多少,也没问题啊。不过之后就换128k的了。

出0入442汤圆

发表于 2019-11-6 22:20:46 | 显示全部楼层
可能编译器出bug了。我之前是AVR代码超过8KB之后开始出现各种异常情况,折腾一段时间无果切换riscv了。。

出0入0汤圆

发表于 2019-11-6 22:43:57 | 显示全部楼层
应该不会,看一下MAP文件

出0入0汤圆

发表于 2019-11-6 22:44:11 | 显示全部楼层
c8051应该最后512bytes不让用,Flash用满也没出现问题

出0入21汤圆

发表于 2019-11-6 22:47:06 | 显示全部楼层
相当古老的片子了,不知现在价格如何?

出0入0汤圆

发表于 2019-11-6 22:58:51 | 显示全部楼层
我用过C8051F410和411,是量产的产品(每月差不多能k的量吧),写得满满的,没问题啊
后来是因为要增加代码,优化、压缩后还是几乎用完Flash,所以才改了STM32

出0入442汤圆

发表于 2019-11-7 07:16:54 来自手机 | 显示全部楼层
wincom 发表于 2019-11-6 22:58
我用过C8051F410和411,是量产的产品(每月差不多能k的量吧),写得满满的,没问题啊
后来是因为要增加代码 ...

哈哈,8位机代码量还真不一定比32位机少多少。反而32位机的压缩指令集吊打8位机。

出0入0汤圆

发表于 2019-11-7 08:38:42 | 显示全部楼层
看楼主的意思,程序中有对flash的擦除操作?
是把flash当作EEPROM使用么?
万一地址与代码段有重叠自然是会把有代码的地方给擦掉的。

出0入0汤圆

发表于 2019-11-7 09:04:26 | 显示全部楼层
如果有对片内Flash的读写的操作,是不是这些函数的区域超过规定的地址。有些芯片对于操作flash的函数的地址有要求,要在某一个地址范围之内!

出0入0汤圆

发表于 2019-11-7 10:28:05 | 显示全部楼层
lcw_swust 发表于 2019-11-7 08:38
看楼主的意思,程序中有对flash的擦除操作?
是把flash当作EEPROM使用么?
万一地址与代码段有重叠自然是会 ...

我也是这么认为的

出0入0汤圆

发表于 2019-11-7 12:31:32 来自手机 | 显示全部楼层
yangbo18416 发表于 2019-11-7 09:04
如果有对片内Flash的读写的操作,是不是这些函数的区域超过规定的地址。有些芯片对于操作flash的函数的地址 ...

这个有可能,所以我们公司要求程序运行前要做MD5检验。

出0入0汤圆

发表于 2020-4-14 20:40:31 | 显示全部楼层
关注这个问题,等待答案
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-1 07:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表