2 boot process – Rainbow Electronics T89C51CC01 User Manual
Page 43
43
T89C51CC01
Rev. D – 17-Dec-01
10.2 Boot Process
10.2.1 Software boot process
example
Many algorithms can be used for the software boot process. Before describing them,
We give below the description of the different flags and bytes.
Boot Loader Jump Bit (BLJB):
- This bit indicates if on RESET the user wants to jump to this application at address
@0000h on FM0 or execute the boot loader at address @F800h on FM1.
- BLJB = 0 on parts delivered with bootloader programmed.
- To read or modify this bit, the APIs are used.
Boot Vector Address (SBV):
- This byte contains the MSB of the user boot loader address in FM0.
- The default value of SBV is FFh (no user boot loader in FM0).
- To read or modify this byte, the APIs are used.
Extra Byte (EB) & Boot Status Byte (BSB):
- These bytes are reserved for customer use.
- To read or modify these bytes, the APIs are used.
10.2.2 Hardware boot process
At the falling edge of RESET, the bit ENBOOT in AUXR1 register is initialized with the
value of Boot Loader Jump Bit (BLJB).
Further at the falling edge of RESET if the following conditions (called Hardware condi-
tion) are detected:
•
PSEN low,
•
EA high,
•
ALE high (or not connected).
–
After Hardware Condition the FCON register is initialized with the value 00h
and the PC is initialized with F800h (FM1).
The Hardware condition makes the bootloader to be executed, whatever BLJB value is.
If no hardware condition is detected, the FCON register is initialized with the value F0h.
Check of the BLJB value.
•
If bit BLJB = 1:
User application in FM0 will be started at @0000h (standard reset).
•
If bit BLJB = 0:
Boot loader will be started at @F800h in FM1.