Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

GNUARM tools

Posted by Nobody/Anonymous on March 18, 2005
I am trying to get the GNU tools setup. I have downloaded the binaries for the GNUARM and installed on the m/c. I lso have a copy of make utility installed. When I run the make on the makefile under Demo for ARM7_LPC2106_GCC, I get errors for missing definitions. It appears that I am missing something. The error message is enclosed. Will appreciate some help on this. (The ARM7_LPC2129_Keil -- demo compiles just fine - May be there is an issue with GNU tools I have downloaded.
Error is as follows:
C:\Documents and Settings\My documentss\FreeRTOSv2.6.1\FreeRTOS\Demo\ARM7_LPC2106_GCC>make
arm-elf-gcc -c -Wall -D -D GCC_ARM7 -I. -I../../Source/include -I../Common/incl
ude -mcpu=arm7tdmi -T -Wcast-align ../../Source/portable/GCC/ARM7/portISR.c -o
../../Source/portable/GCC/ARM7/portISR.o
arm-elf-gcc: GCC_ARM7: No such file or directory
<command line>:3:1: macro names must be identifiers
In file included from ../../Source/portable/GCC/ARM7/portISR.c:56:
../../Source/include/portable.h:103: error: parse error before '*' token
../../Source/include/portable.h:103: error: parse error before '*' token
../../Source/include/portable.h:103: warning: type defaults to `int' in declarat
ion of `pxPortInitialiseStack'
../../Source/include/portable.h:103: warning: data definition has no type or sto
rage class
../../Source/include/portable.h:108: error: parse error before "usSize"
../../Source/include/portable.h:116: error: parse error before "sPortStartSchedu
ler"
../../Source/include/portable.h:116: error: parse error before "sUsePreemption"
../../Source/include/portable.h:116: warning: type defaults to `int' in declarat
ion of `sPortStartScheduler'
../../Source/include/portable.h:116: warning: data definition has no type or sto
rage class
../../Source/include/portable.h:132: error: parse error before "usPortCheckFreeS
tackSpace"
../../Source/include/portable.h:132: error: parse error before '*' token
../../Source/include/portable.h:132: warning: type defaults to `int' in declarat
ion of `usPortCheckFreeStackSpace'
../../Source/include/portable.h:132: warning: data definition has no type or sto
rage class
In file included from ../../Source/include/task.h:37,
from ../../Source/portable/GCC/ARM7/portISR.c:57:
../../Source/include/list.h:71: error: parse error before "portTickType"
../../Source/include/list.h:71: warning: no semicolon at end of struct or union
../../Source/include/list.h:76: error: parse error before '}' token
../../Source/include/list.h:84: warning: no semicolon at end of struct or union
../../Source/include/list.h:84: error: parse error before "usNumberOfItems"
../../Source/include/list.h:88: error: parse error before '}' token
../../Source/include/list.h:88: warning: type defaults to `int' in declaration o
f `xList'
../../Source/include/list.h:88: warning: data definition has no type or storage
class
../../Source/include/list.h:206: error: parse error before '*' token
../../Source/include/list.h:232: error: parse error before '*' token
../../Source/include/list.h:254: error: parse error before '*' token
In file included from ../../Source/portable/GCC/ARM7/portISR.c:57:
../../Source/include/task.h:196: error: parse error before "sTaskCreate"
../../Source/include/task.h:196: error: parse error before '*' token
../../Source/include/task.h:196: warning: type defaults to `int' in declaration
of `sTaskCreate'
../../Source/include/task.h:196: warning: data definition has no type or storage
class
../../Source/include/task.h:291: error: parse error before "xTicksToDelay"
../../Source/include/task.h:350: error: parse error before '*' token
../../Source/include/task.h:397: error: parse error before "ucTaskPriorityGet"
../../Source/include/task.h:397: warning: type defaults to `int' in declaration
of `ucTaskPriorityGet'
../../Source/include/task.h:397: warning: data definition has no type or storage
class
../../Source/include/task.h:439: error: parse error before "ucNewPriority"
../../Source/include/task.h:581: error: parse error before "sUsePreemption"
../../Source/include/task.h:737: error: parse error before "cTaskResumeAll"
../../Source/include/task.h:737: warning: type defaults to `int' in declaration
of `cTaskResumeAll'
../../Source/include/task.h:737: warning: data definition has no type or storage
class
../../Source/include/task.h:754: error: parse error before "xTaskGetTickCount"
../../Source/include/task.h:754: warning: type defaults to `int' in declaration
of `xTaskGetTickCount'
../../Source/include/task.h:754: warning: data definition has no type or storage
class
../../Source/include/task.h:769: error: parse error before "usTaskGetNumberOfTas
ks"
../../Source/include/task.h:769: warning: type defaults to `int' in declaration
of `usTaskGetNumberOfTasks'
../../Source/include/task.h:769: warning: data definition has no type or storage
class
../../Source/include/task.h:797: error: parse error before '*' token
../../Source/include/task.h:819: error: parse error before '*' token
../../Source/include/task.h:833: error: parse error before "usTaskEndTrace"
../../Source/include/task.h:833: warning: type defaults to `int' in declaration
of `usTaskEndTrace'
../../Source/include/task.h:833: warning: data definition has no type or storage
class
../../Source/include/task.h:873: error: parse error before '*' token
../../Source/include/task.h:890: error: parse error before "cTaskRemoveFromEvent
List"
../../Source/include/task.h:890: warning: type defaults to `int' in declaration
of `xList'
../../Source/include/task.h:890: error: parse error before '*' token
../../Source/include/task.h:890: warning: type defaults to `int' in declaration
of `cTaskRemoveFromEventList'
../../Source/include/task.h:890: warning: data definition has no type or storage
class
../../Source/portable/GCC/ARM7/portISR.c:65: error: parse error before "ulCritic
alNesting"
../../Source/portable/GCC/ARM7/portISR.c:65: warning: type defaults to `int' in
declaration of `ulCriticalNesting'
../../Source/portable/GCC/ARM7/portISR.c:65: warning: data definition has no typ
e or storage class
../../Source/portable/GCC/ARM7/portISR.c: In function `vPortISRStartFirstTask':
../../Source/portable/GCC/ARM7/portISR.c:83: warning: implicit declaration of fu
nction `portRESTORE_CONTEXT'
../../Source/portable/GCC/ARM7/portISR.c: In function `vPortYieldProcessor':
../../Source/portable/GCC/ARM7/portISR.c:103: warning: implicit declaration of f
unction `portSAVE_CONTEXT'
../../Source/portable/GCC/ARM7/portISR.c: In function `vNonPreemptiveTick':
../../Source/portable/GCC/ARM7/portISR.c:126: error: `T0_IR' undeclared (first u
se in this function)
../../Source/portable/GCC/ARM7/portISR.c:126: error: (Each undeclared identifier
is reported only once
../../Source/portable/GCC/ARM7/portISR.c:126: error: for each function it appear
s in.)
../../Source/portable/GCC/ARM7/portISR.c:126: error: parse error before "portCHA
R"
../../Source/portable/GCC/ARM7/portISR.c:127: error: `VICVectAddr' undeclared (f
irst use in this function)
../../Source/portable/GCC/ARM7/portISR.c:127: error: parse error before "portLON
G"
../../Source/portable/GCC/ARM7/portISR.c: In function `vPortExitCritical':
../../Source/portable/GCC/ARM7/portISR.c:210: error: parse error before "portLON
G"
../../Source/portable/GCC/ARM7/portISR.c:217: error: parse error before "portLON
G"
../../Source/portable/GCC/ARM7/portISR.c: At top level:
../../Source/include/list.h:87: error: storage size of `xListEnd' isn't known
make: *** [../../Source/portable/GCC/ARM7/portISR.o] Error 1


Thanks

RE: GNUARM tools

Posted by Richard on March 19, 2005
All these errors come from the first problem:

"arm-elf-gcc: GCC_ARM7: No such file or directory"
GCC_ARM7 is a definition that must be correctly defined for the correct headers to be included.


The first part of the command line you have posted is:
"arm-elf-gcc -c -Wall -D -D GCC_ARM7"

The "-D -D" is the cause of the problem.

The makefile is configured as:
"-D $(RUN_MODE) -D GCC_ARM7"

So it looks like you don't have RUN_MODE defined. RUN_MODE should be defined as either set RUN_MODE=RUN_FROM_ROM or RUN_MODE=RUN_FROM_RAM.

Are you using one of the supplied batch files to perform the build? You should find 4 batch files in the build directory - ROM_THUM.bat, ROM_ARM.bat, RAM_THUMB.bat and RAM_ARM.bat. These setup the environment correctly and perform the build.

Please read the port documentation on the FreeRTOS.org WEB site. This describes the build environment.

Regards.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS