freertos and pic 24 error

nicolign wrote on Thursday, March 28, 2013:

Hi I was able to adapt my processor PIC24 FJ256 with freertos demo supplied code for PIC24 .
Now I Have my own project with TCP/IP STACK  with no freertos on it and i’m trying to port freertos on it .
I got this error when i compile the project:

Microchip\mplab c30\bin\bin\…\bin/pic30-coff-ld.exe Error: A heap is required, but has not been specified
obj\tasks.o(.text+0x53a):C:Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationTickHook’
obj\tasks.o(.text+0x53c):C:Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationTickHook’
obj\tasks.o(.text+0x544):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationTickHook’
obj\tasks.o(.text+0x546):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationTickHook’
obj\tasks.o(.text+0x56c):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationStackOverflowHook’
obj\tasks.o(.text+0x56e):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationStackOverflowHook’
obj\tasks.o(.text+0x590):C:B - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationStackOverflowHook’
obj\tasks.o(.text+0x592):C:- Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationStackOverflowHook’
obj\port.o(.text+0x90):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\portable\MPLAB\PIC24_dsPIC\port.c: undefined reference to `portRESTORE_CONTEXT’
obj\port.o(.text+0x92):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\portable\MPLAB\PIC24_dsPIC\port.c: undefined reference to `portRESTORE_CONTEXT’
Link step failed.
It seems heap problem but i added heap_3.c to my project.
Hope you can help Thanks in advance

rtel wrote on Thursday, March 28, 2013:

obj\tasks.o(.text+0x53a):C:Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationTickHook’

If configUSE_APPLICATION_TICK_HOOK is set to 1 you must provide a function called vApplicationTickHook().

obj\tasks.o(.text+0x56e):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\tasks.c: undefined reference to `vApplicationStackOverflowHook'

If configCHECK_FOR_STACK_OVERFLOW is not set to 0 then you must provide a function called vApplicationStackOverflowHook().

obj\port.o(.text+0x90):C: - Demo webserver v1.0 AdhocFreertos\FreeRTOS\Source\portable\MPLAB\PIC24_dsPIC\port.c: undefined reference to `portRESTORE_CONTEXT'

portRESTORE_CONTEXT() is defined in port.c itself.  If you look at the source code you will see that there are some #defines that must be defined to get the correct version included.  If none are defined then none will be included and you will get this error.

Regards.

nicolign wrote on Thursday, March 28, 2013:

hi richard thanks for quick reply,
I had to define the macro for the PIC 24  for portRESTORE_CONTEXT()  to get it work. Now It builds
Thanks a lot