我目前正试图用Contiki中的以下命令为tmote sky平台编译一个程序:
1)“使sky-shell-exec.sky TARGET=sky”
2)“使sky-shell-exec.sky CORE=sky-shell-exec.sky TARGET=sky”
我知道第一个命令可以工作,但是第二个错误如下:
“contiki sky.a(symbols.o):(.rodata+0x1f00):根据sky-shell-exec.sky中ABS节中定义的符号'\u efartext'截断重新定位以适应:R_MSP430_16_字节”
contiki sky.a(symbols.o):(.rodata+0x1f1c):根据sky shell exec.sky.vectors节中定义的符号'\u vectors''end'截断重新定位以适应:R_MSP430_16_字节”
我的msp430 gcc版本是4.7.0 20120322(mspgcc dev 20120716)。
我试着四处看看,但没有发现这个错误。
我假设这意味着我的符号表空间不足,我应该压缩代码我已经试过这样做了,现在我已经不能再减少代码了我这么想对吗?
有人知道这意味着什么,可能有办法解决它吗?
谢谢!
最佳答案
结果发现,我的错误与我的工作代码库比我想象的更为具体我使用的是修改版的contiki 2.6和msp430 gcc 4.7.0我有一个即时contiki 2.7的虚拟机,然后分支修改后的contiki2.6在同一个虚拟机上工作msp430 gcc 4.7.0对contiki 2.7很好,但是当我在contiki2.6的分支上工作时,一切都坏了据我猜测,这个问题是由Makefile.include中两个代码基之间的差异引起的我假设contiki 2.6不是为msp430 gcc 4.7.0构建的因此,为了在2.6上工作,我目前正在切换到msp430 gcc 4.5.3,并为contiki 2.6制作一个完全独立的虚拟机,这似乎是工作到目前为止不过在sky shell exec示例中有一些问题所以我可能最终会使用msp430 gcc 4.6.3。
关于c - Contiki,MSP430:截断重定位以适合符号错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26757295/