Name
Setup — Preparing the ADS512101 board for eCos Development
Overview
In a typical development environment, the ADS512101 board boots from flash into the RedBoot ROM monitor. eCos applications are configured for RAM startup and then downloaded and run on the board via the debugger powerpc-eabi-gdb. Preparing the board therefore usually involves programming a suitable RedBoot image into flash memory.
The following RedBoot configurations are supported:
Configuration | Description | Use | File |
---|---|---|---|
ROMRAM | RedBoot loaded from ROM into RAM | redboot_ROMRAM.ecm | redboot_ROMRAM.bin |
ROM | RedBoot running directly from flash | redboot_ROM.ecm | redboot_ROM.bin |
RAM | RedBoot running in external RAM | redboot_RAM.ecm | redboot_RAM.bin |
JTAG | RedBoot running in external RAM, loaded by JTAG | redboot_JTAG.ecm | redboot_JTAG.bin |
Under normal circumstances the ROMRAM RedBoot is used. The JTAG RedBoot is used to install the ROMRAM RedBoot on the board.
For serial communications, all versions run with 8 bits, no parity, and 1 stop bit at 115200 baud. The baud rate can be changed using the flash configuration console baud rate option. RedBoot also supports flash management.
Initial Installation
The simplest approach to installing RedBoot is to make use of a JTAG device to run a version of RedBoot on the board and use that to download and install RedBoot. The following is a simple step-by-step guide to installing RedBoot on the board using a Ronetix PEEDI JTAG emulator:
-
Set up the PEEDI as described in the Ronetix documentation. The
peedi.mpc5121ads.cfg
file should be used to setup and configure the hardware. - Connect a null modem serial cable between the ADS512101 board and a suitable host. Run a serial terminal emulator (Hyperterm or minicom) on the host, connecting to the serial device at 115200 baud with no flow control.
- Connect an ethernet cable between the board and your local network.
-
From the
loaders/ads512101
sub-directory of your eCosPro installation, copyredboot_JTAG.srec
andredboot_ROMRAM.bin
to the data area of a TFTP server the PEEDI can access. Connect a telnet session to the PEEDI and issue a reset command to the PEEDI to put the device into a known state:
mpc5121>
reset stop
++ info: user reset mpc5121> ++ info: HRESET, SRESET and TRST asserted ++ info: TRST released ++ info: BYPASS check passed ++ info: 1 TAP controller(s) detected ++ info: TAP : IDCODE = 0x1540A01D, Freescale MPC5121 ++ info: HRESET and SRESET released ++ info: CPU PVR is 0x80862010 (e300c4) ++ info: CPU SVR is 0x80180020 ++ info: setting breakpoint at 0xFFF00100 ++ info: core 0: initializedNow issue the following command, substituting your own TFTP server address:
mpc5121>>
mem load tftp://10.0.1.1/redboot_JTAG.srec srec
** warning: default file for this core not specified ** warning: use CORE_FILE parameter to specify default file ++ info: Loading image file: tftp://10.0.1.1/redboot_JTAG.srec ++ info: At absolute address: 0x00000000 loading at 0x0 loading at 0x3300 loading at 0xB300 loading at 0x13300 loading at 0x1B300 loading at 0x22080 Successfully loaded 154KB (158408 bytes) in 1.2s mpc5121>>Now issue the go command:
mpc5121> go 0x100
You should see something similar to the following output on the board serial line.
+**Warning** FLASH configuration checksum error or invalid key Use 'fconfig -i' to [re]initialize database Ethernet eth0: MAC address 08:00:3e:28:7a:ba IP: 10.0.2.5/255.0.0.0, Gateway: 10.0.0.3 Default server: 0.0.0.0 DNS server IP: 10.0.1.1, DNS domain name: <null> RedBoot(tm) bootstrap and debug environment [JTAG] Non-certified release, version UNKNOWN - built 15:05:36, Jun 20 2011 Copyright (C) 2000-2009 Free Software Foundation, Inc. Copyright (C) 2003-2011 eCosCentric Limited RedBoot is free software, covered by the eCos license, derived from the GNU General Public License. You are welcome to change it and/or distribute copies of it under certain conditions. Under the license terms, RedBoot's source code and full license terms must have been made available to you. Redboot comes with ABSOLUTELY NO WARRANTY. Platform: ADS512101 (PowerPC MPC5121e) RAM: 0x00000000-0x08000000 [0x0003e400-0x07fb1000 available] FLASH: 0xfc000000-0xffffffff, 256 x 0x40000 blocks RedBoot>
RedBoot's flash management and configuration should be initialized as follows:
RedBoot>
fis init
About to initialize [format] FLASH image system - continue (y/n)?y
*** Initialize FLASH Image System ... Unlocking from 0xfffc0000-0xffffffff: . ... Erase from 0xfffc0000-0xffffffff: . ... Program from 0x07fc0000-0x08000000 to 0xfffc0000: . ... Locking from 0xfffc0000-0xffffffff: . RedBoot>fconfig -i
Initialize non-volatile configuration - continue (y/n)?y
Run script at boot: false Use BOOTP for network configuration: true Default server IP address: 10.0.1.1 Console baud rate: 115200 DNS domain name: example.com DNS server IP address: 10.0.1.1 Network hardware address [MAC]: 0x08:0x00:0x3E:0x28:0x7A:0xBA GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)?y
... Unlocking from 0xfffc0000-0xffffffff: . ... Erase from 0xfffc0000-0xffffffff: . ... Program from 0x07fc0000-0x08000000 to 0xfffc0000: . ... Locking from 0xfffc0000-0xffffffff: . RedBoot>For the "Default server IP address", enter the IP address of the TFTP server on which the
redboot_ROMRAM.bin
is to be found.Now we need to download and program a ROMRAM version of RedBoot. From RedBoot, issue the following command:
RedBoot>
load -r -b %{freememlo} redboot_ROMRAM.bin
Using default protocol (TFTP) Raw file loaded 0x0003e400-0x000682a7, assumed entry at 0x0003e400 RedBoot>Program the RedBoot into the board:
RedBoot>
fis cre RedBoot
An image named 'RedBoot' exists - continue (y/n)? y ... Unlocking from 0xfff00000-0xfffbffff: ... ... Erase from 0xfff00000-0xfffbffff: ... ... Program from 0x0003e400-0x000682a8 to 0xfff00000: ... ... Locking from 0xfff00000-0xfffbffff: ... RedBoot>RedBoot is now programmed into the board. Detach the PEEDI and reset the board and you should see the following output:
+Ethernet eth0: MAC address 08:00:3e:28:7a:ba IP: 10.0.2.5/255.0.0.0, Gateway: 10.0.0.3 Default server: 0.0.0.0 DNS server IP: 10.0.1.1, DNS domain name: <null> RedBoot(tm) bootstrap and debug environment [ROMRAM] Non-certified release, version UNKNOWN - built 15:12:36, Jun 20 2011 Copyright (C) 2000-2009 Free Software Foundation, Inc. Copyright (C) 2003-2011 eCosCentric Limited RedBoot is free software, covered by the eCos license, derived from the GNU General Public License. You are welcome to change it and/or distribute copies of it under certain conditions. Under the license terms, RedBoot's source code and full license terms must have been made available to you. Redboot comes with ABSOLUTELY NO WARRANTY. Platform: ADS512101 (PowerPC MPC5121e) RAM: 0x00000000-0x08000000 [0x0003e400-0x07fb1000 available] FLASH: 0xfc000000-0xffffffff, 256 x 0x40000 blocks RedBoot>
To reinstall RedBoot, a new binary file can be installed and programmed into flash from the installed ROMRAM RedBoot, from step 9 above. It is not necessary to use JTAG for this unless the board is rendered unusable.
Rebuilding RedBoot
Should it prove necessary to rebuild a RedBoot binary, this is done most conveniently at the command line. The steps needed to rebuild the the ROM version of RedBoot for the ADS512101 are:
$ mkdir redboot_ads512101_romram $ cd redboot_ads512101_romram $ ecosconfig new ads512101 redboot $ ecosconfig import $ECOS_REPOSITORY/hal/powerpc/ads512101/current/misc/ads512101_redboot_ROMRAM.ecm $ ecosconfig resolve $ ecosconfig tree $ make
At the end of the build the install/bin
subdirectory should contain
the file redboot.bin
.
2024-03-18 | eCosPro Non-Commercial Public License |