Maxim Integrated Secure Microcontroller User Manual

Page 178

Advertising
background image

Secure Microcontroller User’s Guide

178 of 187

Memory map is not configured.
If the developer has not selected the correct memory map via the bootstrap loader, it may not be possible
to run the application software as desired. For example, a DS2251T with 64kB of memory could be
configured with a 32kB range. Code above 32kB in NV RAM would not be executed.

No stack.
C programmers frequently use a large memory model. This places the C stack in MOVX RAM area. The
typical default address for compilers is to place the stack at 0000h. A device in a partitionable mode will
not have MOVX NV RAM begin at 0000h. The C startup configuration should be altered to put the stack
and any other data variables above the Partition. C programs typically crash if there is no stack.

Code is written for an 8052.
The 8052 family has 256 bytes of on chip RAM and a third timer. Secure microcontroller family devices
are 8051 derivatives and do not have these resources.

Watchdog timer is running but unsupported in software.
If the watchdog timer is enabled but not supported by software, it will reset the microprocessor at
intervals of 122.8ms with a 12MHz crystal. If writing to an LCD display or similar activity, the
initialization may take more time that this. The code would appear not to run since the display would
never get it message printed. Make certain the watchdog timer is either supported or disabled in software
as soon as possible following the exit from the reset state.

The CRC bit is set on a DS5001FP.
If the CRC bit is set, the DS5001FP CPU will invoke the bootstrap loader on each power up and perform
a CRC. If the calculation does not match the stored value, the device will remain in the loader mode. If
the user has accidentally set this bit and is not using the CRC, it will surely be incorrect and invoke the
loader on each power up. A program will seem to run (the internal ROM checking the NV RAM), then
stop.

High current drain in stop mode
Secure microcontrollers draw approximately 80

µA of I

CC

in stop mode. However, the

EA pin has a

resistive load of between 40k

Ω to 125kΩ. If EA is connected to +5V, this pin draws between 40µA to

125

µA. This current can be eliminated by grounding the EA pin and locking the device via the bootstrap

loader. When locked, internal logic disregards the state of

EA. Since it is no longer connected to +5V, the

device will only draw its very low I

CC

.


Data is lost or corrupted.
A common cause is that data in a DS2250-64 or a DS5000FP based system is lost between banks. The
ECE2 bit was most likely left active when software was supposed to write to

CE1 memory. The opposite

is also possible. When using the DS5000FP or DS2250(T) data crossing between

CE1 and CE2 must be

managed carefully.

Another possible cause is electrostatic discharge (ESD). This can corrupt memory locations and/or
damage to the device. For more information, refer to Application Note 93: Design Guidelines for
Microcontrollers Incorporating NV RAM
.

Advertising