找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3462|回复: 5
收起左侧

求助51单片机空间溢出问题

[复制链接]
ID:142817 发表于 2018-9-22 10:07 | 显示全部楼层 |阅读模式
谁知道51单片机编程编译时空间溢出咋解决呀,而且我用的是STC12C5A60S2芯片,其存储空间不是很大的吗,我才用了一点点咋就溢出了
{Y}}{[[A[O3E]VPES_KBRES.png

回复

使用道具 举报

ID:61973 发表于 2018-9-22 22:58 来自手机 | 显示全部楼层
你这个是变量太多了,在定义变量的前面加上xdata
回复

使用道具 举报

ID:388197 发表于 2018-9-22 23:28 | 显示全部楼层
程序全局或者静态变量估计有点多,建议把数组前面加个CODE,放在程序区里去.
点击"options for target"(就是第一次编译要生成HEX那个按钮),然后点选target标签,下面有两个下拉菜单,标题分别是Memory mode 和 Code Rom size,前者是RAM大小,后者是ROM,分别可以改为大中小,你更改下RAM设置再试试编译.

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:387733 发表于 2018-9-23 08:19 | 显示全部楼层
嵌入式系统的内存资源是很有限的,特别是51系统,分成了BDATA,DATA,IDATA,XDATA,使用的时候要引起注意,最好的DATA段也是最应该节约的,因为该段可以直接寻址,而R0~R7,BDATA段都在该区段内,使得仅有的128个字节更加紧张,能用IDATA段的尽量用IDATA段,像数组本来就不需要直接寻址的,建议放在IDATA段。但是要注意的是必须留出足够的堆栈空间。
回复

使用道具 举报

ID:142817 发表于 2018-10-13 16:57 | 显示全部楼层
谢谢各位大神,溢出问题已解决
回复

使用道具 举报

ID:458348 发表于 2019-3-23 22:23 | 显示全部楼层
花开半夏 发表于 2018-10-13 16:57
谢谢各位大神,溢出问题已解决

请问楼主,c51地址空间溢出怎么解决的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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