Entering different modes in ARM architecture
In ARM srchitecture, there are several processor modes provided for safty issues. Except user mode, other six modes are called "priviledge mode". And except user mode and system mode, other fives are also called "exception mode"[8]. This is shown in Table 3-1. User mode: Application usually runs in the user mode (except system mode since ARMv4). In user mode, the memory access is restricted. For example, you are not allowed to access the memory where OS kernel is stored[7]. And you also cannot write CPSR register. Hardware devices cannot be read directly in user mode. So here when you start up the system(i.e. 2440init.S) as surpervisor mode and go to user mode, you can only enter other modes by exceptions because we cannot change the content of CPSR in user mode(see figure 2-6). For example, you can use SWI to enter supervisor mode. An inte...