IAR编译zigbee出现问题Undefined external "?V1" referred in AF
来源:互联网 发布:中国离婚率知乎 编辑:程序博客网 时间:2024/06/05 14:25
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)
Obj\AF.r51
解决问题如下:
原来这个是IAR版本的问题引起的,参考这个 http://supp.iar.com/Support/?Note=98110
按照参考里面说的解决方法,将workaround.s51文件加到工程里(我是加到了C:\Texas Instruments\Z-Stack Lighting 1.0.2\Projects\zstack\ZMain\TI2530DB目录下,注意要在工程里该目录右击“add file ... ”),然后再次rebuild后,原来的问题没有了,但是出现了第二个问题,
“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-_IDATA0_END",where at the moment of placement the available memory ranges were "IDATA:4e-ff" ”
于是又查到http://e2e.ti.com/support/low_power_rf/f/538/p/303921/1061753.aspx
根据以上列出的这个帖子里面的Luis Johnson (就是贴出了一大个图的那个)给出的解决方法,将numbers of virtual registers 由16 改为8个,再次rebuild,就OK了,没有报错。
按照参考里面说的解决方法,将workaround.s51
“Error[e16]:
"-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA0_END",
于是又查到
根据以上列出的这个帖子里面的
workaround.s51文件内容如下:
;----------------------------------------------------------------;; Virtual registers ;; ================= ;; Below is some segment needed for the IAR ICC C/EC++ compiler ;; ;; BREG : A segment for 8 bit registers for use by the compiler. ;; ?B0 is the first register. ;; VREG : Segment that holds up to 32 virtual registers for ;; use by the compiler. ?V0 is the first register. ;; PSP : Segment containing the PDATA stack pointer (?PSP) ;; XSP : Segment containing the XDATA stack pointer (?XSP) ;; ;;----------------------------------------------------------------;;----------------------------------------------------------------; PROGRAM VIRTUAL_REGISTERS PUBLIC ?B0 PUBLIC ?V0 PUBLIC ?V1 PUBLIC ?V2 PUBLIC ?V3 PUBLIC ?V4 PUBLIC ?V5 PUBLIC ?V6 PUBLIC ?V7 PUBLIC ?V8 PUBLIC ?V9 PUBLIC ?V10 PUBLIC ?V11 PUBLIC ?V12 PUBLIC ?V13 PUBLIC ?V14 PUBLIC ?V15 PUBLIC ?V16 PUBLIC ?V17 PUBLIC ?V18 PUBLIC ?V19 PUBLIC ?V20 PUBLIC ?V21 PUBLIC ?V22 PUBLIC ?V23 PUBLIC ?V24 PUBLIC ?V25 PUBLIC ?V26 PUBLIC ?V27 PUBLIC ?V28 PUBLIC ?V29 PUBLIC ?V30 PUBLIC ?V31 PUBLIC ?PSP PUBLIC ?XSP RSEG BREG:BIT:NOROOT?B0: DS 8 RSEG VREG:DATA:NOROOT?V0: DS 1?V1: DS 1?V2: DS 1?V3: DS 1?V4: DS 1?V5: DS 1?V6: DS 1?V7: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V7?V8: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V8?V9: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V9?V10: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V10?V11: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V11?V12: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V12?V13: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V13?V14: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V14?V15: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V15?V16: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V16?V17: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V17?V18: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V18?V19: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V19?V20: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V20?V21: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V21?V22: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V22?V23: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V23?V24: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V24?V25: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V25?V26: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V26?V27: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V27?V28: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V28?V29: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V29?V30: DS 1 RSEG VREG:DATA:NOROOT REQUIRE ?V30?V31: DS 1 RSEG PSP:DATA:NOROOT EXTERN ?RESET_PSP REQUIRE ?RESET_PSP?PSP: DS 1 RSEG XSP:DATA:NOROOT EXTERN ?RESET_XSP REQUIRE ?RESET_XSP?XSP: DS 2 ENDMOD ; VIRTUAL_REGISTERS END
第二个问题如下:
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"
Reserved ranges relevant to this placement:
IDATA:8-1f VREG
IDATA:21-40 VREG
IDATA:41-42 XSP
IDATA:43-43 DATA_I
IDATA:44-4b DATA_Z
IDATA:4c-4d IDATA_Z
IDATA:4e-ff ISTACK
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
Error while running Linker
Total number of errors: 1
Total number of warnings: 0I had the exact same problem and I just change the number of virtual registers from 16 to 8
阅读全文
0 0
- IAR编译zigbee出现问题Undefined external "?V1" referred in AF
- Error[e46]: Undefined external "?V1" referred in AF
- IAR编译出现Error[e46]: Undefined external "_NOP" referred in main
- Error[e46]: Undefined external "debug_str::?relay" referred
- ZigBee IAR编译问题 Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option
- IAR编译 Warning[Pa082]:undefined behavior: the order of volatile accesses is undefined in this stateme
- 使用IAR和ZigBee遇到的问题
- 关于模版类编译出现unresolved external symbol的问题
- STM8 IAR 编译问题
- zigbee编译调试时可能出现的问题
- zigbee编译调试时可能出现的问题
- keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法
- Win7 64 ADS1.2 编译弹出Error: L6218E: Undefined symbol sprintf (referred from 2440...)
- Win7 64 ADS1.2 编译弹出Error: L6218E: Undefined symbol sprintf (referred from 2440...)
- Win7 64 ADS1.2 编译弹出Error: L6218E: Undefined symbol sprintf (referred from 2440...)
- Win7 64 ADS1.2 编译弹出Error: L6218E: Undefined symbol sprintf (referred from 2440...)
- STM32关于编译不通过,错误提示 Error: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o
- 编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
- myeclipse断点调试常用工具
- eclipse 中 操作 git
- C#委托事件应用实例
- LinkedList源码(1)
- 笔试题1——找到字符串中第一个只出现一次的那个字符
- IAR编译zigbee出现问题Undefined external "?V1" referred in AF
- CountDownLatch和CyclicBarrier使用及区别
- 【wyy】springIOC之属性注入
- 关于Platform SDK和Windows SDK
- JAVA 锁
- Spring 文件上传
- 贯穿设计过程的UX设计工具推荐
- Javascript之BOM与DOM讲解
- Coursera Algorithms week1 Interview Questions: Search in a bitonic array