Jameco Electronics 3000 ユーザーズマニュアル

ページ / 349
User’s Manual
317
A
PPENDIX
 C. S
YSTEM
/U
SER
 M
ODE
The Rabbit 3000A is the first Rabbit microprocessor to incorporate a “system/user mode.” 
The purpose of the System/User mode is to provide two tiers of control in the CPU: sys-
tem
, which provides full access to all processor resources; and user, a more restricted 
mode.
Table C-1 describes the essential differences between the System mode and the User 
mode. The System mode is essentially the same as the normal operation of the Rabbit 
3000 and earlier processors.
The main intent of the System/User mode is to protect critical code (for example, code that 
performs remote firmware updates), data, and the current processor state (memory setup, 
peripheral control, etc.) from inadvertent changes by the user’s standard code. By remov-
ing access to the processor’s I/O registers and preventing memory writes to critical 
regions, the user’s code can run without the danger of locking up the processor to the point 
where it cannot be restarted remotely and/or new code uploaded.
Table C-1.  Differences Between System and User Modes
System Mode
User Mode
All peripherals accessible.
No peripherals accessible by default.
All processor control registers available.
No processor control registers available.
All interrupt priorities available.
Interrupt Priority 3 not allowed.
IDET opcode has no effect.
IDET opcode causes Priority 3 “system mode 
violation” interrupt.
No write protection when 0x00 is written to 
WPCR (write protection in User mode only)
Write to protected segment causes Priority 3 
“write protection violation” interrupt.
Easy to enter user mode (SETUSR opcode).
Difficult to enter system mode (requires 
interrupt, SYSCALL, or RST opcode).