08.06.2013 Views

C8051F326/7 - Silicon Labs

C8051F326/7 - Silicon Labs

C8051F326/7 - Silicon Labs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.2. Non-volatile Data Storage<br />

<strong>C8051F326</strong>/7<br />

The Flash memory can be used for non-volatile data storage as well as program code. This allows data<br />

such as calibration coefficients to be calculated and stored at run time. Data is written using the MOVX<br />

write instruction and read using the MOVC instruction.<br />

Note: MOVX read instructions always target XRAM.<br />

8.3. Security Options<br />

The CIP-51 provides security options to protect the Flash memory from inadvertent modification by software<br />

as well as to prevent the viewing of proprietary program code and constants. The Program Store<br />

Write Enable (bit PSWE in register PSCTL) and the Program Store Erase Enable (bit PSEE in register<br />

PSCTL) bits protect the Flash memory from accidental modification by software. PSWE must be explicitly<br />

set to ‘1’ before software can modify the Flash memory; both PSWE and PSEE must be set to ‘1’ before<br />

software can erase Flash memory. Additional security features prevent proprietary program code and data<br />

constants from being read or altered across the C2 interface.<br />

A Security Lock Byte located at the last byte of Flash user space offers protection of the Flash program<br />

memory from access (reads, writes, or erases) by unprotected code or the C2 interface. The Flash security<br />

mechanism allows the user to lock n 512-byte Flash pages, starting at page 0 (addresses 0x0000 to<br />

0x01FF), where n is the 1’s compliment number represented by the Security Lock Byte. See example<br />

below.<br />

Security Lock Byte: 11111101b<br />

1s Compliment: 00000010b<br />

Flash pages locked: 2<br />

Addresses locked: 0x0000 to 0x03FF<br />

Important Notes About the Flash Security:<br />

1. Clearing any bit of the Lock Byte to ‘0’ will lock the Flash page containing the Lock Byte (in<br />

addition to the selected pages).<br />

2. Locked pages cannot be read, written, or erased via the C2 interface.<br />

3. Locked pages cannot be read, written, or erased by user firmware executing from unlocked<br />

memory space.<br />

4. User firmware executing in a locked page may read and write Flash memory in any locked or<br />

unlocked page excluding the reserved area.<br />

5. User firmware executing in a locked page may erase Flash memory in any locked or unlocked<br />

page excluding the reserved area and the page containing the Lock Byte.<br />

6. Locked pages can only be unlocked through the C2 interface with a C2 Device Erase command.<br />

7. If a user firmware Flash access attempt is denied (per restrictions #3, #4, and #5 above), a<br />

Flash Error system reset will be generated.<br />

Rev. 1.1 65

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!