USER'S GUIDE

SECTION 16: PROGRAM LOADING

INTRODUCTION

Program loading is performed to initialize the contents of NV RAM and to configure the microcontroller. Load- ing is done using a Bootstrap ROM Loader built into all members of the Secure Microcontroller family. When this Bootstrap Loader is invoked, the user's NV RAM appears as data memory to the ROM and can therefore be initialized. Once loading is complete, the Bootstrap ROM then becomes transparent. It has no effect on the user's memory map and is completely invisible. Boot- strap Loading is normally done for the initial program loading. There are no restrictions on using it for upgrades or reprogramming, though it is possible using the memory mapping features, to perform partial reloads without invoking the loader.

The Bootstrap Loader is primarily used to initialize memory, but it is capable of several other functions. It can change the memory map configuration, dump or verify the contents of memory, perform a CRC check, fill a block with a constant, manipulate the security features and the I/O ports. It can not display or edit the Scratch- pad RAM (128 bytes) or SFRs since it uses these resources for its own operation. Note that the Scratch- pad RAM will be erased by the loader. Therefore the loader should not be invoked while critical data is stored in this area. The MOVX RAM area will not be altered by the loader unless a user requests that this be done.

Each version of microcontroller has different loader modes and different commands. All versions are capa- ble of being programmed via the serial port and this is the preferred method. The DS5000 series is also capa- ble of a parallel programming technique similar to an EPROM±based 8051. The DS5001/DS5002 series supports an alternate parallel load mode that is for use by a host microprocessor using the 8042±type RPC mode. The following discussions explain the methods of invoking the Bootstrap Loader. Then the different pro- gramming modes are described. The remaining sec- tions give a detailed description of the commands and syntax used by the Bootstrap ROM.

The DS5000 series [DS5000(T), DS2250T, and DS5000FP] and the DS5001/2 series [DS5001FP, DS2251T, DS5002FP, DS2251T] have different pro- gram loading modes available. The DS5000 series can be loaded via its serial port or in a parallel fashion like an EPROM type 87C51. The serial mode allows the DS5000 to be programmed in a fixture or while installed

in the end system. The parallel method requires a super±voltage and is normally done in a fixture only. The DS5001 series has a similar serial mode with the same benefits. The parallel mode is entirely different. The DS5001FP or DS5002FP, using its RPC slave interface, can be loaded in a parallel manner by a host micropro- cessor. This is also an in±system technique but could be performed in a fixture. It requires no super±voltage pulses. Note that this mode is a high±speed loader and bears no resemblance to an 87C51 load mode.

Note: Dallas Semiconductor highly recommends that serial load capability be designed into the tar-

get system. This provides substantial flexibility to upgrade and troubleshoot the system. Using in±system serial loading allows a product to take full advantage of the Secure Microcontroller's features.

INVOKING THE BOOTSTRAP LOADER

The Secure Microcontroller defaults to normal operating (non±loader) mode without external hardware. If the loader mode is desired, it can be invoked at any time using the methods described later in this section. Once the Bootstrap Loader session is complete, the device will perform a hardware reset and begin operation. This will be identical to an external reset, except that the bootstrap loader, as part of normal operation, will modify various locations in scratchpad RAM. The following table shows which areas of scratchpad RAM are guar- anteed destroyed, guaranteed preserved, or will be of indeterminate state after exiting the bootstrap loader.

 

DS5000FP

DS5001/2FP

 

 

 

Guaranteed Preserved

None

70h±7Fh

 

 

 

Indeterminate

None

38h±6Fh

 

 

 

Guaranteed Destroyed

00h±7Fh

0h±37h

 

 

 

The guaranteed preserved locations are areas in scratchpad RAM that will not be changed by the boot- strap loader. These locations as useful for storing data such as serial numbers, which should be retained regardless of the software. Similarly, the guaranteed destroyed locations have all been overwritten during bootstrap loader execution with indeterminate data. These locations can be used to store security±sensitive data, because it will be erased by the loader before another program can read it out.

050396 129/173

130

Page 130
Image 130
Mitsubishi DS907x SIP, DS5000TK manual Program Loading Introduction, Invoking the Bootstrap Loader, DS5000FP DS5001/2FP, 130