we have two modes which are privileged in ARM cortex M3 .they are Thread privileged and handler mode .
if there is already one privileged mode then why we need the other mode? i mean cant we do work with only one privileged mode?
is there any difference between Thread Privileged and handler mode?(i know that cortex m3 executes ISR in handler mode what are the other differences)
are there things which thread privileged mode cannot access and handler mode can access?
Hi srikar,
have you already read "A2.3.4 Privileged execution" section of ARMARM of ARMv7-M?
It is important to divide the execution modes into Thread and Handler from a security aspect.Applications are assumed in Thread mode and interrupts or exceptions handling are assumed in Handler mode.In some use cases, the unpriviledge mode is not used.Therefore, there are the priviledged Thread and the the priviledged Handler modes.Also, in Thread mode, the PSP (or SP_process) is basically used as the current stack pointer.In the Handler mode, the MSP (or SP_main) is always used as the current stack pointer.By default, the MSP is used even in Thread mode.
Best regards,Yasuhiko Koumoto.