msp430用IAR编译出现如下提示,求大神解决呀

Error[e16]:SegmentDATA16_Z(size:0x400align:0x1)istoolongforsegmentdefinition.Atleast0... Error[e16]: Segment DATA16_Z (size: 0x400 align: 0x1) is too long for segment definition. At least 0x200 more bytes needed. The problem occurred while processing

the segment placement command "-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I,DATA16_HEAP+_DATA16_HEAP_SIZE=0200-03FF", where at the
moment of placement the available memory ranges were "CODE:200-3ff"
Reserved ranges relevant to this placement:

200-3ff DATA16_I
展开
 我来答
bettergreen
2012-07-26 · TA获得超过1913个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:508万
展开全部
光看告警时看不出什么的,具体的得把程序放上来,不过看你的告警应该是数组DATA16_Z定义的太长了,导致没有足够的空间分配给数组。 你在仔细看看数组的定义,是不是定义错了。
追问
程序太长了粘不上来,编译是对的,就是make的时候报错,这个程序在26系列上能跑,我移植到g2553就不行了
追答
编译只是看你的程序有没有语法错误,Make的时候要给你的程序和数据分配存储空间,不同系列的单片机的存储空间大小也是不一样的,你不妨把数组的长度减小的0x200以下,看下能够通过就能说明问题了。不过得保证你后面用到的数组长度不能超过你定义的数组长度。否则会报新的错误。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwk_guyu
2012-07-29
知道答主
回答量:14
采纳率:0%
帮助的人:10.3万
展开全部
数据类型超过单片机的寻址范围。工程设置中将默认编译的单片机设置置为249
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式