beautypg.com

3 boot process, software boot process example, hardware boot process – Rainbow Electronics T89C51CC02 User Manual

Page 38: Preliminary

background image

38

Rev.A - May 17, 2001

Preliminary

T89C51CC02

10.3 Boot Process

10.3.1. Software boot process example

Many algorithms can be used for the software boot process. Before describing them, some explanations are needed
for the utility of different flags and bytes available.

Boot Loader Jump Bit (BLJB):
- This bit indicates if on RESET the user wants jump on his 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 modified 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 modified this byte, the APIs are used.

Extra Byte (EB) & Boot Status Byte (BSB):
- These bytes are reserved for customer use.
- To read or modified this byte, the APIs are used.

Example of software boot process in FM1 (see Figure 21)

In this example the Extra Byte (EB) is a configuration bit which forces the user boot loader execution even on
the hardware condition.

10.3.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).

FCON register is initialized with the value 00h and the program in FM1 can be executed.

Check of the BLJB value.

If bit BLJB is cleared (BLJB = 1):
User application in FM0 will be started at @0000h (standard reset).

If bit BLJB is set (BLJB = 0):
Boot loader will be started at @F800h in FM1.