Cohabiting with post in flash, Special redboot commands – Comtrol eCos User Manual

Page 217

Advertising
background image

Chapter 5. Installation and Testing

NOTE: the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead at 38400 Baud. You must
select the right baud rate in your terminal program to be able to set up the BSE firmware.

After a reset, the BSE firmware will print

Boot: BSE 2000 Sep 12 2000 14:00:30

autoboot: "go 40000" [hit ESC to abort]

and then RedBoot starts, switching to 38400 Baud.

Once you have installed a bootable RedBoot in the system in this manner, we advise re-installing using the generic
method described in

Chapter 4

in order that the Flash Image System contains an appropriate description of the flash

entries.

Cohabiting with POST in Flash

The configuration file named

redboot_POST.ecm

configures RedBoot to build for execution at address

0x50040000 (or, during bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
firmware to live in the lower addresses of the flash and to run before RedBoot gets control. The assumption is that
RedBoot will be entered at its base address in physical memory, that is 0x00040000.

Alternatively, for testing, you can call it in an already running system by using

go 0x50040040

at another Red-

Boot prompt, or a branch to that address. The address is where the reset vector points. It is reported by RedBoot’s
load command and listed by the fis list command, amongst other places.

Using the POST configuration enables a normal config option which causes linking and initialization against mem-
ory layout files called "...post..." rather than "...rom..." or "...ram..." in the

include/pkgconf

directory. Specifi-

cally:

include/pkgconf/mlt_arm_sa11x0_nano_post.h

include/pkgconf/mlt_arm_sa11x0_nano_post.ldi

include/pkgconf/mlt_arm_sa11x0_nano_post.mlt

It is these you should edit if you wish to move the execution address from 0x50040000 in the POST configuration.
Startup mode naturally remains ROM in this configuration.

Because the nanoEngine contains immutable boot firmware at the start of flash, RedBoot for this target is configured
to reserve that area in the Flash Image System, and to create by default an entry for the POST mode RedBoot.

RedBoot> fis list

Name

FLASH addr

Mem addr

Length

Entry point

(reserved)

0x50000000

0x50000000

0x00040000

0x00000000

RedBoot[post]

0x50040000

0x00100000

0x00020000

0x50040040

RedBoot config

0x503E0000

0x503E0000

0x00010000

0x00000000

FIS directory

0x503F0000

0x503F0000

0x00010000

0x00000000

RedBoot>

The entry "(reserved)" ensures that the FIS cannot attempt to overwrite the BSE firmware, thus ensuring that the
board remains bootable and recoverable even after installing a broken RedBoot image.

113

Advertising