找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3522|回复: 5
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
谁知道51单片机编程编译时空间溢出咋解决呀,而且我用的是STC12C5A60S2芯片,其存储空间不是很大的吗,我才用了一点点咋就溢出了


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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段。但是要注意的是必须留出足够的堆栈空间。
回复

使用道具 举报

5#
ID:142817 发表于 2018-10-13 16:57 | 只看该作者
谢谢各位大神,溢出问题已解决
回复

使用道具 举报

6#
ID:458348 发表于 2019-3-23 22:23 | 只看该作者
花开半夏 发表于 2018-10-13 16:57
谢谢各位大神,溢出问题已解决

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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