IAR编译zigbee出现问题Undefined external "?V1" referred in AF
2017-07-20 14:48
435 查看
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 )解决问题如下:原来这个是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文件内容如下:
;----------------------------------------------------------------; ; 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 REQU a8df IRE ?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
相关文章推荐
- IAR编译出现Error[e46]: Undefined external "_NOP" referred in main
- Error[e46]: Undefined external "?V1" referred in AF
- Zigbee调试问题 IAR编译出现 Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option (-Z, -b or -P)
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题的解决
- vs2008编译时出现问题解决方法:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tma
- 开发中碰到的问题:Android应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arab
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题的解决
- 解决apcu-bc在安装中出现的问题。 今天在编译安装apcu-bc时出现了:apc.so: undefined symbol: zif_apcu_store in Unknown on line 0
- ZigBee IAR编译问题 Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option
- 问题记录:hadoop集群提交job时出现Exception in thread "main" java.io.IOException: Error opening job jar:
- 解决gcc 编译时报错"undefined reference to 'main'" 问题
- 程序编译是出现"field has incomplete type"问题的解决
- 安装caffe编译opencv3.0出现error: a storage class is not allowed in an explicit specialization问题
- window模态导航控制器出现的问题 "whose view is not in the window hierarchy!"
- 使用dsoframer控件出现"Unable to display the inactive document. Click here to reactivate the document."的问题 .
- vs2008编译时出现问题解决方法:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
- keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法
- "action_settings" is not translated in "af"问题