Heap required on dsPIC

rtel wrote on Tuesday, June 05, 2007:

[moved from private email to support forum]

I am getting the following error during compiling my program.

c:\program files\microchip\mplab c30\bin\pic30-coff-ld.exe Error: A heap
is required, but has not been specified

I have included heap_1.c in the project.

I am using dsPIC33F demo kit and the controller I am using is

How can I resolve this error?

I look forward to your reply.

rtel wrote on Tuesday, June 05, 2007:

heap_1.c provides the heap that is required by the kernel itself.  It defines the functios pvPortMalloc() and vPortFree().

If you call a standard library function that attempts to dynamically allocate RAM then the library will call the standard malloc() and free().  malloc() and free() will attempt to allocate from the heap segment as specified by the linker file.  To use any such function you therefore need to update your MPLAB project to include heap space.  Alternaively, call pvPortMalloc() and vPortFree() in place of malloc and free.