TI中文支持网
TI专业的中文技术问题搜集分享网站

DATA MODAL 选用LARGE模式后编译出错

我使用的是MCU是MSP430F5359,RAM资源有66K,分成两段地址,2400-63FF和F0000-FBFFF,我使用的编译器为IAR6.3,当DATA MODEL 选择为LARGE时出现编译错误。

LinkingError[e18]: Range error, Number out of range. Valid range is -32768 (-0x8000) to 65535 (0xFFFF). File: E:\GLUCOSE\DILUTE\SOFT\mcu_dilute\sourcefiles\cstartup.s43, Line: 351 Source: MOV.W #(SFB DATA20_ID), CW1 Where $ = ?cstart_init_copy20 + 0x6 [0x8050] in module "?cstart" (E:\GLUCOSE\DILUTE\SOFT\mcu_dilute\Debug\Obj\cstartup.r43), offset 0x6 in segment part 22, segment CSTART What: 0 + SFB(DATA20_ID) [0x25D5A] Allowed range: 0xFFFF8000 – 0xFFFF Operand: #no label found# [0x25d5a] in module ?cstart (E:\GLUCOSE\DILUTE\SOFT\mcu_dilute\Debug\Obj\cstartup.r43), Offset 0x0 in segment part 9, segment DATA20_IDError while running LinkerTotal number of errors: 1Total number of warnings: 8

cstartup.s43文件是IAR系统自带的,应该怎么处理呢?

灰小子:

很久不用iar了。你的工程是官网例程,还是自己新建立的,还是其他来源?

推荐使用ccs,毕竟是官方出品,兼容性更好

user4850822:

回复 灰小子:

是自己建立的工程,前面因为软件还不大,代码有110多K,数据用了15K,所以DATA MODAL 选择MEDIUM,一直都很正常,产品都已经卖了几年了,现在软件有新需求,需要使用更大RAM资源,需要启动后续高地址段的RAM,DATA MODAL才选择LARGE,编译就出错了。以前有使用过CCS,感觉编译效率比IAR差很多,就没用。

赞(0)
未经允许不得转载:TI中文支持网 » DATA MODAL 选用LARGE模式后编译出错
分享到: 更多 (0)