我一直在 Contiki OS (Cooja 仿真器)中为 Contiki OS 中内置的 Tmote Sky mote 模拟 MQTT 协议。 但是、当我执行复杂的 MQTT 程序时、我得到以下有关 ROM 溢出5472字节的错误。 完整的误差输出如下所示:
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld:MQTT.SKY 段`.text'将不适用于`ROM"区域
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld:在[0000ffe0、0000FFF]加载的.section .vectors 与在[0000470、00010f2f]加载的.text 段重叠。
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld:区域`ROM"溢出5472字节
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/mmpy-16/libcrt0.a (_copy_data.o):在函数`_do 复制数据'中:
/home/user/building-mspgcc/gcc-4.7.0-msp430/msp430/mmpy-16/libgcc/../../../../gcc-4.7.0/libgcc/config/msp430/crt0.S:208:(.init4+0x12):重定位被截断以适合:R_MSP430_16_byte 与 MQTT.sky * abs*部分中定义的符号`_data_load_start'相对应
obj_sky/contiki-ski-main.o:在函数`main'中:
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:262:(.text.start_network_lay+0x8):重定位被截断以适合:R_MSP430_16与 contiki-sky.a (sicslicpand.o)中.rodata 段中定义的符号`sicslespan-driver'相对应
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:267:(.text.start_network_lay+0x16):重定位被截断以适合:针对`无符号'的 R_MSP430_16_byte
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:267:(.text.start_network_lay+0x1a):重定位被截断以适合:R_MSP430_16与/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/lib/mmpy-16/libc.a 中.text.printf 段中定义的符号`printf'(printf.o)
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:280:(.text.start_network_lay+0x38):重定位被截断以适合:针对`无符号'的 R_MSP430_16_byte
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:281:(.text.start_network_lay+0x3c):重定位被截断以适合:R_MSP430_16与/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/lib/mmpy-16/libc.a 中.text.printf 段中定义的符号`printf'(printf.o)
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:307:(.text.start_network_lay+0x5a):重定位被截断以适合:针对`无符号'的 R_MSP430_16_byte
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:307:(.text.start_network_lay+0x5e):重定位被截断以适合:R_MSP430_16与/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/lib/mmpy-16/libc.a (printf.o)中.text.printf 段中定义的符号`printf'相对应
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:313:(.text.start_network_lay+0x66):重定位被截断以适合:针对`无符号'的 R_MSP430_16_byte
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:314:(.text.start_network_lay+0x6a):重定位被截断以适合:R_MSP430_16与/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/lib/mmpy-16/libc.a 中.text.printf 段中定义的符号`printf'(printf.o)
/home/user/contiki/examples/my_MQTT/../../platform/sky/./contiki-sky-main.c:314:(.text.start_network_lay+0x70):输出中省略了其他重定位溢出
collect2:错误:LD 返回1退出状态
Make:***[MQTT.SKY]错误1
RM MQTT.co obj_sky/contiki-sky-main.o
我们非常感谢您就此提供的任何帮助。