您的位置:首页 > 其它

IAR9.0以上版本编译低版本的协议栈常见错误及解决方法

2017-07-11 15:38 513 查看
对于低版本打不开高版本的工程,解决方法见点击打开链接IAR编辑常见错误及解决方法 点击打开链接安装了高版本IAR,9.1以上,主要出现过如下三个问题:问题1.Error[e46]: Undefined external "?V1" referred in AF ( C:\Texas Instruments\Z-Stack Lighting 1.0.2\Projects\zstack\ZLL\SampleApp\CC253x\RouterEB-Pro\ Obj\AF.r51 )问题2.
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0xe more bytes needed. The problem occurred while processing the segment placement command  

"-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at the moment of placement the available memory ranges were "IDATA:4e-ff"
解决方法:
1.:Change number of virtual registers to 8
2.替换C:\Texas Instruments\ZStack-CC2530-2.5.1a\Projects\zstack\ZMain\TI2530DB下的chipcon_cstartup.s51文件  ,文件链接在结尾
再次点击 rebuild all  即可消除
问题3.
Error[e16]: Segment RAM_CODE_FLASH (size: 0x27 align: 0) is too long for segment definition. At least 0x4 more bytes needed. The problem occurred  
while processing the segment placement command "-Z(CODE)RAM_CODE_FLASH=_RAM_CODE_FLASH_START-_RAM_CODE_FLASH_END",  where at the moment of placement the 
available memory ranges were "CODE:39ddd-39dff" 
解决方法:
根据上面说的,RAM_CODE_FLASH需要再扩大至少4个字节,打开Tool-fw82530.xcl文件,将RAM_CODE_FLASH_END的值再增大至少0x4,如下
-D_RAM_CODE_FLASH_START=0x39DDD-D_RAM_CODE_FLASH_END=(_RAM_CODE_FLASH_START+0x22)
将0x22改为0x26,具体值视错误提示而定。再次rebuild all即可消除错误
chipcon_cstartup.s51下载地址 链接: https://pan.baidu.com/s/1nvLWQjJ 密码: esv6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: