Hi Expert,
I'm trying to get a clear understanding of the differences between User mode, Supervisor mode, and System mode in ARM architectures. While I know they relate to privilege levels and access control, I’m a bit unclear on their practical distinctions and usage scenarios.
1. What are the core functional differences between these modes?
2. When would System mode be used instead of Supervisor mode, considering both are privileged?
3. When would System mode be used?
4. When is the application expected to be in User mode?
5. Why does switching to user mode result in an abort in certain scenarios?
Any insights and examples would be highly appreciated.
Thanks in advance.