EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

lpc2106 FreeRTOS Demo

Started by jsalomo1 January 25, 2008
I'm trying to get the FreeRTOS lpc2106 demo application compiled in
Eclipse. I didn't change much to the demo files. Since I am trying to
get it to work on an lpc2292, the memory sizes were changed.

This is the error I got:

/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccXwL2Mb.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/libgcc.a)_udivsi3.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/libgcc.a)_dvmd_tls.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/libgcc.a)_addsubdf3.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/libgcc.a)_muldivdf3.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/libgcc.a)_cmpdf2.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)atexit.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)exit.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)impure.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)init.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)memcpy.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)memset.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)strncpy.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)syscalls.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)__atexit.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)__call_atexit.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)errno.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)findfp.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)fwalk.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)malloc.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)mallocr.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)mlock.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)sbrkr.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)stdio.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)strlen.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)writer.o
/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/ld:
error: no memory region specified for loadable section `.init'
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)closer.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)fclose.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)fflush.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)freer.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)lseekr.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)readr.o
(/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/lib/libg.a)reent.o
/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/crtend.o
/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/crtn.o
collect2: ld returned 1 exit status
make: *** [RTOSDemo.elf] Error 1
make: Target `all' not remade because of errors.

Makefile: http://paste-it.net/5990
Linker: http://paste-it.net/5993
boot.s: http://paste-it.net/5992

==
What exactly does that mean? Is that a section needed in the linker
script?

An Engineer's Guide to the LPC2100 Series

> What exactly does that mean? Is that a section needed in the linker
> script?
I can only test using GNUARM and YAGARTO, but if I go into the
ARM7_LPC2106_GCC and use the batch files to build the code (as per the build
instructions), then I get the following output (note from the first line
this is the rom_thumb build):

--- Output start

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>rom_thumb

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>set USE_THUMB_MODE=YES

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>set DEBUG=

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>set OPTIM=-O3

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>set RUN_MODE=RUN_FROM_ROM

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>set LDSCRIPT=lpc2106-rom.ld

C:\E\Dev\FreeRTOS\Demo\ARM7_LPC2106_GCC>make
arm-elf-gcc -c -Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast
-Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wunused -D RUN_FROM_ROM -D
GCC_ARM7 -I. -I../../Source/include -I../Common/include -mcpu=arm7
tdmi -Tlpc2106-rom.ld -O3 -fomit-frame-pointer -mthumb-interwork -D
THUMB_INTERWORK ../../Source/portable/GCC/ARM7_LPC2000/portISR.c -o ../.
./Source/portable/GCC/ARM7_LPC2000/portISR.o
arm-elf-gcc -c -Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast
-Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wunused -D RUN_FROM_ROM -D
GCC_ARM7 -I. -I../../Source/include -I../Common/include -mcpu=arm7
tdmi -Tlpc2106-rom.ld -O3 -fomit-frame-pointer -mthumb-interwork -D
THUMB_INTERWORK serial/serialISR.c -o serial/serialISR.o
arm-elf-gcc -c -mthumb -Wall -Wextra -Wshadow -Wpointer-arith
-Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return
-Wstrict-pr
ototypes -Wmissing-prototypes -Wmissing-declarations -Wunused -D
RUN_FROM_ROM -D GCC_ARM7 -I. -I../../Source/include -I../Common/include -m
cpu=arm7tdmi -Tlpc2106-rom.ld -O3 -fomit-frame-pointer -mthumb-interwork -D
THUMB_INTERWORK main.c -o main.o



arm-elf-gcc -c -mthumb -Wall -Wextra -Wshadow -Wpointer-arith
-Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return
-Wstrict-pr
ototypes -Wmissing-prototypes -Wmissing-declarations -Wunused -D
RUN_FROM_ROM -D GCC_ARM7 -I. -I../../Source/include -I../Common/include -m
cpu=arm7tdmi -Tlpc2106-rom.ld -O3 -fomit-frame-pointer -mthumb-interwork -D
THUMB_INTERWORK ../../Source/portable/GCC/ARM7_LPC2000/port.c -o
../../Source/portable/GCC/ARM7_LPC2000/port.o
arm-elf-gcc -Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast
-Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -W
missing-prototypes -Wmissing-declarations -Wunused -D RUN_FROM_ROM -D
GCC_ARM7 -I. -I../../Source/include -I../Common/include -mcpu=arm7tdm
i -Tlpc2106-rom.ld -O3 -fomit-frame-pointer -mthumb-interwork -D
THUMB_INTERWORK ../../Source/portable/GCC/ARM7_LPC2000/portISR.o serial/ser
ialISR.o main.o serial/serial.o ParTest/ParTest.o
../Common/Minimal/integer.o ../Common/Minimal/flash.o
../Common/Minimal/PollQ.o ../Common/
Minimal/comtest.o ../Common/Minimal/flop.o ../Common/Minimal/semtest.o
../Common/Minimal/dynamic.o ../Common/Minimal/BlockQ.o ../../Source/t
asks.o ../../Source/queue.o ../../Source/list.o
../../Source/portable/MemMang/heap_2.o
../../Source/portable/GCC/ARM7_LPC2000/port.o -nostar
tfiles boot.s -Xlinker -ortosdemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
arm-elf-objcopy rtosdemo.elf -O ihex rtosdemo.hex

--- Output end

It looks like you are using Windoze to build, can you try using YAGARTO?

Regards,
Richard.

+ http://www.FreeRTOS.org
14 official architecture ports, 5000 downloads per month.

+ http://www.SafeRTOS.com
Certified by T as meeting the requirements for safety related systems.






The 2024 Embedded Online Conference