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
Dear Yasuhikokoumoto,
I found this option to change the stack and i changed it from 0x200 to 0x400
Will there be any issue after changing to my project functionality?
Hi Nabeen,
I'm sorry but I don't know the translation of "設定" .
I think it would be "Setting" but it is actually "Config".
Therefore you did right action.
I think there would be no isuue.
However, you should it keep in your mind that the global data area would be reduced because the global data, stack and heap areas share the same region.
Thank you for your support. I have changed the stack size and put the project in testing. Till now no issue is faced. I will let you know if there something comes up.
Thanks again.