Sam7X + heap_1

I cant figure, why project compile successfully with heap_2.c but not whith heap_1.c. IAR give "Fatal Error[e72]: Segment HEAP must be defined in a segment definition option (-Z, -b or -P)". (Heap_1.c should be ok for IAR, it use compilers own malloc -function for memory allocation). Linker Config should be correct. Error generate only when i compile project with heap_1.c. Project is demo for SAM7X, compiler is IAR. Can someone explane for me, why this is so?

Sam7X + heap_1

Do you mean heap_3?  This is the one that uses malloc(), not heap_1. Try compiling with heap_2 – the one you say works – then calling malloc form main() to see if it gives the same problem which I think it will. Dave.

Sam7X + heap_1

Thanks Dave, you are right: 1) I mean heap_3, not heap_1, sorry. 2) Again right! If i compile with heap_2 and use malloc() in other module, IAR give same error. But still, I cant understund why its so. Is it illegal use malloc with IAR+ARM7 or whats the problem?

Sam7X + heap_1

When you link in malloc the linker will attempt to find the data segment called HEAP (or some other similar name).  This section will be needed within the linker script.  I should take a look at the IAR manual for the malloc function, or heap description. Dave.