English
Language : 

C8051F310 Datasheet, PDF (111/224 Pages) List of Unclassifed Manufacturers – 8/16 kB ISP Flash MCU Family
C8051F310/1/2/3/4/5/6/7
10.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
software 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 512-byte Flash pages, starting at page 0 (addresses 0x0000 to
0x01FF), where n is the 1’s complement number represented by the Security Lock Byte. Note that the
page containing 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 example below.
Security Lock Byte:
1’s Complement:
Flash pages locked:
Addresses locked:
11111101b
00000010b
3 (First two Flash pages + Lock Byte Page)
0x0000 to 0x03FF (first two Flash pages)
and 0x3C00 to 0x3DFF or 0x1E00 to 0x1FFF (Lock Byte Page)
Locked when any
other FLASH pages
are locked
Access limit set
according to the
FLASH security lock
byte
C8051F310/1/6/7
Reserved
Lock Byte
0x3E00
0x3DFF
0x3DFE
0x3C00
Unlocked FLASH Pages
C8051F312/3/4/5
Reserved
Lock Byte
0x2000
0x1FFF
0x1FFE
0x1E00
Unlocked FLASH Pages
FLASH memory
organized in 512-byte
pages
0x0000
0x0000
Figure 10.1. Flash Program Memory Map
Rev. 1.6
111