# freertos and pic 24 error

**URL:** <https://forums.freertos.org/t/freertos-and-pic-24-error/1859>\
**Category:** Kernel\
**Created:** [March 28, 2013, 9:39am UTC](https://forums.freertos.org/t/freertos-and-pic-24-error/1859 "2013-03-28T09:39:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 28, 2013, 9:39am UTC](https://forums.freertos.org/t/freertos-and-pic-24-error/1859/1 "2013-03-28T09:39:58Z")

</div>

**[nicolign](https://sourceforge.net/u/nicolign/)** wrote on [Thursday, March 28, 2013](https://sourceforge.net/p/freertos/discussion/382005/thread/52da6126/#891b):

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&nbsp; 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

---

<div class="post-metadata">

**Author:** ![rtel](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/rtel/32/31_2.png) [@rtel](https://forums.freertos.org/u/rtel)\
**Post date:** [March 28, 2013, 9:53am UTC](https://forums.freertos.org/t/freertos-and-pic-24-error/1859/2 "2013-03-28T09:53:27Z")

</div>

**[rtel](https://sourceforge.net/u/rtel/)** wrote on [Thursday, March 28, 2013](https://sourceforge.net/p/freertos/discussion/382005/thread/52da6126/#1f91):

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.&nbsp; 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.&nbsp; If none are defined then none will be included and you will get this error.

Regards.

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 28, 2013, 11:07am UTC](https://forums.freertos.org/t/freertos-and-pic-24-error/1859/3 "2013-03-28T11:07:55Z")

</div>

**[nicolign](https://sourceforge.net/u/nicolign/)** wrote on [Thursday, March 28, 2013](https://sourceforge.net/p/freertos/discussion/382005/thread/52da6126/#3e6c):

hi richard thanks for quick reply,  
I had to define the macro for the PIC 24&nbsp; for portRESTORE\_CONTEXT()&nbsp; to get it work. Now It builds  
Thanks a lot
