ARM9 SVC_STACK out of range?

I am debugging some odd ARM exceptions in the embedded system using the Workbench IAR toolchain. Sometimes, when an exception falls into the trap, SVC_STACK is reported as out of range (very far from the range!) Is it relevant or just an artifact of the J-Link JTAG debugger? What is SVC_STACK used for? It is set to 0x1000, but when it is out of range, it is in our heap area. Thanks!

+3
source share
1 answer

ARM SVM mode is introduced when an exception occurs (not IRQ or FIQ - fast IRQ). It can also be entered directly with non-user code by setting the CPRS register, but I think this is unusual, except when initializing the system.

When an exception occurs, the processor switches to the SVC stack, which must be installed very early during system initialization. I assume that your initialization code incorrectly configures the SVC stack, or it is possible that one of the exception handlers is incorrectly encoded and destroys the stack.

, RTOS, ARM- , ( , SVC, IAR). , , , IAR , SVC - , - , .

IAR RTOS - , CSTACK, , , . - , , , , - .

, "" "" - , , , (, , RTOS).

ARM (ARM ARM) arm.com , ARM, - ARM Andrew Sloss .

+4

Source: https://habr.com/ru/post/1716370/


All Articles