beautypg.com

Hardware security system, Boot memory execution, At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual

Page 19

background image

19

AT8xC51SND1C

4109E–8051–06/03

Hardware Security
System

The AT89C51SND1C implements three lock bits LB2:0 in the LSN of HSB (see
Table 22) providing three levels of security for user’s program as described in Table 22
while the AT83C51SND1C is always set in read disabled mode.

Level 0 is the level of an erased part and does not enable any security feature.
Level 1 locks the hardware programming of both user and boot memories.
Level 2 locks also hardware verifying of both user and boot memories
Level 3 locks also the external execution.

Notes:

1. U means unprogrammed, P means programmed and X means don’t care (pro-

grammed or unprogrammed).

2. LB2 is not implemented in the AT8xC51SND1C products.

3. AT89C51SND1C products are delivered with third level programmed to ensure that

the code programmed by software using ISP or user’s boot loader is secured from
any hardware piracy.

Boot Memory Execution

As internal C51 code space is limited to 64K Bytes, some mechanisms are implemented
to allow boot memory to be mapped in the code space for execution at addresses from
F000h to FFFFh. The boot memory is enabled by setting the ENBOOT bit in AUXR1
(see Figure 21). The three ways to set this bit are detailed in the following sections.

Software Boot Mapping

The software way to set ENBOOT consists in writing to AUXR1 from the user’s soft-
ware. This enables boot loader or API routines execution.

Hardware Condition Boot
Mapping

The hardware condition is based on the ISP pin. When driving this pin to low level, the
chip reset sets ENBOOT and forces the reset vector to F000h instead of 0000h in order
to execute the boot loader software.

As shown in Figure 14 the hardware condition always allows in-system recovery when
user’s memory has been corrupted.

Programmed Condition Boot
Mapping

The programmed condition is based on the Boot Loader Jump Bit (BLJB) in HSB. As
shown in Figure 14 when this bit is programmed (by hardware or software programming
mode), the chip reset set ENBOOT and forces the reset vector to F000h instead of
0000h, in order to execute the boot loader software.

Table 20. Lock Bit Features

(1)

Level

LB2

(2)

LB1

LB0

Internal

Execution

External

Execution

Hardware

Verifying

Hardware

Programming

Software

Programming

0

U

U

U

Enable

Enable

Enable

Enable

Enable

1

U

U

P

Enable

Enable

Enable

Disable

Enable

2

U

P

X

Enable

Enable

Disable

Disable

Enable

3

(3)

P

X

X

Enable

Disable

Disable

Disable

Enable