PROGRAMMING THE NONVOLATILE MEMORY

These protection levels are provided by the PCCB0 lock bits, the CCB0 lock bits, and the internal security key (Table 16-3). When entering programming modes, the reset sequence loads the PCCBs into the chip configuration registers. It also loads CCB0 into internal RAM to provide an additional level of security.

You can program the CCBs using any of the programming methods, but only slave and PCCB programming modes permits access to the PCCBs, and only slave and auto programming allow you to program the internal security key.

Table 16-3. Memory Protection Options for Programming Modes

LOC1

LOC0

Security Key

 

(CCR0.7)

(CCR0.6)

 

Programmed

Protection Status

 

 

 

 

PCCB

CCB

PCCB

CCB

?

 

 

 

 

 

 

 

 

 

1

1

1

1

No

No protection. All programming modes allowed.

 

 

 

 

 

 

1

X

0

X

Yes

All programming disabled. ROM-dump permitted with

matching security key.

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

Yes

Auto and slave programming permitted with matching

security key.

 

 

 

 

 

 

 

 

 

 

 

0

X

0

X

X

All programming unconditionally disabled.

 

 

 

 

 

 

If you want to prohibit all programming, clear both PCCB0 lock bits. If these bits are cleared, they prevent the device from entering any programming mode.

If you want to prevent programming, but allow ROM dumps, leave the PCCB0 read-protection bit (PCCB0.7) unprogrammed and clear the PCCB0 write-protection bit (PCCB0.6). To protect against unauthorized reads, program an internal security key. The ROM-dump mode compares the internal security key location with an externally supplied security key, regardless of the CCB0 lock bits. If the security keys match, the routine continues; otherwise, the device enters an endless internal loop.

If you want to allow slave and auto programming as well as ROM dumps, leave both PCCB0 lock bits unprogrammed. To protect against unauthorized programming, clear the CCB0 lock bits and program an internal security key. After the device enters either slave or auto programming mode, the corresponding test ROM routine reads the CCB0 lock bits. If either CCB0 lock bit is enabled, the routine compares the internal security key location with an externally supplied security key. If the security keys match, the routine continues; otherwise, the device enters an endless internal loop.

16-5

Page 358
Image 358
Intel 8XC196MH, 8XC196MD, 8XC196MC manual Memory Protection Options for Programming Modes, Security Key, Pccb CCB