English
Language : 

C509-L_97 Datasheet, PDF (243/290 Pages) Siemens Semiconductor Group – 8-Bit CMOS Microcontroller
Bootstrap Loader
C509-L
The four identification bytes must be absolutely definite to prevent the bootstrap loader from
recognizing normal program code as identification bytes. Therefore the four bytes represent a not
senseful instruction sequence in 8051-code, which should never occur in normal programs. The
definition of the identification bytes is shown in table 10-1.
Table 10-1
ID Bytes of the Info Block
ID byte
#1
#2
#3
#4
Value
23H
03H
33H
13H
8051-code
RL A
RR A
RLC A
RRC A
To check, if the custom software in the relevant sector is functional, the bootstrap loader calculates
a checksum consisting of two independent checksum bytes over the appropriate memory area. This
area begins at the address startaddress and has a length of blocklength. The two generated
checksum bytes are compared with checksum #1 and #2 of the info block. If the checksums are
equal, the bootstrap loader starts the custom routine in this sector at the address startaddress.
The bootstrap loader starts checking sector A. If either the identification bytes or the checksums of
sector A are not correct, the checking procedure is done with sector B of the external FLASH
memory. The check of two sectors (A and B) is necessary for a maximum of security, e.g. if the
custom software in one sector is not functional. This can happen e.g., if the programming of the
corresponding external FLASH memory sector suddenly is interrupted by the cause of a power
failure.
When the check fails in both sectors, the bootstrap loader leaves phase I and enters phase II to
establish the serial communication to a connected host via serial interface 0.
If the customer does not want to use this external FLASH sector check, he can override it by
programming other values than the four ID bytes in the corresponding FLASH memory addresses
in sector A and B. If this is done, the remaining bytes of the two external FLASH memory sectors
may be used for normal program execution as well.
The flowchart in figure 10-4 shows the detailed actions of the bootstrap loader in phase I.
Semiconductor Group
10-5
1997-10-01