2 boot process – Rainbow Electronics T89C51AC2 User Manual

Page 41

Advertising
background image

41

T89C51AC2

Rev. B – 19-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.

Advertising