Maxim Integrated Secure Microcontroller User Manual

Page 31

Advertising
background image

Secure Microcontroller User’s Guide

31 of 187

Figure 4-7. Reloading Portions of a DS5000 Series Device



































Soft Reload of a DS5001/DS5002

However, a soft reload of a DS5001/DS5002 series device has minor variations from the DS5000 version.
First, there is no PAA bit in the DS5001/DS5002. If the DS5001/DS5002 is in a partitionable mode, the
user’s program must manipulate the partition control bits PA3–0, placing the partition to a value that
permits the target area to be loaded. Moving the partition to a new value should convert the target area to
data memory allowing read/write access. The user’s loader routine, then uses MOVX instructions to load
the new program contents into memory. This program can be received from a serial port or other
mechanism. When the loading procedure is complete, a new partition (or the old one) must be loaded.
Note that the loader routine must reside below the partition at all times.

In the DS5000 series, the PAA bit was protected by a timed-access procedure. In the DS5001/DS5002,
the PA3–0 bits are protected directly. The user’s program must use a timed-access procedure to alter
these bits. The microcontroller further protects the application by not permitting software to write a 0000b
into PA3–0. This would cause a program memory area of 0kB.

DATA

MEMORY

SPACE

DATA

MEMORY

SPACE

DATA

MEMORY

SPACE

PROGRAM

MEMORY

SPACE

PROGRAM

MEMORY

SPACE

PROGRAM

MEMORY

SPACE

BEFORE LOADING
PAA = 0
PA3-0 = 1000b

DURING LOADING
PAA = 1
PA3-0 = XXXXb

AFTER LOADING
PAA = 0
PA3-0 = 1100b

7FFFh

6000h

4000h

0800h

0000h

RANGE (32kB)

NEW PARTITION (24kB)

OLD PARTITION (16kB)

TEMP PARTITION (2kB)

0kB

= NV RAM PROGRAM MEMORY


= NV RAM DATA MEMORY

Advertising