1 image header, 2 boot algorithm, 1 image header -2 4.1.2.2 boot algorithm -2 – Cirrus Logic EP93xx User Manual

Page 120

Advertising
background image

4-2

DS785UM1

Copyright 2007 Cirrus Logic

Boot ROM
EP93xx User’s Guide

4

4

4

Note that the code retrieved via UART1 and the SPI Serial Flash is not intended to be a
complete operating system image. It is intended to be a small (up to 2 kbyte) loader that will,
in turn, retrieve a complete operating system image. This small loader can retrieve this
complete image through UART1 or the SPI Serial Flash (just as the Boot ROM did) or it can
be more sophisticated and retrieve it through the IrDA, USB, or Ethernet interfaces.

The Boot ROM code disables the ARM920T’s MMU, so any loader program that is
downloaded sees physical addresses. The loader is free to initialize the page tables and start
the MMU and caches if needed.

The Boot ROM code also does not enable interrupts or timers, so that the system delivered to
the user is in a known safe state and is ready for an operating system or for user code to be
loaded.

4.1.2.1 Image Header

For images copied from the SPI Serial Flash or external FLASH, one of the ASCII strings,
“CRUS” or “SURC”, must be present as a HeaderID prefixed to an executable image.

4.1.2.2 Boot Algorithm

The steps in the software boot process are:

1. Remap memory

2. Turn the green LED off and the red LED on

3. Disable the Watchdog timer

4. Read the Boot State

5. Set up the Clocks to run from external clocks (PLLs are not configured)

6. Based on the Boot State memory width, follow steps A, B, and C.

A. Initialize the SYNC Flash and SMC memory interfaces for slow (maximum

compatibility) operation

B. Initialize the SDRAM interfaces.

C. Perform minimal memory tests

7. Based on the contents of the SysCfg register, start serial download (see

Figure 4-1

), and

then follow Steps A, B, C, D, E, and F.

A. Initialize UART1 to 9600 baud, 8 bits, no parity, 1 stop bit

B. Output a “<” character

C. Read 2048 (decimal count) characters from UART1 and store these in the internal

Boot buffer (alias for the Ethernet Mac buffer)

D. Output a “>” to signify 2048 characters have been read

E. Turn on Green LED

F. Jump to the start of the internal Boot Buffer

Advertising