51单片机15k的flash room装不下我的程序,怎么回事

2019-07-16 01:37发布

我用的keil软件编写的程序,选的是STC89 C53单片机,编译时显示出错 DATA:SEGMENT TOO LARGE。我把存储模式调为PDATA时就没出错,用ISP烧录时显示程序大小只有4K。可是C53有15K的flash room,怎么会装不下4K程序,很是疑惑,求解答(本人是新手,望多指教)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
wufa1986
1楼-- · 2019-07-16 02:37
 精彩回答 2  元偷偷看……
whyywb
2楼-- · 2019-07-16 05:49
wufa1986 发表于 2013-4-6 11:24
你这是声明的变量超出了范围,keil 51的ram是分区data  xdata的,data只有256bytes,剩余为xdata ...

这种问题要怎么解决啊
wufa1986
3楼-- · 2019-07-16 11:36
whyywb 发表于 2013-4-6 11:26
这种问题要怎么解决啊

你看一下是否有连续的大数组声明,把它声明在xdata区域
dongyumin
4楼-- · 2019-07-16 13:15
楼上正解。编译后,会显示占用多少 data区,xdata区,rom区。看看前者 是否超出范围
whyywb
5楼-- · 2019-07-16 16:03
谢谢楼上两位,问题解决了,声明的数组太大了,刚试了下声明在xdata区就没问题了

一周热门 更多>