We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
There are some codes in the "Startup.s" for "User Initial Stack & Heap".
And, as per this URL http://www.keil.com/support/man/docs/armlib/armlib_chdegjfd.htm
There are another codes for "Sets up the heap and stack".
It makes me a little confused.
What is the relationship between these two "Stack & Heap Initialization"?
Are they duplicated works, or they have different and important meanings?
Hi Per,
Many Thanks.
If I write my C program (MyCprg) and use some Librarys (Lib01/Lib02), with the powerful KEIL's solution (on LPC23xx). Does the Runtime Memory Map look like the below?
----RAM-------------- 0x-6FFF-FFFF | Stack-ASM-start (Defined in the "Startup.s") | | ------------------ | Stack-MyCprg-start (__rt_entry done for me) | | Stack-MyCprg-end (__rt_entry done for me) | ------------------ | Stack-Lib01-start (__rt_entry done for me) | | Stack-Lib01-end (__rt_entry done for me) | ------------------ | Stack-Lib02-start (__rt_entry done for me) | | Stack-Lib02-end (__rt_entry done for me) | ------------------ | | Stack-ASM-end (Defined in the "Startup.s") --------------------- | Heap-ASM-end (Defined in the "Startup.s") | | ------------------ | Heap-MyCprg-start (__rt_entry done for me) | | Heap-MyCprg-end (__rt_entry done for me) | ------------------ | Heap-Lib01-start (__rt_entry done for me) | | Heap-Lib01-end (__rt_entry done for me) | ------------------ | Heap-Lib02-start (__rt_entry done for me) | | Heap-Lib02-end (__rt_entry done for me) | ------------------ | | Heap-ASM-start (Defined in the "Startup.s") --------------------- 0x-4000-1000 | ZI AREA | --------------------- | RW AREA | ----RAM-------------- 0x-4000-0100 ------------------- --------------------- | Flash | ---------------------