I am using Code Warrior 7.2 and building for the 54418 CPU, with MQX V3.7
I have ported some existing code over and fixed a bunch of compile errors. I am now stuck on some linker errors. I realise because the code uses malloc() and free() I need to define a heap.
Error : Undefined : "__HEAP_START"
Referenced from "__break" in
Error : Undefined : "__mem_limit"
alloc.c line 176 Referenced from "brk" in
Error : Undefined : "__stack_safety"
alloc.c line 176 Referenced from "brk" in
Link failed.
I have no idea how to fix the problem with "__mem_limit" and "__stack_safety" variables
I have now removed all my app code and get the same link error.
I have tested a new project piece of code from MQX 3.7
Just adding the lines
#include <stdlib.h>
char *ptr;
ptr = malloc(1000)
triggers the link errors, Take out the malloc line, and link error goes away
Undefined : "__HEAP_START" Undefined : "__mem_limit" Undefined : "__stack_safety" link failed
I would appreciate any help on this problem, thanks.
Solved! Go to Solution.
All these variables are defined in the linker parameter file.
Attached you will find an example using the malloc function.
Rename it to 7_2.zip.
Please have a look to the \lcf\MCF54418_CONSOLE_INTERNAL_RAM.lcf file
Hope this will help you.