Appendix c. system/user mode, C. s, Ppendix – Jameco Electronics Rabbit 3000 User Manual

Page 326: Ystem

Advertising
background image

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).

Advertising
This manual is related to the following products: