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
I would appreciate any help on this problem, thanks.
Solved! Go to Solution.
Hi changxychang,
STDLIB is not part of MQX. MQX has own API for standard functions ( check MQX reference manual for that).
In your case use _mem_alloc(...) instead malloc(...).
Regards,
Martin
Hi changxychang,
STDLIB is not part of MQX. MQX has own API for standard functions ( check MQX reference manual for that).
In your case use _mem_alloc(...) instead malloc(...).
Regards,
Martin