2017-02-03 22 views
0

Как избавиться от ошибки, которую я получил на make TARGET=sky?Конфигурация msp430-unknown-none не поддерживается

ОШИБКА 1: (.text не будет вписываться в регионе rom)

1.c: At top level: 
1.c:14:57: warning: ‘last_informer’ defined but not used [-Wunused-variable] 
/usr/lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: 1.sky section `.text' will not fit in region `rom' 
/usr/lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: section .vectors loaded at [000000000000ffe0,000000000000ffff] overlaps section .text loaded at [0000000000004000,00000000000110eb] 
/usr/lib/gcc/msp430/4.6.3/../../../../msp430/bin/ld: region `rom' overflowed by 6342 bytes 
/usr/lib/gcc/msp430/4.6.3/mmpy-16/libcrt0.a(_copy_data.o): In function `__do_copy_data': 
/build/buildd/gcc-msp430-4.6.3~mspgcc-20120406/./gcc-4.6.3/gcc/config/msp430/crt0.S:195: relocation truncated to fit: R_MSP430_16_BYTE against symbol `__data_load_start' defined in *ABS* section in 1.sky 
obj_sky/contiki-sky-main.o: In function `main': 
contiki-sky-main.c:(.init9+0x76): relocation truncated to fit: R_MSP430_16 against symbol `memset' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(memset.o) 
contiki-sky-main.c:(.init9+0x82): relocation truncated to fit: R_MSP430_16 against symbol `memcpy' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(memcpy.o) 
contiki-sky-main.c:(.init9+0x8c): relocation truncated to fit: R_MSP430_16_BYTE against `no symbol' 
contiki-sky-main.c:(.init9+0x90): relocation truncated to fit: R_MSP430_16 against symbol `printf' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(printf.o) 
contiki-sky-main.c:(.init9+0xa0): relocation truncated to fit: R_MSP430_16_BYTE against `no symbol' 
contiki-sky-main.c:(.init9+0xa4): relocation truncated to fit: R_MSP430_16 against symbol `printf' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(printf.o) 
contiki-sky-main.c:(.init9+0xb8): relocation truncated to fit: R_MSP430_16_BYTE against `no symbol' 
contiki-sky-main.c:(.init9+0xbc): relocation truncated to fit: R_MSP430_16 against symbol `printf' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(printf.o) 
contiki-sky-main.c:(.init9+0xd8): relocation truncated to fit: R_MSP430_16 against symbol `memset' defined in .text section in /usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(memset.o) 
contiki-sky-main.c:(.init9+0x116): additional relocation overflows omitted from the output 
collect2: ld returned 1 exit status 
make: *** [1.sky] Error 1 

Makefile:

dINES+=PROJECT_CONF_H=\"project-conf.h\" 
CONTIKI_PROJECT = 1 2 
LIBS += node-id 
all: $(CONTIKI_PROJECT) 

CONTIKI = ../.. 

WITH_UIP6=1 
UIP_CONF_IPV6=1 

CFLAGS+= -DUIP_CONF_IPV6_RPL -DUIP_CONF_IPV6 -DWITH_UIP6 
TARGET_LIBFILES+=-lm 
ifdef PERIOD 
CFLAGS=-DPERIOD=$(PERIOD) 
endif 

include $(CONTIKI)/Makefile.include 

Я использую mspgcc версии 4.6.3. Некоторые сайты предложили использовать mspgcc версии 4.7, чтобы избавиться от ERROR 1.

Следуя инструкциям на https://github.com/contiki-os/contiki/wiki/MSP430X я получил следующее сообщение об ошибке:

ОШИБКА 2: (Конфигурация MSP430-неизвестно-никто не поддерживается)

checking whether times is declared... yes 
checking whether sigaltstack is declared... yes 
checking whether madvise is declared... yes 
checking for struct tms... yes 
checking for clock_t... yes 
checking if mkdir takes one argument... no 
*** Configuration msp430-unknown-none not supported 
make[1]: *** [configure-gcc] Error 1 
make[1]: Leaving directory `/home/taare/tmp/gcc-4.7.0-msp430' 

пытается обновить mspgcc правильный способ получения rid ERROR 1?

Если да, то как мне решить ERROR 2?

Если нет, то как мне решить ERROR 1?

+0

Вы можете получить MSP430 4.6 здесь:. Http://simonduq.github.io/resources/mspgcc-4.7.2-compiled. tar.bz2 – kfx

+1

Это не поможет с вашей проблемой, хотя вы из-за флеш-памяти вы используете 6342 байта. Невозможно построить все, что вы строите для Неба. Выберите другую платформу msp430. – kfx

+0

Спасибо! Что такое другие платформы msp430? или Нужно, чтобы программа запускалась изначально, чтобы удовлетворить ограничениям памяти? –

ответ

0

Отвечая на мой вопрос для будущих пользователей.

Даже после оптимизации кода, если section '.text' will not fit in region rom ошибка сохраняется, то она может быть решена следующим образом:

  1. Используйте любой из other contiki platforms по радио необходимо.

  2. Попробуйте обновить mspgcc до последней версии. [Это может не всегда решить вашу проблему. На некоторых других форумах я прочитал это предложение, так что я перечислил его здесь]