English
Language : 

C509-L_97 Datasheet, PDF (268/290 Pages) Siemens Semiconductor Group – 8-Bit CMOS Microcontroller
Bootstrap Loader
C509-L
Table 10-5
Bootstrap Loader Subroutines - Survey (cont’d)
Address Function
Registers
Description
00C7H GetBlock
In : R7 - block length
Out : None
Get an amount (in R7) of data bytes
from the host and save it to a
temporary buffer starting at address
70H and ending at address FFH. The
last received byte contains the
checksum of the data block. Examine
the sent checksum and send back a
checksum error code, if it is incorrect.
00E9H CalcChks
In : R0 - start address of
the temporary buffer
with length R1
Out : A - calculated
checksum
Calculate the checksum of the data
block starting at address in R0 with a
length of R1. The checksum is saved in
A.
00F0H
CalcChksFLASH
In : DPTR - start address
of the area in the
FLASH memory
R4/R5 - length of the
FLASH memory area
Out : R0 - calculated
checksum #1
R1 - calculated
checksum #2
Calculate the special checksum of an
area in the FLASH memory starting at
address in DPTR with a length of R4/
R5 (high, low). The checksums #1 and
#2 are saved in R0 and R1.
0119H CheckFLASH
In : R2/R3 - start address
of corresponding
FLASH memory
block
Out : C - carry flag
Check if the FLASH memory block
starting at address R2/R3 contains a
functional custom program.
1. Check the ID bytes of the FLASH
memory block
2. Calculate the checksum of the given
memory block
3. Set the carry flag if no custom
program exists
0161H Block2XRAM
In : R0 - start address of
the temporary buffer
R1 - length of the
buffer
DPTR - actual
address in the XRAM
Out : DPTR - actual
address in the XRAM
Copy the contents of the temporary
buffer starting at address in R0 with a
length of R1 to the actual address
(DPTR) in the XRAM. The data pointer
DPTR is incremented automatically.
Semiconductor Group
10-30
1997-10-01