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

对于低版本打不开高版本的工程,解决方法见点击打开链接

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

你可能感兴趣的:(IAR9.0以上版本编译低版本的协议栈常见错误及解决方法)