Maxim Integrated Secure Microcontroller User Manual
Page 31

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