grantkbrown wrote on Monday, October 27, 2008:
Hi,
Could anyone explain why my project failed to build. The compiler error message is listed below.
Particularly things such as “undefined reference to `vPortStartFirstTask’”
Nothing regarding the compiler has changed.
I am using the PIC32 compiler from MPLab
This project is a copy of the PIC32 demo project that comes with FreeRTOS
I can upload the project if someone tells me where.
Many thanks
Grant Brown
----------------------------------------------------------------------
Debug build of project `C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\RTOSDemo.mcp’ started.
Preprocessor symbol `__DEBUG’ is defined.
Target debug platform is `__MPLAB_DEBUGGER_PIC32MXSK=1’.
Mon Oct 27 16:04:44 2008
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\main.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\port.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\list.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\queue.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\tasks.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\heap_2.o”.
Clean: Deleted file “C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\init_PIC32MX360F512L.o”.
Clean: Done.
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “main.c” -o"main.o" -MMD -MF"main.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
main.c: In function `main’:
main.c:90: warning: implicit declaration of function `VisualInitialization’
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “…\…\Source\portable\MPLAB\PIC32MX\port.c” -o"port.o" -MMD -MF"port.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “…\…\Source\list.c” -o"list.o" -MMD -MF"list.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “…\…\Source\queue.c” -o"queue.o" -MMD -MF"queue.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “…\…\Source\tasks.c” -o"tasks.o" -MMD -MF"tasks.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “…\…\Source\portable\MemMang\heap_2.c” -o"heap_2.o" -MMD -MF"heap_2.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L -x c -c “Generated Files\VDIInit\init_PIC32MX360F512L.c” -o"init_PIC32MX360F512L.o" -MMD -MF"init_PIC32MX360F512L.d" -I"." -I"." -I"…\common\include" -I"…\…\source\portable\mplab\pic32mx" -I"…\…\source\include" -D__DEBUG -g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
Executing: “C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe” -mprocessor=32MX360F512L “main.o” “port.o” “list.o” “queue.o” “tasks.o” “heap_2.o” “init_PIC32MX360F512L.o” -o"RTOSDemo.elf" -O3 -Wl,–defsym=__MPLAB_BUILD=1,–defsym=__MPLAB_DEBUG=1,–defsym=__MPLAB_DEBUGGER_PIC32MXSK=1,–defsym=_min_heap_size=0,–defsym=_min_heap_size=0,-Map=“RTOSDemo.map”
port.o: In function `xPortStartScheduler’:
…\…\Source\portable\MPLAB\PIC32MX/port.c:163: undefined reference to `vPortStartFirstTask’
…\…\Source\portable\MPLAB\PIC32MX/port.c:163: relocation truncated to fit: R_MIPS_26 against `vPortStartFirstTask’
port.o: In function `__vector_dispatch_1’:
…\…\Source\portable\MPLAB\PIC32MX\port.c:(.vector_1+0x0): undefined reference to `vPortYieldISR’
…\…\Source\portable\MPLAB\PIC32MX\port.c:(.vector_1+0x0): relocation truncated to fit: R_MIPS_26 against `vPortYieldISR’
port.o: In function `__vector_dispatch_4’:
…\…\Source\portable\MPLAB\PIC32MX\port.c:(.vector_4+0x0): undefined reference to `vT1InterruptHandler’
…\…\Source\portable\MPLAB\PIC32MX\port.c:(.vector_4+0x0): relocation truncated to fit: R_MIPS_26 against `vT1InterruptHandler’
Link step failed.
----------------------------------------------------------------------
Debug build of project `C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\RTOSDemo.mcp’ failed.
Preprocessor symbol `__DEBUG’ is defined.
Target debug platform is `__MPLAB_DEBUGGER_PIC32MXSK=1’.
Mon Oct 27 16:04:50 2008
----------------------------------------------------------------------
BUILD FAILED