English
Language : 

C8051F93X Datasheet, PDF (150/330 Pages) Silicon Laboratories – Pipelined intstruction architecture executes 70 of instruction in 1 or 2 system clocks
C8051F93x-C8051F92x
13.2. Non-volatile Data Storage
The Flash memory can be used for non-volatile data storage as well as program code. This allows data
such as calibration coefficients to be calculated and stored at run time. Data is written using the MOVX
write instruction and read using the MOVC instruction. Note: MOVX read instructions always target XRAM.
An additional 1024-byte scratchpad is available for non-volatile data storage. It is accessible at addresses
0x0000 to 0x03FF when SFLE is set to 1. The scratchpad area cannot be used for code execution.
13.3. Security Options
The CIP-51 provides security options to protect the Flash memory from inadvertent modification by soft-
ware as well as to prevent the viewing of proprietary program code and constants. The Program Store
Write Enable (bit PSWE in register PSCTL) and the Program Store Erase Enable (bit PSEE in register
PSCTL) bits protect the Flash memory from accidental modification by software. PSWE must be explicitly
set to 1 before software can modify the Flash memory; both PSWE and PSEE must be set to 1 before soft-
ware can erase Flash memory. Additional security features prevent proprietary program code and data
constants from being read or altered across the C2 interface.
A Security Lock Byte located at the last byte of Flash user space offers protection of the Flash program
memory from access (reads, writes, or erases) by unprotected code or the C2 interface. The Flash security
mechanism allows the user to lock n 1024-byte Flash pages, starting at page 0 (addresses 0x0000 to
0x03FF), where n is the 1s complement number represented by the Security Lock Byte. The page con-
taining the Flash Security Lock Byte is unlocked when no other Flash pages are locked (all bits of
the Lock Byte are 1) and locked when any other Flash pages are locked (any bit of the Lock Byte is
0). See the C8051F930 example below.
Security Lock Byte:
ones Complement:
Flash pages locked:
11111101b
00000010b
3 (First two Flash pages + Lock Byte Page)
Addresses locked:
0x0000 to 0x07FF (first two Flash pages) and
0xF800 to 0xFBFF (Lock Byte Page)
64KB Flash Device
(SFLE = 0)
0xFFFF
0xFC00
0xFBFF
0xFBFE
0xF800
Reserved
Lock Byte
Lock Byte Page
Unlocked Flash Pages
0x0000
32KB Flash Device
(SFLE = 0)
0xFFFF
Locked when
any other
Flash pages
are locked
Unpopulated
Address Space
(Reserved)
Lock Byte
Lock Byte Page
0x8000
0x7FFF
0x7FFE
0x7C00
Access limit
set according
to the Flash
security lock
byte
Unlocked Flash Pages
0x0000
64/32KB Flash Device
(SFLE = 1)
Scratchpad Area
(Data Only)
0x03FF
0x0000
Figure 13.1. Flash Program Memory Map
Flash
memory
organized in
1024-byte
pages
150
Rev. 1.3