gccmakefilecontikimspgcc

Configuration msp430-unknown-none not supported


How do I get rid of the error I got on make TARGET=sky?

ERROR 1: (.text will not fit in region 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

I am using mspgcc version 4.6.3. Some sites suggested to use mspgcc version 4.7 to get rid of ERROR 1.

While following the instructions on https://github.com/contiki-os/contiki/wiki/MSP430X I got the following error:

ERROR 2: (Configuration msp430-unknown-none not supported)

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'

Was trying to update mspgcc a correct way of getting rid of ERROR 1?

If yes, how do I solve ERROR 2?

If no, how do I solve ERROR 1?


Solution

  • Answering my own question for future users.

    Even after optimizing the code if section '.text' will not fit in region rom error persists then it can be solved in following ways:

    1. Use any of the other contiki platforms according to the radio needed.

    2. Try updating your mspgcc to latest version. [This might not always solve your problem. On some other forums I read this suggestion,so I have listed it here.]