function1 calling function2, function2 calling function3, function3 calling function4 and so on.
Maximum stage depends upon Stack Size, right? How to identify Stack Size and if required how to change it? I am using IAR and Fujitsu ARM Cortex M3 MB9AF312K.
I can see in map file
"P3", part 3 of 3: 0x600
HEAP 0x20000000 0x400 <Block>
HEAP uninit 0x20000000 0x400 <Block tail>
CSTACK 0x20000400 0x200 <Block>
CSTACK uninit 0x20000400 0x200 <Block tail>
- 0x20000600 0x600
Help appreciated for clearing the concept.
Thanks
Hi nabeen,
Maximum stage depends upon Stack Size, right?
It is right.
How to identify Stack Size and if required how to change it?
The stack and heap sizes are defined in the *.icf file.In the case of MB9AF312K, the *.icf file is located atC:\Program Files (x86)\IAR Systems\Embedded Workbench 7.70\arm\config\linker\Cypress\mb9af312k.icfBy reading it, you can know the sizes of the stack and heap.However, it is not recommended to modify it directly.To modify it, you should use ICF editor invoked from EWARM.You can select the edit button from the pull down menu of EWARM by following [Project]->[Options(O)...]->[Linker]->[Setting].Also you can modify the stack size (i.e. CSTACK) by the editor.Please refer to the following figures as your information.I'm sorry but I have only Japanese version EWARM.
Best Regards,
Yasuhiko Koumoto.
Dear yasuhikokoumoto,
Thanks for your support. As per your instruction ->[Options(O)...]->[Linker]->[Setting].
I was trying to extend 100 byte to the stack but I don’t have option inside Linker. Instead of setting there is “factory Setting”.
Please suggest.
Regards,
Nabeen
View all questions in Cortex-M / M-Profile forum