Home
RedBoot™ User's Guide
Contents
1. esses 5 16 7 Rebuilding 602001 ccc eeeeee eee eee eee 1 Getting Started with RedBoot RedBoot is an acronym for Red Hat Embedded Debug and Bootstrap and is the standard em bedded system debug bootstrap environment from Red Hat replacing the previous generation of debug firmware CygMon and GDB stubs It provides a complete bootstrap environment for a range of embedded operating systems such as embedded Linux and eCos and includes facilities such as network downloading and debugging It also provides a simple flash file system for boot images RedBoot provides a wide set of tools for downloading and executing programs on embedded target systems as well as tools for manipulating the target system s environment It can be used for both product development debug support and for end product deployment flash and network booting Here are some highlights of RedBoot s capabilities e Boot scripting support Simple command line interface for RedBoot configuration and management accessible via serial terminal or Ethernet telnet Integrated GDB stubs for connection to a host based debugger via serial or ethernet Ethernet connectivity is limited to local network only e Attribute Configuration user control of aspects such as system time and date if applicable default Flash image to boot from default failsafe image static IP address etc e Configurable and extensible specifically adapted to the target environ
2. sssssssssssssssse SERMEEOT MIT MM CCELI 5 13 2 Initial Installation Method sssssssIIIIHH 5 13 3 Flash management 5 13 3 1 Updating the primary RedBoot Image 5 13 3 2 Updating the secondary RedBoot 06 es 5 13 4 Special RedBoot Commands 5 13 5 Memory Maps 2 5 13 6 Resource Usage EE 5 13 7 Rebuilding RedBoot A Bright Star Engineering commEngine and nanoEngine essssesssserrsseerrrrrenrnne 4 EE 5 142 Initial Installation ccce emn 5 14 3 Download Instructions esses 5 14 4 Cohabiting with POST maen viii 5 14 5 Special RedBoot Commands 5 14 6 Memory Maps 5 14 7 Nano Platform Port 5 14 8 Ethernet Driver 0 5 14 9 Rebuilding 602001 2 c ce ceeeee ee eee eee SAST 5 15 2 Initial Installation 0 2 cece cece eee eee eee es 5 15 3 Flash management 5 15 4 Special RedBoot Commands 5 15 5 Memory Maps eee 5 15 6 Resource Usage esses 5 15 7 Rebuilding RedBoot 1112201010 Atmel AT91 Evaluation Board EB40 5 16 1 Overview 2 c cece eee eee R tees eee ennnnaes 5 16 2 Initial Installation Method 4 5 16 3 Flash management 1 Updating the RedBoot image in flash 5 16 4 Special RedBoot Commands 5 16 5 Memory Maps ssssssss eeee ee hitet 5 16 6 Resource Usage
3. 5 0 b 0x20000 r 0x20000 0 5 8 4 Special RedBoot Commands None 5 8 5 Memory Maps Memory Maps RedBoot sets up the following memory map on the MBX board Physical Address Range Description 0x00000000 0x003fffff DRAM Oxfal00000 0xfa100003 LEDs Oxfe000000 OxfeO7ffff flash AMD29F040B Oxff000000 OxffOfffff MPC registers 5 8 6 Resource Usage The flash based RedBoot image occupies flash addresses Oxfe000000 OxfeO1ffff RedBoot also reserves RAM 0x00000000 0x0001ffff for RedBoot runtime uses RAM based RedBoot con figurations are designed to run from RAM at physical addresses 0x00020000 0x0004ffff RAM physical addresses from 0x00050000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash 5 8 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TAR GET ARCH DIR and PLATFORM DIR on this platform are mbx powerpc and mbx re spectively Note that the configuration export files supplied in the hal powerpc mbx VER SION misc directory in the RedBoot source tree should be used 58 5 9 Analogue amp Micro PowerPC 860T 5 9 1 Overview RedBoot uses the SMC1 serial port The default serial port settings are 38400 8 N 1 Ethernet is also supported using the RJ 45 connector Management of onboard flash is also supported Two basic RedBoot configurati
4. ccc cece eee eect ee eee ee mee 5 10 4 Special RedBoot Commands DIEU Memory Maps x ee EERRREDM RR UREREEERYSREMRERRRERMERRKREMERBQCQORERRYERE RERY 5 10 6 Resource Usage erp RU Eed dd EE 5 10 7 Rebuilding RedBoot A ARM ARM7 PID Dev7 and Dev SNET 0 5 11 2 Initial Installation Method 100000001111111100000 5 11 3 Special RedBoot Commands 5 11 4 Memory Maps eene eere ak xxr rex co ERR P RR RATER XE EDEN NN 11 5 Resource 6 5 11 6 Rebuilding RedBoot sssssssssssss n Compaq iPAQ 2 0 esee mense nnn 2 1 et ENEE e 5 12 2 Initial Installation ee SNE KEEN re e tni e eer KEE VEER SEENEN 5 12 2 1 Installing RedBoot on the iPAQ using Windows CE 5 12 2 2 Installing RedBoot on the iPAQ using the Compaq bootloader sore 5 12 2 3 Setting up and testing RedBoot ccc cece ee eee rnrn 5 12 2 4 Installing RedBoot permanent 5 12 2 5 Restoring Windows CE 200cceeceeee eee eee eee eeaeeeeeaaeees 5 12 3 Flash Management 5 12 3 1 Updating the secondary RedBoot 06 es 5 12 3 2 Updating the primary RedBoot Image 5 12 4 Additional commands EE 5 12 5 Memory Maps lt gt Rd exe EE Add 5 12 6 Resource Usage 5 xxx dd dee 5 12 7 Rebuilding RedBoot sssssssssssss eee ened Cirrus Logic EP72xx EDB7211 EDB7212
5. None 5 5 5 Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used 48 NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 OxO7ffffff flash 0x08000000 OxOffffff SA 1111 Board flash 0x10000000 525 Board Registers 0x18000000 Oxlffffff Ethernet 0x20000000 Ox2ffffff SA 1111 Board PCMCIA 0x30000000 OxS3ffffff Compact Flash 0x40000000 5 SA 1111 Board 0x48000000 Ox4bfffff GFX 0x80000000 125 SA 1110 Internal Registers 0xc0000000 Oxc7fffff DRAM Bank 0 0xc8000000 Oxcffffff DRAM Bank 1 0xd0000000 2 DRAM Bank 2 0xd8000000 Oxdffffff DRAM Bank 3 0xe0000000 Oxe7fffff Cache Clean Virtual Address Range CB Description 0x00000000 OxO1ffffff Y Y DRAM Bank 0 0x08000000 OxOffffff YY SA 1111 Board flash 0x10000000 525 NN Board Registers 0x18000000 Oxlffffff NN Ethernet 0x20000000 Ox2ffffff NN SA 1111 Board PCMCIA 0x30000000 OxS3ffffff NN Compact Flash 0x40000000 Ox47fffff NN SA 1111 Board 0x48000000 Ox4bfffff NN GFX 0x50000000 Ox57ffffff Y Y flash 0x80000000 Oxbfffffff NN SA 1110 Internal Registers 0xc0000000 Oxclfffff NY DRAM Bank 0 0xe0000000 Oxe7fffff Y Y Cache Clean The flash based RedBoot image occupies virtual addresses 0x50000000 0x5001f
6. 0x18c00000 25 SysRegB 0x19000000 Ox193fffff Spare CPLD A 0x19400000 Ox197fffff Spare CPLD B 0x20000000 5 PCMCIA 0x80000000 Oxbfffffff 51100 Internal Registers 0xc0000000 5 DRAM Bank 0 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range C B Description DRAM Bank 0 Application flash SA 1101 Registers Ct8020 DSP XBusReg 0x00000000 5 0x08000000 5 0x10000000 5 0x18000000 5 0x18400000 525 Zi 2 gt 2 uuu 46 0x18800000 0x188fffff NN SysRegA 0x18c00000 0Ox18cfffff NN SysRegB 0x19000000 0Ox193fffff NN Spare 0212 A 0x19400000 Ox197fffff NN Spare CPLD B 0x20000000 Ox3fffffff NN PCMCIA 0x50000000 0x500fffff Y Y Boot flash 0x80000000 Oxbfffffff NN SA1100 Internal Registers 0xc0000000 0OxcO7fffff N Y DRAM Bank 0 0xe0000000 Oxe7ffffff Y Y Cache Clean 5 4 5 Resource Usage The flash based RedBoot image occupies virtual addresses 0x50000000 0x5000ffff The RAM based RedBoot image occupies virtual addresses 0x 10000 Ox2ffff RAM addresses from 0x30000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash The SA11x0 OS timer is used as a polled timer to provide timeout support for XModem file trans fers 5 4 6 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform
7. CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN CYGNUM_HAL_IN XINT6 in define define define define define define define define define define define define define XINT7 in I2C interrupts CYGNUM HAL I CYGNUM HAL IN CYGNUM HAL IN CYGNUM HAL I CYGNUM HAL I CYGNUM HAL I define define define define define define Messaging Unit interrupts External board interrupts XINT3 T_TIMER 38 ERRUP ERRU ERRU ERRU ERRU ERRU ERRUP define CYGNUM HAL IN define CYGNUM HAL IN define CYGNUM HAL I define CYGNUM HAL IN define CYGNUM HAL I define CYGNUM HAL I define CYGNUM HAL IN PCI Address Transla define CYGNUM HAL IN define CYGNUM HAL INTI define CYGNUM HAL INTERRUPT ETHERNET 28 onboard enet define CYGNUM HAL INTERRUPT SERIAL A 29 16x50 uart A define CYGNUM HAL INTERRUPT SERIAL B 30 16x50 uart B define CYGNUM HAL INTERRUPT PCI 5 INTD 31 secondary PCI INTD The hardware doesn t yet prov
8. e Execute OSloader If you didn t create a shortcut then you will have to poke around for it using the WinCE file explorer e Choose the Tools gt BootLdr gt Run after loading from file menu item At this point the RAM based version of RedBoot should be running You should be able to return to this point by just executing the last two steps of the previous process if necessary 5 12 2 2 Installing RedBoot on the iPAQ using the Compaq boot loader This method of installation is no longer supported If you have previously installed either the Compaq boot loader or older versions of RedBoot restore the Win CE environment and proceed as outlined above 5 12 2 3 Setting up and testing RedBoot When RedBoot first comes up it will want to initialize its LCD touch screen parameters It does this by displaying a keyboard graphic and asks you to press certain keys Using the stylus press and hold until the prompt is withdrawn When you lift the stylus RedBoot will continue with the next calibration Once the LCD touchscreen has been calibrated RedBoot will start The calibration step can be skipped by pressing the return abort button on the unit right most button with a curved arrow icon Additionally the unit will assume default values if the screen is not touched within about 15 sec onds Once RedBoot has started you should get information similar to this on the LCD screen It will also appear on the serial port at 38400 8 N 1 Re
9. flash management is not currently supported Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 2 2 Initial Installation Method Device programmer is used to program socketecflash parts 5 2 3 Special RedBoot Commands None 5 2 4 Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 0x000fffff Boot ROM 0x08000000 0x083fffff Application flash 0x10000000 0Ox100fffff SRAM 0x18000000 0x180fffff Chip Select 3 0x20000000 25 PCMCIA 0x80000000 Oxbfffffff SA 1100 Internal Registers 0xc0000000 Oxc7ffffff DRAM Bank 0 0xc8000000 Oxcfffffff DRAM Bank 1 0xd0000000 5 DRAM Bank 2 0xd8000000 Oxdfffffff DRAM Bank 3 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range CB Description 0x00000000 OxO03fffff Y Y DRAM Bank 0 0x00400000 OxOO07fffff Y Y DRAM Bank 1 0x00800000 OxO0bfffff Y Y DRAM Bank 2 0x00c00000 OxOOffffff Y Y DRAM Bank 3 0x08000000 Ox083fffff Y Y Application flash 41 0x10000000 0Ox100fffff Y N SRAM 0x20000000 Ox3fffffff NN PCMCIA 0x40000000 0Ox400fffff Y Y Boot ROM 0x80000000 Oxbfffffff NN SA 1100 Internal R
10. 0x007e0000 Program from 0xa0013018 0xa0013418 at 0x007c0000 Lock from 0x007c0000 0x007e0000 5 1 3 Error codes RedBoot uses the two digit LED display to indicate errors during board initialization Possible error codes are 88 Unknown Error 55 20 Error FF SDRAM Error 01 No Error 5 1 4 Using RedBoot with ARM Bootloader RedBoot can coexist with ARM tools in flash on the IQ80310 board In this configuration the ARM bootloader will occupy the flash boot sector while RedBoot is located at flash address 0x40000 The sixteen position rotary switch is used to tell the ARM bootloader to jump to the RedBoot image located at address 0x40000 RedBoot is selected by switch position 0 or 1 Other switch positions are used by the ARM firmware and RedBoot will not be started 35 5 1 5 Flash management 5 1 5 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be ARM bootloader in flash boot sector f 0x40000 b 0xa0100000 1 0 RedBoot in flash boot sector f 0 b 0xa0100000 1 0 5 1 5 2 Updating the secondary RedBoot image ARM bootloader in flash boot sector f 0x80000 b 0xa0020000 r 0xa0020000 1 0 RedBoot in flash boot sector f 0x40000 b 0xa0020000 r 0xa0020000 1 0 5 1 6 Special RedBoot Commands A special RedBoot command d
11. 0x80000000 RedBoot backup 0xA0020000 0x8C010000 0x020000 0x8C010000 RedBoot config 0000 OxAOFCOO00 080200000 0 FIS directory OxAOFEO0000 OxAOFEO0000 0x020000 0 junk 0xA0040000 0x8C400000 0x020000 0 RedBoot fis delete junk Delete image junk are you sure y n y Erase from 0xa0040000 0xa0060000 Erase from Oxa0fe0000 0xa1000000 Program from 0x8c7d0000 0x8c7 0000 at 0xa0fe0000 fis lock f flash addr l length This command is used to write protect lock a portion of flash memory to prevent accidental overwriting of images In order to make make any modifications to the flash a matching unlock command must be issued This command is optional and will only be provided on hardware which can support write protection of the flash space NOTE Depending the system attempting to write to write protected flash may generate errors or warnings or be benignly quiet s RedBoot fis lock f 0xa0040000 1 0x20000 Lock from 0xa0040000 0xa0060000 fis unlock f flash addr l length 23 This command is used to unlock a portion of flash memory forcibly allowing it to be updated It must be issued for regions which have been locked before the FIS can reuse those portions of flash RedBoot fis unlock f 0xa0040000 1 0x20000 Unlock from 0xa0040000 0xa0060000 fis erase f flash addr length This command is used to erase a portion of flash memory forcibly
12. 0xa0fe0000 0xa1000000 Program from 0x8c7d0000 0x8c7 0000 at 0xa0fe0000 If you are loading an existing file then the fis create command will provide some values automat ically such as the flash address and flash length fis load b memory load address gt c d name This command is used to transfer an image from flash memory to RAM Once loaded it may be executed using the go command If b is specified then the image is copied from flash to the specified address in RAM If b is not specified the image is copied from flash to the load address given when the image was created 22 Arguments name The name of the file as shown in the FIS directory b Specify the location in memory to which the file should be loaded Executable images normally load at the location to which the file was linked This option allows the file to be loaded to a specific memory location possibly overriding any assumed location 0 Compute and print the checksum of the image data after it has been loaded into memory d Decompress gzipped image while copying it from flash to RAM RedBoot fis load RedBoot backup RedBoot gt go fis delete name This command removes an image from the FIS The flash memory will be erased as part of the execution of this command as well as removal of the name from the FIS directory RedBoot fis list Name flash addr Mem addr Length Entry point RedBoot 0xA0000000 0xA0000000 0x020000
13. 706F 696E 743A 2025 7020 Entry point Sp reset Reset the system This command resets the platform On many targets this is equivalent to a power on reset but on others it may just cause a jump to the architecture s reset entry resulting in a reinitialization of the system version Display RedBoot version information This command simply displays version information about RedBoot RedBoot version RedBoot tm debug environment built 09 12 03 Feb 12 2001 Platform XYZ PowerPC 860 Copyright C 2000 2001 Red Hat Inc RAM 0x00000000 0x00400000 RedBoot 2 3 3 Download Process load The Load command is used to download data into the target system Data can be loaded via a network connection using either the TFTP protocol or the console serial connection using 19 the X Y modem protocol Files may also be loaded directly from local filesystems on disk Files to be downloaded may either be executable images in SREC format or raw data The format of the command is load file v d b location r m xmoden ymoden t ftp disk host 12 ad dress Arguments file The name of the file on the TFTP server or the local disk Details of how this is specified for TFTP are host specific For local disk files the name must be in disk filename format The disk portion must match one of the disk names listed by the disks command V Display a small spinn
14. EN EN wa MM dM I MEINES 14 met work 14 c usen 11 persistent state flash based configuration and contra 24 PMC Sierra MIPS RM7000 Ocelot tustalling and testing codi tee b Cet aa teer epe d I ord pesi NE 54 R Pebuildins Red Boot cis eio er uence os suse be Le rex sou Mv Lets funus 28 Red Boot getting SCARCE MR 10 Red Hat Linux enabling TE TP on version EEN 13 enabling TETP ODE version uei cu torte ias ee ea a bd uta tua oe va tree 13 RedBoot commands and examples us o eb ac Ee a ear c aM 15 editing commands 5562s tre EE EEEE EEEE LE dicen ave UA vua TE d UD e TEENAA 16 environment CORTE UFSUDIT eege ee 11 EXCCUUIME ee CEET He 83 84 installing and testing rebuilding update e setate oris ed RedBoot installation general procedures RedBoot network gateway RedBoot s capabilities T target network configuration TEPIP tee tenete ose mea vC ee ERN TFTP enabling on Red Hat Linux 6 2 enabling on Red Hat Linux 7 TFTP commands U updating RedBoot user 1216118660 cece ee eee V verification network X x86 Based PC installing and testing
15. Oxlbdfffff PCI I O Space Ox1be00000 Oxlbffffff System Controller 0x1c000000 Oxldffffff System flash 0x1e000000 Oxle3fffff Monitor flash 0x1f000000 Oxlfbfffff FPGA 5 6 7 Resource Usage The flash based RedBoot image occupies flash addresses 0 11600000 Ox 1fc1ffff RedBoot also reserves RAM 0x00000000 0x0001ffff for RedBoot runtime uses RAM based RedBoot con figurations are designed to run from RAM at physical addresses 0x00020000 0x0003ffff RAM physical addresses from 0x00040000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash 5 6 8 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are atlas mips32 4kc or atlas mips64 5kc mips and atlas respectively Note that the configuration export files supplied in the hal mips atlas VERSION misc directory in the RedBoot source tree should be used 53 5 7 PMC Sierra MIPS RM7000 Ocelot 5 7 1 Overview RedBoot uses the front facing serial port The default serial port settings are 38400 8 N 1 Red Boot also supports ethernet Management of onboard flash is also supported Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 7 2 Initial Installati
16. Y PCI Memory 5 3 7 Resource Usage The flash based RedBoot image occupies flash addresses 0x41000000 Ox4101ffff It also reserves the first 128K bytes of RAM for runtime uses The RAM based RedBoot image occupies RAM addresses 0x20000 Ox3ffff RAM addresses from 0x40000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash Timer3 is used as a polled timer to provide timeout support for networking and XModem file trans fers 5 3 8 Building eCos Test Cases to run with old RedBoots If using older versions of RedBoot the default configuration for EBSA 285 will send diagnostic output to the serial line only not over an ethernet connection To allow eCos programs to use RedBoot to channel diagnostic output to GDB whether connected by net or serial enable the con figuration option CYGSEM HAL VIRTUAL VECTOR DIAG Do diagnostic IO via virtual vector table located here in the common HAL configuration tree eCos HAL ROM monitor support Enable use of virtual vector calling interface Do diagnostic IO via virtual vector table Other than that no special configuration is required to use RedBoot If you have been using built in stubs to acquire support for thread aware debugging you can still do that but you must only use the serial device for GDB connection and you must not enable the 44 option mentioned above However it is
17. a system to know its IP address First it can be stored locally on the platform This is known as having a static IP address Second the system can use the network itself to discover its IP address This is known as a dynamic IP address RedBoot supports this dynamic IP address mode by use of the BOOTP a subset of DHCP protocol In this case RedBoot will ask the network actually some generic server on the network for the IP address to use NOTE Currently RedBoot only supports BOOTP In future releases DHCP may also be supported but such support will be limited to additional data items not lease based address allocation The choice of IP address type is made via the 5602 51 6 command Once a selection is made it will be stored in flash memory RedBoot only queries the flash configuration information at reset so any changes will require restarting the platform Here is an example of the RedBoot fconfig command showing network addressing RedBoot fconfig 1 Run script at boot false Use BOOTP for network configuration false Local IP address 192 168 1 29 Default server IP address 192 168 1 101 GDB connection port 9000 Network debug at boot time false In this case the board has been configured with a static IP address listed as the Local IP address The default server IP address specifies which network node to communicate with for TFTP service This address can be overridden directly in the TFTP commands If the s
18. addresses 0x00008000 0x0003ffff RAM physical addresses from 0x00040000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash 63 5 11 6 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are pid arm and pid respectively Note that the configuration export files supplied in the hal arm pid VERSION misc directory in the RedBoot source tree should be used 64 5 12 Compaq iPAQ PocketPC 5 12 1 Overview RedBoot supports the serial port via cradle or cable and Compact Flash ethernet cards if fitted for communication and downloads The LCD touchscreen may also be used for the console although by default RedBoot will switch exclusively to one channel once input arrives The default serial port settings are 38400 8 N 1 RedBoot runs from and supports flash management for the system flash region 5 12 2 Initial Installation Prebuilt images for the OSloader redboot ROM bin and 1600004 WinCE bin images mentioned in the instructions below are provided 5 12 2 1 Installing RedBoot on the iPAQ using Windows CE The Windows CE environment originally shipped with the iPAQ contains a hidden mini loader sometimes referred to as the Parrot loader This loader can be started by holding down the action button the joypad while rese
19. arguments accordingly when calling into the kernel The default entry point if no image with explicit entry point has been loaded and none is specified is 0x80000750 5 7 5 Memory Maps RedBoot sets up the following memory map on the Ocelot board Note that these addresses are accessed through kseg0 1 and thus translate to the actual address range 0x80000000 Oxbfffffff depending on the need for caching non caching access to the bus NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 OxOfffffff SDRAM 0x10000000 Ox10ffffff PCI I O space 0x12000000 0Ox13ffffff PCI Memory space 0x14000000 0x1400ffff Galileo system controller 0x1c000000 0x1c0000ff PLD board logic Ox1fc00000 Oxlfc7ffff flash 5 7 6 Resource Usage The flash based RedBoot image occupies flash addresses 0x 11600000 Ox1fc1ffff RedBoot also reserves RAM 0x00000000 0x0001ffff for RedBoot runtime uses RAM based RedBoot configurations are designed to run from RAM at physical addresses 0x00020000 0x0003ffff RAM physical addresses from 0x00040000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash 5 7 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and P
20. blocks of 0x00000100 bytes each RedBoot load b 0x02040000 Use minicom to send the file redboot RAMROM srec RedBoot fi wr f 0x01010000 b 0x02040000 1 0xe000 Press the reset pushbutton and RedBoot should come up on the board 5 16 3 Flash management 5 16 3 1 Updating the RedBoot image in flash Since the primary RedBoot runs from RAM it can be used to update itself directly Simply follow the steps above starting with a connection to RedBoot running on the board 5 16 4 Special RedBoot Commands None 5 16 5 Memory Maps This processor has no MMU so the only memory map is for physical addresses Physical Address Range Description 0x00000000 0x00000fff On chip SRAM 0x01000000 5 Flash 0x02000000 0x0207ffff RAM Oxffe00000 Oxffffffff I O registers The flash based RedBoot image occupies virtual addresses 0x01010000 0x0101dfff 5 16 6 Resource Usage The RAM based RedBoot image occupies RAM addresses 0x02020000 0x0203ffff RAM ad dresses from 0x02040000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash 5 16 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for PLAT FORM DIR on this platform is 81917 The value for TARGET is eb40 Note that the config uration export files supplied in the hal arm at91 VERSION misc directory in the RedBoot source tree should b
21. configuration data unless configured to use a static ESA in the usual manner 5 14 9 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are nano arm and sall1x0 nano respec tively Note that the configuration export files supplied in the ha1 arm sallx0 nano VER SION misc directory in the RedBoot source tree should be used 76 5 15 x86 Based PC 5 15 1 Overview RedBoot supports two serial ports and an Intel 182559 based ethernet card for example an Intel EtherExpress Pro 10 100 for communication and downloads The default serial port settings are 38400 8 N 1 RedBoot runs from a boot floppy disk installed in the A drive of the PC 5 15 2 Initial Installation RedBoot takes the form of a self booting image that must be written onto a formatted floppy disk The process will erase any file system or data that already exists on that disk so proceed with caution For Red Hat Linux users this can be done by dd conv syne if install bin redboot bin of dev d0H1440 For NT Cygwin users this can be done by first ensuring that the raw floppy device is mounted as dev d0 To check if this is the case type the command mount at the Cygwin bash prompt If the floppy drive is already mounted it will be listed as something similar to the following line 8 dev fd0 user binmode If this line is not listed then
22. copyright holder or any other party who may modify and or redistribute the program as permitted above be liable to you for damages including any general special incidental or consequential damages arising out of the use or inability to use the program including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs even if such holder or other party has been advised of the possibility of such damages How to Contact Red Hat Red Hat Corporate Headquarters 2600 Meridian Parkway Durham NC 27713 USA Telephone toll free 1 888 REDHAT 1 1 888 733 4281 Telephone main line 1 919 547 0012 Telephone FAX line 1 919 547 0024 Website http www redhat com 13 Contents RedBoot User s Guide eode cU l UE TEL Getting Started with Hedboot More information about RedBoot on the web Installing Hed ocot Si siivin einek User Interface 44 02 2004 Configuring the RedBoot Environment cceeeeeeeee teense eens 1 4 1 Target Network Configuration 1 4 2 Host Network Configuration lessen 1 4 2 1 Enable TFTP on Red Hat Linux 6 2 1 4 2 2 Enable TFTP on Red Hat Linux 7 1 4 2 3 Enable BOOTP DHCP server on Red Hat Linux 1 4 2 4 RedBoot network gateway ss
23. no longer necessary to do that to 0 RedBoot is thread aware 5 3 9 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TAR GET ARCH DIR and PLATFORM DIR on this platform are ebsa285 arm and ebsa285 respectively Note that the configuration export files supplied in the hal arm ebsa285 VER SION misc directory in the RedBoot source tree should be used 45 5 4 Intel 51100 Multimedia Board 5 4 1 Overview RedBoot supports both board serial ports The default serial port settings are 38400 8 N 1 flash management is also supported Two basic RedBoot configurations are supported n e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 4 2 Initial Installation Method A device programmer is used to program socketed flash parts 5 4 3 Special RedBoot Commands None 5 4 4 Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 0x000fffff Boot flash 0x08000000 0x083fffff Application flash 0x10000000 Ox107fffff SA 1101 Board Registers 0x18000000 0x180fffff Ct8020 DSP 0x18400000 0Ox184fffff XBusReg 0x18800000 0x188fffff SysRegA
24. of lines of information as it executes these commands Also the size s value for the create operation should be determined from the output provided as part of the file download step It is not required but it does allow for improved image validity checking in the form of an image checksum 4 1 4 Reboot run RedBoot from flash Once the image has been successfully written into the flash simply reboot the target and the new version of RedBoot will be running 32 A4 NOTE There may be times when RedBoot does not exist on the hardware thus making step 1 im possible to do In these cases it should be possible to get to step 2 by using GDB If this is possible the appropriate steps are provided with the target documentation 33 5 Installation and Testing 5 1 Cyclone 1Q80310 5 1 1 Overview RedBoot supports both serial ports and the built in ethernet port for communication and downloads The default serial port settings are 115200 8 N 1 RedBoot also supports flash management for the onboard 8MB flash Several basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from flash address 0x40000 with ARM bootloader in flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector e RedBoot running from RAM with ARM bootloader in flash boot sector A special RedBoot command diag is used to access a set of hardware diagnostics provided by th
25. sends Default is 1000ms 1 second Specifying r 0 will send packets as quickly as possible lt length gt Each packet contains some amount of payload data This option specifies the length of that data The default is 64 and the value is restricted to the range 64 1400 i local IP This allows the ping command to override its local network address While this is not recommended procedure it can help diagnose some situations for example where BOOTP is not working properly h host IP The address of the other device to contact 17 2 3 2 General alias name value The alias command is used to maintain simple command line aliases These aliases are shorthand for longer expressions When the pattern name appears in a command line including a script the corresponding value will be substituted Aliases are kept in RedBoot s non volatile configuration area i e Flash memory This is an example of setting an alias Notice the use of a quoted string when the value contains spaces RedBoot alias SBUF b 0x100000 Update RedBoot non volatile configuration are you sure y n y Unlock from 0x50 80000 0x50f c0000 Erase from 0x50f 80000 0x50f c0000 Program from 0x000059e8 0x0000c9e8 at 0x50 80000 Lock from 0x50 80000 0x50f c0000 This example shows querying of an alias as well as how it might be used RedBoot alias SBUF SBUF b 100000 0 RedBoot d SBUF 0x00100000 F
26. typically are install bin redboot elf This is the complete version of RedBoot represented in ELF format It is most useful for testing with tools such as embedded ICE or other debug tools install bin redboot srec This version has been converted to Motorola S record format install bin redboot bin This version has been flattened that is all formatting informa tion removed and just the raw image which needs to be placed in ROM flash remains The details of putting the RedBoot code into ROM flash are target specific Once complete the system should come up with the RedBoot prompt For example the version built using the com mands above looks like RedBoot tm debug environment built 07 54 25 Oct 16 2000 Platform Assabet development system StrongARM 1110 Copyright C 2000 Red Hat Inc RAM 0x00000000 0x02000000 flash 0x50000000 0x50400000 32 blocks of 0x00020000 bytes ea Socket Communications Inc Low Power Ethernet CF Revision C 5V 3 3V 08 27 98 IP 192 168 1 29 Default server 192 168 1 101 RedBoot 3 1 1 Configuration export files To help with rebuilding RedBoot from source some platforms HALs provide configuration export files First locate the configuration export files for your platform in the eCos source repository The RAM and ROM startup configuration exports can usually be found in a directory named misc in the platform HAL in the eCos source repository named 1432 Feb 1 13 27 mi
27. 7 5 1 8 5 1 9 En We ET 5 2 2 Initial Installation Method 5 2 3 Special RedBoot Commands 5 2 4 Memory Maps sessssss e 5 2 5 Resource Usage esee 5 2 6 Rebuilding RedBoot cc cceeeee ee eee eee eeee es Intel StrongArm EBSA 2985 CAT QVEMICW PTT 5 3 2 Initial Installation 61 ee 5 3 3 Flash management 5 3 3 1 Updating the primary RedBoot image 5 3 3 2 Updating the secondary RedBoot image 5 3 4 Communication Channels sseeuussusss 5 3 5 Special RedBoot Commands s 5 3 6 Memory Maps sarees ra EEA aa Ie 5 3 7 Resource Usage eese 5 3 8 Building eCos Test Cases to run with old RedBoots 5 3 9 Rebuilding RedBoot esseseeeeeeeeess Intel SA1100 Multimedia Board 5 4 1 Overview 2 cece eee eee T TE EEES 5 4 2 Initial Installation Method ssssseeesse 5 4 3 Special RedBoot Commands 5 4 4 Memory Maps sessssss nent eee e ee eee eeeaaaees 5 4 5 Resource Usage ceeeeeceeeee eee eee eeeeeeeees 5 4 6 Rebuilding RedBoot 2 cc seeeee ee eee eee eeae es Intel SA1110 Assabet esses 5 5 1 nn RR RR yh Ra RR an 5 5 2 Initial Installation Method sssusueuue 5 5 3 Flash management 5 5 3 1 Updating the primary RedBoot im
28. 7 PID Dev7 and 9 5 11 1 Overview RedBoot uses either of the serial ports The default serial port settings are 38400 8 N 1 Manage ment of onboard flash is also supported Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 11 2 Initial Installation Method Device programmer is used to program socketed flash parts with ROM version of RedBoot Alternatively to install RedBoot on a target that already has eCos GDB stubs download the RAM version of RedBoot and run it Initialize the flash image directory RedBoot fi init Then download the ROM version of RedBoot and program it into flash RedBoot load b 0x00040000 m ymodem RedBoot fi cr RedBoot f 0x04000000 b 0x00040000 1 0x20000 5 11 3 Special RedBoot Commands None 5 11 4 Memory Maps RedBoot sets up the following memory map on the PID board Physical Address Range Description 0x00000000 0x0007ffff DRAM 0x04000000 0x04080000 flash 0x08000000 OxO9ffffff ASB Expansion 0x0a000000 0OxObffffff APB Reference Peripheral 0x0c000000 OxOfffffff NISA Serial Parallel and PC Card ports 5 11 5 Resource Usage The flash based RedBoot image occupies flash addresses 0x04000000 0x0401ffff RedBoot also reserves RAM 0x00000000 0x00007fff for RedBoot runtime uses RAM based RedBoot configurations are designed to run from RAM at physical
29. 8c800000 flash 0xa0000000 0xa1000000 128 blocks of 0x00020000 bytes ea Socket Communications Inc Low Power Ethernet CF Revision C 5V 3 3V 08 27 98 IP 192 168 1 29 Default server 192 168 1 101 Executing boot script in 10 seconds enter C to abort RedBoot fi li 25 Name flash addr Mem addr Length Entry point RedBoot 0xA0000000 0xA0000000 0x020000 0x80000000 RedBoot backup 0xA0020000 0x8C010000 0x020000 0x8C010000 RedBoot config OxAOFCOOO00 OxAOFCOO00 0x020000 0x00000000 FIS directory OxAOFEO0000 OxAOFEO000 0x020000 0x00000000 RedBoot The bold characters above indicate where something was entered on the console As you can see the i 1i command at the end came from the script not the console Once the script is executed command processing reverts to the console 2 6 Executing Programs from RedBoot Once an image has been loaded into memory either via the Load command or the fis load command execution may be transfered to that image The image is assumed to be a stand alone entity as RedBoot gives the entire platform over to it Typical examples would be an eCos application or a Linux kernel go Execute a program The format of the go command is RedBoot gt go w time location Execution will begin at Location if specified Otherwise the entry point of the last image loaded will be used The w option gives the user t ime seconds before execution begins The executio
30. EO3 OOEA 0000 0000 0000 0000 0000 0000 pcc te REUM 0x00100010 0000 0000 0000 0000 0000 0000 0000 0000 prr baudrate b value This command sets the baud rate for the system serial console If the platform supports non volatile configuration data then the new value will be saved and used when the system is reset cache ON OFF This command is used to manipulate the caches on the processor With no options this command specifies the state of the system caches When an option is given the caches are turned off or on appropriately channel 1l channel number gt With no arguments this command displays the current console channel number When passed an argument of 0 upwards this command switches the console channel to that channel number The mapping between channel numbers and physical channels is platform specific When passed an argument of 1 this command reverts RedBoot to responding to whatever channel receives input first as happens when RedBoot initially starts execution cksum b location l length Computes the POSIX checksum on a range of memory either RAM or FLASH The value printed can be compared with the output from the Linux program chksum disks 18 This command is used to list disk partitions recognized by RedBoot dump b location lt length gt Display hex dump a range of memory This command displays the contents of memory in hexadecimal format It is most u
31. HAL INTERRUPT PCIA 8 define CYGNUM HAL INTERRUPT PCIB 9 define CYGNUM HAL INTERRUPT PCIC 10 define CYGNUM HAL INTERRUPT PCID 11 define CYGNUM HAL INTERRUPT ENUM 12 define CYGNUM HAL INTERRUPT DEG 13 define CYGNUM HAL INTERRUPT ATXFAIL 14 define CYGNUM HAL INTERRUPT INTA 15 define CYGNUM HAL INTERRUPT INTB 16 define CYGNUM HAL INTERRUPT INTC 17 define CYGNUM HAL INTERRUPT INTD 18 define CYGNUM HAL INTERRUPT SERR 19 define CYGNUM HAL INTERRUPT Dn 20 define CYGNUM HAL INTERRUPT Dn 21 define CYGNUM HAL INTERRUPT HW3 22 define CYGNUM HAL INTERRUPT HW4 23 define CYGNUM HAL INTERRUPT HW5 24 The data passed to the ISR is pulled from a data table al interrupt data which im mediately follows the interrupt vector table With 25 interrupts the data table starts at address 0x80000464 on atlas An application may create a normal C function with the above prototype to be an ISR Just poke its address into the table at the correct index and enable the interrupt at its source The return value of the ISR is ignored by RedBoot 52 5 6 6 Memory Maps Memory Maps RedBoot sets up the following memory map on the Atlas board Physical Address Range Description 0x00000000 OxO7ffffff SDRAM 0x08000000 Oxl7ffffff PCI Memory Space 0x18000000
32. LATFORM DIR on this platform are ocelot mips and rm7000 ocelot respectively Note that the configuration export files supplied in the 55 hal mips rm7000 ocelot VERSION misc directory in the RedBoot source tree should be used 56 5 8 Motorola PowerPC MBX 5 8 1 Overview RedBoot uses the SMC1 COMI serial port The default serial port settings are 38400 8 N 1 Eth ernet is also supported using the 10 base T connector Management of onboard flash is also supported Two basic RedBoot configurations are supported e RedBoot running from RAM with RedBoot in the flash boot sector e RedBoot running from the board s flash boot sector 5 8 2 Initial Installation Method Device programmer is used to program the XUI socketed flash part AM29F040B with the ROM version of RedBoot Use the on board EPPC Bug monitor to update RedBoot This assumes that you have EPPC Bug in the on board flash This can be determined by setting up the board according to the following instructions and powering up the board The EPPC Bug prompt should appear on the SMC1 connector at 9600 baud 8N1 1 Set jumper 3 to 2 3 allow XUI flash to be programmed 2 Set jumper 4 to 2 3 boot EPPC Bug If it is available program the flash by following these steps 1 Prepare EPPC Bug for download EPPC Bug lo 0 At this point the monitor is ready for input It will not return the prompt until the file has been downloaded 2 Use the termin
33. LI is also accessible using the telnet access protocol By default RedBoot runs telnet on port TCP 9000 but this is configurable and or settable by the user RedBoot also contains a set of GDB stubs consisting of code which supports the GDB remote protocol GDB stub mode is automatically invoked when the character appears as the first char acter of a command line The platform will remain in GDB stub mode until explicitly disconnected via the GDB protocol The GDB stub mode is available regardless of the connection method either serial or network Note that if a GDB connection is made via the network then special care must be taken to preserve that connection when running user code eCos contains special network sharing code to allow for this situation and can be used as a model if this methodology is required in other OS environments 1 4 Configuring the RedBoot Environment Once installed RedBoot will operate fairly generically However there are some features that can be configured for a particular installation These depend primarily on whether flash and or networking support are available The remainder of this discussion assumes that support for both of these options is included in RedBoot 1 4 1 Target Network Configuration Each node in a networked system needs to have a unique address Since the network support in RedBoot is based on TCP IP this address is an IP Internet Protocol address There are two ways 11 for
34. Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are 13867 and pc respectively Note that the configuration export files supplied in the ha1 i1386 pc VERSION misc directory in the RedBoot source tree should be used In particular the 600006 FLOPPY ecm file is used for building a version of RedBoot suitable for booting off a floppy disk 78 5 16 Atmel 2191 Evaluation Board EB40 5 16 1 Overview RedBoot supports both serial ports The default serial port settings are 38400 8 N 1 RedBoot also supports minimal flash management on the EB40 However since the flash device AT29LV 1024 is so small only the upper 64K is available for general use only fconfig is supported along with the simple flash write command fis write Two basic RedBoot configurations are supported e RedBootrunning from RAM but contained in the board s flash boot sector RAMROM mode e RedBoot running from RAM with RedBoot in the flash boot sector The RAM version is only used during the initialization of RedBoot the first time 5 16 2 Initial Installation Method This development board comes with ARM s debug tool Angel installed in flash At this time Angel will not be replaced Rather RedBoot will be placed in the alternate half of flash Switch SW1 is used which monitor to boot Selecting SW1 to lower mem will choose Angel Select SW1 to Upper mem for RedBoot once it has been
35. RedBoot User s Guide Document Version 1 5m July 2001 2001 Red Hat Inc This material may be distributed only subject to the terms and conditions set forth in the Open Publication License v1 0 or later the latest version is presently available at http www opencontent org openpub Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copy right holder Distribution of the work or derivative of the work in any standard paper book form is prohibited unless prior permission is obtained from the copyright holder Copyright Red Hat the Red Hat Shadow Man logo eCos RedBoot GNUPro and Insight are trade marks of Red Hat Inc Sun Microsystems and Solaris are registered trademarks of Sun Microsystems Inc y g y SPARC is a registered trademark of SPARC International Inc and is used under license by Sun Microsystems Inc Intel is a registered trademark of Intel Corporation Motorola is a trademark of Motorola Inc ARM is a registered trademark of Advanced RISC Machines Ltd MIPS is a trademark of MIPS Technologies Inc Toshiba is a registered trademark of the Toshiba Corporation NEC is a registered trademark if the NEC Corporation Cirrus Logic is a registered trademark of Cirrus Logic Inc Compaq is a registered trademark of the Compaq Computer Corporation Matsushita is a trademark of the Matsushita Electric Cor
36. RedBoot is usually run from the target platform s flash boot sector or boot ROM and is designed to run when your system is initially powered on The method used to install the RedBoot image into non volatile storage varies from platform to platform In general it requires that the image be programmed into flash in situ or programmed into the flash or ROM using a device programmer In some cases this will be done at manufacturing time the platform being delivered with RedBoot already in place In other cases you will have to program RedBoot into the appropriate device s yourself Installing to flash in situ may require special cabling or interface devices and software provided by the board manufacturer The details of this installation process for a given platform will be found in Installation and Testing Once installed user specific configuration options may be applied using the 560 1 6 command pro viding that persistent data storage in flash is present in the relevant RedBoot version See Section 1 4 for details 1 3 User Interface RedBoot provides a command line user interface CLI At the minimum this interface is normally available on a serial port on the platform If more than one serial interface is available RedBoot is normally configured to try to use any one of the ports for the CLI Once command input has been received on one port that port is used exclusively until reset If the platform has networking capabilities the RedBoot C
37. The fis command is used to manipulate and maintain flash images The available fis commands are fis init f 20 This command is used to initialize the flash Image System FIS It should only be executed once when RedBoot is first installed on the hardware Subsequent executions will cause loss of data in the flash previously saved images will no longer be accessible If the option is specified all blocks of flash memory will be erased as part of this process RedBoot fis init f About to initialize format flash image system are you sure y n n fis c d list This command lists the images currently available in the FIS Certain images used by RedBoot have fixed names Other images can be manipulated by the user If the c option is specified the image checksum is displayed instead of the Mem Adar field If the d option is specified the image datalength is displayed instead of the length amount of flash used The datalength is the length of data within the allocated flash image actually being used for data RedBoot fis list Name flash addr Mem addr Length Entry point RedBoo 0xA0000000 4 0xA0000000 0x020000 0x80000000 RedBoot backup 0xA0020000 0880010000 0x010000 0x8C010000 RedBoot config OxAOFCO000 OxAOFCO000 0x020000 0x00000000 FIS directory OxAOFEO000 OxAOFEO000 0x020000 0x00000000 RedBoot fis list c Name flash addr Checksum Length Entry point RedBoot 0xA0000000 0x34C94A57 0x020000 0x80000000 R
38. There is no cross checking to ensure that the area being erased does not correspond to a loaded image RedBoot fis erase f 0xa0040000 1 0x20000 Erase from 0xa0040000 0xa0060000 fis write b location l length f flash addr gt Writes data from RAM at location to flash 2 5 Persistent State Flash based Configuration and Control RedBoot provides flash management support for storage in the flash memory of multiple executable images and of non volatile information such as IP addresses and other network information RedBoot on platforms that support flash based configuration information will report the following message the first time that RedBoot is booted on the target flash configuration checksum error or invalid key This error can be ignored if no flash based configuration is desired or can be silenced by running the config command as described below At this point you may also wish to run the fis init command See other fis commands in Section 2 4 Certain control and configuration information used by RedBoot can be stored in flash The details of what information is maintained in flash differ based on the platform and the con figuration However the basic operation used to maintain this information is the same Using the fconfig 1 command the information may be displayed and or changed If the optional flag i is specified then the configuration database will be reset to its default state I
39. Updating the primary RedBoot image 5 7 3 2 Updating the secondary RedBoot image 5 7 4 Additional commande 5 7 5 Memory Maps ssssssss Ie 5 7 6 Resource Usage eseeesesn 5 7 7 Rebuilding RedBoot sssesessseeeeeeeeeess Motorola PowerPC MX 5 8 41 Overview 2 cece EEEE AE TERARI ARAP ennaaanaas 5 8 2 Initial Installation Method sssseeesee 5 8 8 Flash management 5 8 3 1 Updating the primary RedBoot image 5 8 3 2 Updating the secondary RedBoot image 5 8 4 Special RedBoot Commands 5 85 Memory Maps ssssssss Ie 5 8 6 Resource Usage ceeeeeceeeee eee eee eeeeeeeees 5 8 7 Rebuilding RedBoot ccc ceeeeee ee eee eee eee Analogue A Micro PowerPC goen 5 9 1 Overview Aaaa aaRS AARRE ANATS E EAR 5 9 2 Initial Installation Method 5 9 8 Flash management 5 9 3 1 Updating the primary RedBoot image 5 9 3 2 Updating the secondary RedBoot image 5 9 4 Special RedBoot Commands ss 5 9 5 Memory Maps sessssss nent eee e ee ee ee TRARRE 5 9 6 Resource Usage esee 5 6 5 7 5 8 5 9 5 9 7 Rebuilding 1602001 22 cece cece eee eee EEEN EVER AEA ee eee tenes ARM Evaluator7T e7t board with APDM ZTIDMI 0 00 ce ceee eee eee eee eee teens e UE ee EE 5 10 2 Initial Installation 5 10 3 Quick download instructions
40. age 5 5 3 2 Updating the secondary RedBoot image Chapter 5 Installation and Testing Cyclone IQ80310 00 Initial Installation Method ees lee ele oie b tinte be d RR ee bbe I RS Using RedBoot with ARM Bootloader Flash management 5 1 5 1 Updating the primary RedBoot image 5 1 5 2 5 3 5 4 5 5 vii 5 5 4 Special RedBoot Commands s 5 5 5 Memory Maps sssssss Ie 5 5 6 Resource Usage ceeeeceeeee eee ee ee eeeeeeeees 5 5 7 Rebuilding RedBoot 2 cceeeeee ee eee eee ae es MIPS Atlas Board with CoreLV 4Kc and CoreLV 5Kc BET iiid ee eae Cr Ed ee etal so ees 5 6 2 Initial Installation 2 c cece eee eee eee ee 5 6 2 1 Quick download instructions 5 6 2 2 Atlas download format 5 6 3 Flash management 5 6 3 1 Additional config options 5 6 3 2 Updating the secondary RedBoot image 5 6 3 3 Updating the primary RedBoot image 5 6 4 Additional commande 5 6 5 dh terrupts ii e rens De vx gs E 5 6 6 Memory Maps sssssss HH 5 6 7 Resource Usage ceeeeeceeee eee teen eeeeeeeees 5 6 8 Rebuilding RedBoot ccc cceeeee eee eee eeee es PMC Sierra MIPS RM7000 2608 0 5 ERR ee eg 5 7 2 Initial Installation Method ssseuseeesee 5 7 3 Flash Management 5 7 3 1
41. age addr 1 flash length RedBoot gt fis lock f flash addr 1 flash length 4 1 3 Update the primary RedBoot flash image At this point a new version of RedBoot is running on the target in RAM Using the load command download the flash based version from the host Since the flash version is designed to load and run from flash the image must be relocated into some suitable available RAM location The details of this are target platform specific found in the target appendix but the command will look something like this RedBoot load redboot ROM srec b flash source This command loads the flash image into RAM at 1ash source using the TFTP protocol via a network connection Other options are available refer to the command section on 1oad for more details Once the image is loaded into RAM it must be placed into flash using the FIS commands Some platforms support locking write protecting certain regions of the flash while others do not If your platform does not support the lock unlock commands simply ignore these steps Again the details of these commands in particular the numeric values differ on each target platform but the ideas are the same RedBoot fis unlock f flash addr 1 flash length RedBoot fis create RedBoot f flash addr b flash source l flash length s data length RedBoot fis lock f flash addr 1 flash addr NOTE RedBoot will display a number
42. ains any puncuation spaces etc then it must be quoted using the double quote character If the quote character is required it should be written as V 27 3 Rebuilding RedBoot 3 1 Introduction In normal circumstances it is only necessary to rebuild RedBoot if it has been modified for exam ple if you have extended the command set or applied patches See the Getting Started with eCos document which provides information about the portability and extendability of RedBoot in an eCos environment Most platform HALs provide configuration export files Before proceding with the following pro cedures check Configuration export files Section 3 1 1 first which may simplify the process for your platform RedBoot is configured and built using configuration technology based on Configuration Descrip tion Language CDL The detailed instructions for building the command line tool ecosconfig on Linux can be found in hos README For example mkdir STEMP redboot build cd STEMP redboot build SECOSDIR host configure prefix TEMP redboot build with tcl usr make The simplest version of RedBoot can be built by setting the environment variable ECOS_REPOS ITORY to point at the eCos RedBoot source tree and then typing ecosconfig new TARGET redboot ecosconfig tree make where TARGET is the eCos name for the desired platform for example assabet You will need to have set the environment variable ECOS REPOSITORY to
43. al emulator s ASCII download feature or a simple clipboard copy paste opera tion to download the redboot ppcbug file Note that on Linux Minicom s ASCII download feature seems to be broken A workaround is to load the file into emacs or another editor and copy the full contents to the clipboard Then press the mouse paste button usually the middle one over the Minicom window 3 Program the flash with the downloaded data EPPC Bug gt pflash 40000 60000 fc000000 4 Switch off the power and change jumper 4 to 1 2 Turn on the power again The board should now boot using the newly programmed RedBoot To install RedBoot on a target that already has eCos GDB stubs download the RAM version of RedBoot and run it Initialize the flash image directory RedBoot fi init Then download the ROM version of RedBoot and program it into flash RedBoot gt load redboot_ROM srec b 0x80100000 RedBoot fi cr RedBoot f 000000 0 b 0x00040000 1 0x20000 57 5 8 3 Flash management 5 8 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be f Oxfe000000 b 0x50000 1 0x20000 5 8 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be
44. are sal100mm arm and sallx0 sallOOmm respectively Note that the configuration export files supplied in the hal arm sallx0 sall00mm VERSION misc directory in the RedBoot source tree should be used 47 5 5 Intel 51110 Assabet 5 5 1 Overview RedBoot supports the board serial port and the compact flash ethernet port The default serial port settings are 38400 8 N 1 RedBoot also supports flash management on the Assabet Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 5 2 Initial Installation Method A Windows or Linux utility is used to program flash over parallel port driven JTAG interface See board documentation for details on in situ flash programming The flash parts are also socketed and may be programmed in a suitable device programmer 5 5 3 Flash management 5 5 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be f 0x50000000 b 0x60000 1 0 5 5 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be f 0x50010000 b 0x20000 r 0x20000 1 0x10000 5 5 4 Special RedBoot Commands
45. bin at address 000100000 size 0 Boot Program the flash Boot flashwrite 01820000 10000 10000 e And verify that the module is available Boot rommodules Header Base Limit 018057c8 01800000 018059e7 BootStrapLoader v1 0 Apr 27 2000 10 33 58 01828f24 01820000 0182a3e8 RedBoot Apr 5 2001 e Reboot the board and you should see the RedBoot banner 5 10 4 Special RedBoot Commands None 61 5 10 5 Memory Maps RedBoot sets up the following memory map on the E7T board NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range C B Description 0x00000000 0x0007ffff Y N SDRAM 0x03ff0000 OxOS3ffffff Microcontroller registers 0x01820000 0x0187ffff NN System flash mirrored 5 10 6 Resource Usage The flash based RedBoot image occupies flash addresses 0x0182000 Ox0182ffff RedBoot also reserves RAM 0x00000000 0x0000bfff for RedBoot runtime uses RAM physical addresses from 0x0000c000 to the end of RAM are available for general use 5 10 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are e7t arm and e7t respectively Note that the configuration export files supplied in the hal arm e7t VERSION misc directory in the RedBoot source tree should be used 62 5 11 ARM ARM
46. build instructions for this utility are located in the RedBoot sources in packages hal arm ebsa285 current support linux safl util 5 3 3 Flash management 5 3 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be f 0x41000000 b 0x100000 1 0 5 3 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be f 0x41040000 b 0x20000 r 0x20000 1 0x20000 5 3 4 Communication Channels Serial Intel PRO 10 100 82559 PCI ethernet card 5 3 5 Special RedBoot Commands None 43 5 3 6 Memory Maps Physical and virtual mapping are mapped one to one on the EBSA 285 using a first level page table located at address 0x4000 No second level tables are used The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Address Range CB Description 0x00000000 0x007fffff Y Y SDRAM 0x40000000 0Ox400fffff NN 21285 Registers 0x41000000 Ox413fffff YN flash 0x42000000 0x420fffff NN 21285 CSR Space 0x50000000 0Ox50ffffff Y Y Cache Clean 0x78000000 Ox78ffffff N N Outbound Write Flush 0x79000000 Ox7cOfffff NN PCI IACK Config IO 0x80000000 Oxffffffff N
47. dBoot fconfig bootp my ip 10 16 19 177 bootp my ip 10 16 19 176 Setting to 10 16 19 177 Update RedBoot non volatile configuration are you sure y n y Unlock from 0x507c0000 0x507e0000 Erase from 0x507c0000 0x507e0000 Program from 0x0000a8d0 0x0000acd0 at 0x507c0000 Lock from 0x507c0000 0x507e0000 RedBoot One item which is always present in the configuration data is the ability to execute a script at boot time A sequence of RedBoot commands can be entered which will be executed when the system starts up Optionally a time out period can be provided which allows the user to abort the startup script and proceed with normal command processing from the console RedBoot fconfig 1 Run script at boot false Use BOOTP for network configuration false Local IP address 192 168 1 29 Default server IP address 192 168 1 101 GDB connection port 9000 Network debug at boot time false The following example sets a boot script and then shows it running RedBoot gt fconfig Run script at boot false t Boot script Enter script terminate with empty line lt lt fi li Boot script timeout 0 10 Use BOOTP for network configuration false Update RedBoot non volatile configuration are you sure y n y Erase from 0xa0fc0000 0xa0fe0000 Program from 0x8c021f 60 0x8c022360 0 12 RedBoot RedBoot tm debug environment built 08 22 24 Aug 23 2000 Copyright C 2000 Red Hat Inc RAM 0x8c000000 0x
48. dBoot tm bootstrap and debug environment built 06 17 41 Mar 19 2001 Platform Compaq iPAQ Pocket PC StrongARM 1110 Copyright C 2000 2001 Red Hat Inc RAM 0x00000000 0x01f c0000 0x0001 200 0x01f70000 available FLASH 0x50000000 0x51000000 64 blocks of 0x00040000 bytes each Since the LCD touchscreen is only 30 characters wide some of this data will be off the right hand side of the display The joypad may be used to pan left and right in order to see the full lines If you have a Compact Flash ethernet card RedBoot should find it You ll need to have BOOTP enabled for this unit see your sysadmin for details If it does it will print a message like Waiting for network card Ready Socket Communications Inc CF LPE Revision E 08 04 99 IP 192 168 1 34 Default server 192 168 1 101 5 12 2 4 Installing RedBoot permanently Once you are satisfied with the setup and that RedBoot is operating properly in your environment you can set up your iPAQ unit to have RedBoot be the bootstrap application 66 CAUTION This step will destroy your Windows CE environment Before you take this step it is strongly recommended you save your WinCE FLASH contents as outlined above using the parrot loader or by using the Compaq OSloader e Using OSloader on the iPAQ select the Tools gt Flash gt Save to files menu item Four 4 files 4MB each in size will be created e After each file is created copy the fil
49. date the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be 5 0 b 0x20000 r 0x20000 1 0 5 13 4 Special 602001 Commands None 5 13 5 Memory Maps The MMU page tables and LCD display buffer if enabled are located at the end of DRAM 70 4 NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 525 NOR Flash 0x10000000 525 NAND Flash 0x20000000 Ox2fffffff Expansion 2 0x30000000 OxS3fffffff Expansion 3 0x40000000 Ox4fffffff PCMCIA 0 0x50000000 Ox5fffffff PCMCIA 1 0x60000000 0x600007ff On chip SRAM 0x80000000 Ox8fffffff I O registers 0xc0000000 25 DRA Virtual Address Range C B Description 0x00000000 525 DRAM 0x20000000 Ox2fffffff Expansion 2 0x30000000 OxS3fffffff Expansion 3 0x40000000 Ox4fffffff PCMCIA 0 0x50000000 Ox5ffffff PCMCIA 1 0x60000000 0x600007ff 0x80000000 Ox8fffffff 0xc0000000 2 0xe0000000 525 Oxf0000000 725 On chip SRAM I O registers LCD buffer if configured NOR Flash NAND Flash Fh KK Gr GG Gre 4 4 4 4 GG Gre The flash based RedBoot image occupies virtual addresses 0880000000 5 13 6 Resource Usage The RAM based RedBoot image occupies RAM addresses 0x20000 Ox3ffff RAM addresses
50. dify See chapter 5 nanoEngine Firmware of the nanoEngine Hardware Reference Manual we refer to July 17 2000 Rev 0 6 from Bright Star Engineering Because of this eCos and therefore Redboot only supports RAM and POST startup types rather than the more usual ROM RAM and optionally POST Briefly the POST startup RedBoot image lives in flash following the BSE firmware The BSE firmware is configured using its standard boot cmd parameter to jump into the RedBoot image at startup 5 14 3 Download Instructions You can perform the initial load of the POST startup RedBoot image into flash using the BSE firmware s 1oad command This will load a binary file using TFTP and program it into flash in one operation Because no memory management is used in the BSE firmware flash is mapped from address zero upwards so the address for the RedBoot POST image is 0x40000 You must use the binary version of RedBoot for this redboot post bin This assumes you have set up the other BSE firmware config parameters such that it can commu nicate over your network to your TFTP server gt load tftpboot redboot post bin 40000 loading erasing blk at 00040000 erasing blk at 00050000 94168 bytes loaded cksum 00008579 done gt gt set bootcmd go 40000 gt get myip 10 16 19 198 netmask 255 255 255 0 eth 0 gateway 10 16 19 66 serverip 10 16 19 66 bootcmd go 40000 gt 72 NOTE the BSE firmware runs
51. documented elsewhere To install RedBoot to run from the flash boot sector use the manufacturer s flash utility to install the bins cyclone rom bin image at address zero To install RedBoot to run from address 0x40000 with the ARM bootloader in the flash boot sector use the manufacturer s flash utility to install the bins cyclone roma bin image at address 0x40000 After booting the initial installation of RedBoot this warning may be printed flash configuration checksum error or invalid key This is normal and indicates that the flash must be configured for use by RedBoot Even if the above message is not printed it may be a good idea to reinitialize the flash anyway Do this with the fis command RedBoot fis init About to initialize format flash image system are you sure y n y Initialize flash Image System Warning device contents not erased some blocks may not be usable Unlock from 0x007e0000 0x00800000 Erase from 0x007e0000 0x00800000 Program from Oxalfd0000 0xalfd0400 at 0x007e0000 Lock from 0x007e0000 0x00800000 Followed by the fconfig command RedBoot fconfig Run script at boot false Use BOOTP for network configuration false Local IP address 0 0 0 0 192 168 1 153 Default server IP address 0 0 0 0 192 168 1 10 GDB connection port 0 1000 Network debug at boot time false Update RedBoot non volatile configuration are you sure y n y Unlock from 0x007c0000 0x007e0000 Erase from 0x007c0000
52. e board manufacturer 5 1 2 Initial Installation Method The board manufacturer provides a DOS application which is capable of programming the flash over the PCI bus and this is required for initial installations of RedBoot Please see the board manual for information on using this utility In general the process involves programming one of the two flash based RedBoot configurations to flash The RedBoot which runs from the flash boot sector should be programmed to flash address 0x00000000 RedBoot that has been configured to be started by the ARM bootloader should be programmed to flash address 0x00004000 Four sets of prebuilt files are provided in a tarball and zip format Each set corresponds to one of the four supported configurations and includes an ELF file elf a binary image bin and an S record file srec For RedBoot running from the flash boot sector bins cyclone rom bin bins cyclone rom elf bins cyclone rom srec For RedBoot running from flash address 0x40000 bins cyclone roma bin bins cyclone roma elf bins cyclone roma srec For RedBoot running from RAM with RedBoot in the flash boot sector bins cyclone ram bin bins cyclone ram elf bins cyclone ram srec For RedBoot running from RAM with ARM bootloader in the flash boot sector bins cyclone rama bin bins cyclone rama elf bins cyclone rama srec 34 Initial installations deal with the flash based RedBoots Installation and use of RAM based Red Boots is
53. e to your computer then delete the file from the iPAQ to make room in the WinCE ramdisk for the next file You will need to download the version of RedBoot designed as the ROM bootstrap Then install it permanently using these commands RedBoot lo r b 0x100000 tftpboot redboot ROM bin RedBoot fi loc f 0x50000000 1 0x40000 RedBoot fis init RedBoot fi unl f 0x50040000 1 0x40000 RedBoot fi cr RedBoot b 0x100000 RedBoot fi loc f 0x50040000 1 0x40000 RedBoot reset WARNING You must type these commands exactly Failure to do so may render your iPAQ totally useless Once you ve done this RedBoot should come up every time you reset 5 12 2 5 Restoring Windows CE To restore Windows CE from the backup taken in Section 5 12 2 4 visit http www hand helds org projects wincerestoration html for directions 5 12 3 Flash Management 5 12 3 1 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 relying on default location and size of the image If is also possible to explicitly specify the options the appropriate options for the iPAQ are 0 0 0 6 6 0 1 0 67 When updating the image the flash should be unlocked before programming and relocked after wards This is done with the commands fis unlock f 0x50080000 1 0x40000 and fis lock f 0x50080000 1 0x40000 5 12 3 2 Updating the primary RedBoot ima
54. e used The ROMRAM configuration should be used to build the RedBoot image to be programmed into flash The RAM configuration is used for the initial download of RedBoot 80 Index A Analogue amp Micro PowerPC 860T installing and testing eebe xiii OX E teas EES REPE ARM ARM7 PID Dev7 and Dev9 installing and testing 22 2000442 ARM Evaluator7T installing and testing nees dE Eed Ed deeg Atmel AT91 EB40 installing and testing oy ic2cedoneeaiiddsentnestudddscgeugssuvedeenstedaddacsenes 0 Cirrus Logic EP72xx EDB7211 EDB7212 installing E E T commands DOPO e de AER ERR ERROR dd HR eek ae TERRE CONTIG dao a EMEN ENEE Ee ER download DEET CUTIE een deet C ee flash image system dE Ee deeg commands and examples iso s eid eate te ded ex tex dee EN commEngine installing and testing 2 5 sexo eed EE EN EA BA EE ANANAS Compaq iPAQ PocketPC installing and testing 8 configuration iiri REC e E configuration and control Cm P P configuration export Ies 28 configuring the RedBoot environment esses Connectivity COMMATIOS Ange Sege ARENS Age Cyclone IQ80310 installing and testing 2212 81 EE enabling on Red Hat Linux download commands E MID RON editing commands ee E E et t eb en environment configuration executing programs F fconfig command IS COMMANGS EE flash and or networking
55. eans one device in each DRAM Bank 1 8Mb 8Mb 2 8Mb 16Mb 1 16Mb 16Mb 2 16Mb 32Mb All are programmed the same in the memory controller Startup code detects which is fitted and programs the memory map accordingly If the device s is 8Mb then there are gaps in the physical memory map because a high order address bit is not connected The gaps are the higher 2Mb out of every 4Mb The SA11x0 OS timer is used as a polled timer to provide timeout support within RedBoot 5 14 7 Nano Platform Port The nano is in the set of SA11X0 based platforms It uses the arm architectural HAL the sal1x0 variant HAL plus the nano platform hal These are components CYGPKG_HAL ARM hal arm arch CYGPKG HAL ARM SA11X0 hal arm sallx0 var CYGPKG HAL ARM SA11X0 NANO hal arm sallx0 nano respectively The target name is nano which includes all these plus the ethernet driver packages flash driver and so on 5 14 8 Ethernet Driver The ethernet driver is in two parts A generic ether driver for Intel 18255x series devices specifically the 182559 is devs eth in tel i82559 Its package name is CYGPKG DEVS EI INTEL I82559 The platform specific ether driver is devs eth arm nano Its package is CYG PKG DEVS ETH ARM NANO This tells the generic driver the address in IO memory of the 75 chip for example and other configuration details This driver picks up the ESA from RedBoot s
56. ecord file srec2flash EL 529 redboot srec gt redboot dl 50 The Atlas Malta Developer s Kit CD contains an srecconv p1 utility which requires Perl This utilty is part of the yamon yamon src 02 00 tar gz tarball on the Dev Kit CD The path in the expanded tarball is yamon bin tools To use srecconv to convert the S record file cp redboot ROM srec redboot ROM rec srecconv pl ES L A 29 redboot ROM The resulting file is named redboot 1 5 6 3 Flash management 5 6 3 1 Additional config options The ethernet MAC address is stored in flash manually using the config command You can use the YAMON setenv ethaddr command to print out the board ethernet address Typically it is 00 0d a0 00 xx xx where xx xx is the hex representation of the board serial number 5 6 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be 0 5 0 0 0 1 5 6 3 3 Updating the primary 60 0001 image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be f 0x9dc00000 b 0x80080000 1 0 5 6 4 Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this architecture see Section 2 6 The exec parameter
57. edBoot backup 0xA0020000 0x00000000 0x010000 0x8C010000 RedBoot config OxAOFCO000 0x00000000 0x020000 0x00000000 RedBoot config OxAOFEO000 0x00000000 0x020000 0x00000000 fis free This command shows which areas of the flash memory are currently not in use In use means that the block contains non erased contents Since it is possible to force an image to be loaded at a particular flash location this command can be used to check whether that location is in use by any other image NOTE There is currently no cross checking between actual flash contents and the image direc tory which mans that there could be a segment of flash which is not erased that does not correspond to a named image or vice versa RedBoot fis free 0xA0040000 0OxA07C0000 0xA0840000 OxAOFCOO00 fis create b mem base l length f flash addr e entry point r ram addr s data length n lt name gt This command creates an image in the FIS directory The data for the image must exist in RAM memory before the copy Typically you would use the RedBoot load command to load an image into RAM and then the 115 create command to write it to flash 21 Arguments name The name of the file as shown in the FIS directory b The location in RAM used to obtain the image This is a required option l The length of the image If the image already exists then the length is inferred from when the image was previousl
58. egisters 0xe0000000 Oxe7ffffff Y Y Cache Clean 5 2 5 Resource Usage The flash based RedBoot image occupies flash addresses 0x40000000 Ox4000ffff The RAM based RedBoot image occupies RAM addresses 0x10000 Ox2ffff RAM addresses from 0x30000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash The SA11x0 OS timer is used as a polled timer to provide timeout support for XModem file transfers 5 2 6 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are brutus arm and sal 1x0 brutus re spectively Note that the configuration export files supplied in the hal arm sallx0 bru tus VERSION misc directory in the RedBoot source tree should be used 42 5 3 Intel StrongArm EBSA 5 5 3 1 Overview RedBoot uses the single EBSA 285 serial port The default serial port settings are 38400 8 N 1 If the EBSA 285 is used as a host on a PCI backplane ethernet is supported using an Intel PRO 100 ethernet adapter Management of onboard flash is also supported Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 3 2 Initial Installation Method A linux application is used to program the flash over the PCI bus Sources and
59. election for Use BOOTP for network configuration had been true these IP addresses would be determined at boot time via the BOOTP protocol The final number which needs to be configured regardless of IP address selection mode isthe GDB connection port RedBoot allows for incoming commands on either the available serial ports or via the network This port number is the TCP port that RedBoot will use to accept incoming connections These connections can be used for GDB sessions but they can also be used for generic RedBoot commands In particular it is possible to communicate with RedBoot via the telnet protocol For example on Linux telnet redboot board 9000 Connected to redboot board Escape character is RedBoot gt 1 4 2 Host Network Configuration RedBoot may require two different classes of service from a network host e dynamic IP address allocation using BOOTP e TFTP service for file downloading Depending on the host system these services may or may not be available or enabled by default See your system documentation for more details 12 In particular on Red Hat Linux neither of these services will be configured out of the box The following will provide a limited explanation of how to set them up These configuration setups must be done as root on the host or server machine 1 4 2 1 Enable TFTP on Red Hat Linux 6 2 1 Ensure that you have the tftp server RPM package installed By default this instal
60. er indicator while the download is in progress This is just for feedback especially during long loads Note that the option has no effect when using a serial download method since it would interfere with the protocol d Decompress gzipped image during download b Specify the location in memory to which the file should be loaded Executable images normally load at the location to which the file was linked This option allows the file to be loaded to a specific memory location possibly overriding any assumed location T Download raw data Normally the load command is used to load executable images into memory This option allows for raw data to be loaded If this option is given b will also be required m The m option is used to select the download method The choices are xmodem ymodem serial download using standard protocols over the console serial port When using this method the file parameter is not required tftp network based download using the TFTP protocol disk load a file from local disk h Used explicitly to name a host computer to contact for the download data This works in TFTP mode only RedBoot gt lo redboot ROM b 0x8c400000 Address offset 0x0c400000 Entry point 0x80000000 address range 0x80000000 0x8000fe80 2 4 Flash Image System FIS If the platform has flash memory RedBoot can use this for image storage Executable images as well as data can be stored in flash in a simple file store
61. euessss 1 4 3 Verificati Meere eere rtr pee a tese aie en EX Re es RedBoot Commands and Exvamples 0 00 EE RedBoot Editing Commande Common Commands as i2 desees etx SN NEE ENKEN EEN NEE 2 3 1 et e EE 2 9 2 Jaen eenegen 2 3 3 Download Process Flash Image System EIS Persistent State Flash based Configuration and Control Executing Programs from Hed ocot cece eeeeee eee e ee eee eeaaeees Rebuilding 6 IMTMOQUCTION 3 1 1 Configuration export files esses 3 1 1 1 Making RedBoot for RAM startup 3 1 2 Platform specific instructions cessere ee 3 Introduction 22221 4 1 1 Start RedBoot Running from flash cece eeeeeee eee ees 4 1 2 Load and start a different version of RedBoot running from RAM 4 1 3 Update the primary RedBoot flash image 4 1 4 Reboot run RedBoot from fTaeh cece eee eeeeeees How to Contact Red Hat DS 1 e 1 3 1 4 Chapter 2 2 1 2 2 2 3 24 2 5 2 6 Chapter 3 3 1 Chapter 4 4 1 Resource Usage Intel 51100 Brutus 5 1 5 2 Updating the secondary RedBoot image Special RedBoot Commands 1Q80310 Hardware Tests Rebuilding RedBoot 22 cccceeeeee eee ee eeeeaees terup ere eet vee tad t nes 5 1 10 Memory Maps 5 1 11 vi 5 1 1 5 1 2 5 1 5 1 5 1 5 1 6 5 1
62. f Y N flash Memory 0x00800000 Ox7fffffff N N PCI ATU Outbound Direct Window 0x80000000 0Ox83ffffff NN Primary PCI 32 bit Memory 0x84000000 Ox87ffffff NN Primary PCI 64 bit Memory 0x88000000 Ox8bffffff N Secondary PCI 32 bit Memory 0x8c000000 Ox8fffffff N Secondary PCI 64 bit Memory 0x90000000 0x9000ffff NN Primary PCI IO Space 0x90010000 0x9001ffff NN Secondary PCI IO Space 0xa0000000 0xa0000fff Y N flash 0xa0001000 Oxbfffffff Y Y SDRAM 0xc0000000 Oxcfffffff Y Y Cache Flush Region Oxf0000000 Oxffffffff NN 80200 Internal Registers 5 1 11 Resource Usage The standalone flash based RedBoot image no ARM bootloader occupies flash addresses 0x00000000 1 The flash based RedBoot configured to be booted by the ARM bootloader occupies flash addresses 0x00040000 0x0007ffff Both of these also reserve RAM 0xa0000000 0xa001ffff for RedBoot runtime uses Both RAM based RedBoot configurations are designed to run from RAM at addresses 0xa0020000 Oxa003ffff RAM addresses from 0xa0040000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash The external timer is used as a polled timer to provide timeout support for networking and XModem file transfers 40 5 2 Intel 541100 Brutus 5 2 1 Overview RedBoot supports both board serial ports on the Brutus board The default serial port settings are 38400 8 N 1
63. f the optional flag 1 is specified the configuration data is simply listed Otherwise each config uration parameter will be displayed and you are given a chance to change it The entire value must be typed typing just carriage return will leave a value unchanged Boolean values may be entered using the first letter t for true 5 for false At any time the editing process may be stopped simply by entering a period on the line Entering the caret moves the editing back to the previous item See RedBoot Editing Commands Section 2 2 If any changes are made in the configuration then the updated data will be written back to flash after getting acknowledgement from the user If the optional flag n is specified with or without 1 then nicknames of the entries are used These are shorter and less descriptive than full names The full name may also be displayed by adding the f flag 24 The reason for telling you nicknames is that a quick way to set a single entry is provided using the format RedBoot fconfig nickname value If no value is supplied the command will list and prompt for only that entry If a value is supplied then the entry will be set to that value You will be prompted whether to write the new information into flash if any change was made For example RedBoot fconfig 1 n boot script false bootp false bootp my ip 10 16 19 176 bootp server ip 10 16 19 66 gdb port 9000 net debug false Re
64. fff 5 5 6 Resource Usage The RAM based RedBoot image occupies RAM addresses 0x20000 OxSffff RAM addresses from 0x60000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash The SA11x0 OS timer is used as a polled timer to provide timeout support for network and XMo dem file transfers 5 5 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are assabet arm and sal1x0 assabet respectively Note that the configuration export files supplied in the hal arm sallx0 assa bet VERSION misc directory in the RedBoot source tree should be used 49 5 6 MIPS Atlas Board with CoreLV 4Kc and CoreLV 6 5 6 1 Overview RedBoot supports the DgbSer serial port and the built in ethernet port for communication and downloads The default serial port settings are 115200 8 N 1 RedBoot runs from and supports flash management for the system flash region These configurations are supported e RedBoot running from the system flash boot sector e RedBoot running from RAM with RedBoot in the system flash boot sector 5 6 2 Initial Installation RedBoot is installed using the code download facility built into the Atlas board See the Atlas User manual for details and also the Atlas download format in Section 5 6 2 2 5 6 2 1 Quick download instructi
65. ge To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 relying on default location and size of the image If is also possible to explicitly specify the options the appropriate options for the iPAQ are f 0x50040000 b 0x00100000 1 0 When updating the image the flash should be unlocked before programming and 16100860 after wards This is done with the commands fis unlock f 0x50040000 1 0x40000 and fis lock f 0x50040000 1 0x40000 5 12 4 Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this board see Section 2 6 The exec parameters used for the 1PAQ are b lt addr gt Location Linux kernel was loaded to l len Length of kernel c params Parameters passed to kernel r lt addr gt initrd ramdisk location s lt len gt Length of initrd ramdisk Linux kernels may be run on the iPAQ using the sources from the anonymous CVS repository at the Handhelds project http www handhelds org with the el inux patch patch file applied This file can be found in the misc subdirectory of the iPAQ platform HAL in the RedBoot sources normally hal arm sallx0 ipaq VERSION misc On the iPAQ and indeed all SA11x0 platforms Linux expects to be loaded at address 0xC0008000 and the entry point is also at 0xC0008000 68 5 12 5 Memory Maps RedBoot sets up the following memory map on the iPAQ The first level page
66. ge the current item 16 e Return blank line leaves the value for this item unchanged Currently it is not possible to step through the value for the start up script it must always be retyped 2 3 Common Commands The general format of commands is command options parameters Elements are separated by the space character Other control characters such as Tab or editing keys Insert are not currently supported Numbers such as a memory location may be specified in either decimal or hexadecimal requires a Ox prefix Commands may be abbreviated to any unique string For example 10 is equivalent to 108 and load 2 3 1 Connectivity ping Check network connectivity ping ping v n lt count gt 1 lt length gt t lt timeouts gt r rate i IP addr h IP addr The ping command checks the connectivity of the local network by sending special ICMP packets to a specific host These packets should be automatically returned by that host The command will indicate how many of these round trips were successfully completed Arguments y Be verbose displaying information about each packet sent n lt count gt Controls the number of packets to be sent Default is 10 if n is not specified t lt timeout gt How long to wait for the round trip to complete specified in milliseconds Default is 1000ms 1 second r lt rate gt How fast to deliver packets i e time between successive
67. here 18 some sort of serial connection used for the RedBoot CLI 4 1 1 Start RedBoot Running from flash To start RedBoot reset the platform 4 1 2 Load and start a different version of RedBoot running from RAM There are a number of choices here The basic case is where the RAM based version has been stored in the FIS flash Image System To load and execute this version use the commands RedBoot fis load RedBoot backup RedBoot gt go If this image is not available or does not work then an alternate RAM based image must be loaded Using the load command RedBoot load redboot RAM srec RedBoot gt go 4 NOTE The details of how to load are installation specific The file must be placed somewhere the host computer can provide it to the target RedBoot system Either TFTP shown or X Ymodem can be used to download the image into RAM 31 Once the image is loaded into RAM it may be used to update the secondary RedBoot image in flash using the FIS commands Some platforms support locking write protecting certain regions of the flash while others do not If your platform does not support the lock unlock commands simply ignore these steps Again the details of these commands in particular the numeric values differ on each target platform but the ideas are the same RedBoot fis unlock f flash addr gt 1 flash length RedBoot fis create RedBoot backup f flash addr b flash source r im
68. iag is used to access a set of hardware diagnostics provided by the board manufacturer To access the diagnostic menu enter diag at the RedBoot prompt RedBoot gt diag Entering Hardware Diagnostics Disabling Data Cache 1 Memory Tests 2 Repeating Memory Tests 3 160552 DUART Serial Port Tests 4 Rotary Switch S1 Test for positions 0 3 5 seven Segment LED Tests 6 7 8 Backplane Detection Test Battery Status Test External Timer Test 9 182559 Ethernet Configuration 10 182559 Ethernet Test 11 Secondary PCI Bus Test 12 Primary PCI Bus Test 13 i960Rx 303 PCI Interrupt Test 14 Internal Timer Test 15 GPIO Test 36 0 quit Enter the menu item number 0 to quit Tests for various hardware subsystems are provided and some tests require special hardware in order to execute normally The Ethernet Configuration item may be used to set the board ethernet address 5 1 7 1Q80310 Hardware Tests Memory Tests Repeating Memory Tests 160552 DUART Serial Port Tests Rotary Switch S1 Test for positions 0 3 seven Segment LED Tests Backplane Detection Test Battery Status Test 8 External Timer Test 9 182559 Ethernet Configuration 10 182559 Ethernet Test 11 Secondary PCI Bus Test 12 Primary PCI Bus Test 13 i960Rx 303 PCI Interrupt Test YAO WNE 14 Internal Timer Test 15 GPIO Test 0 quit Enter the menu item n
69. ial EEPROM in which to record their Ethernet Station Address ESA or MAC address The BSE firmware records an ESA for the device it uses but this information is not available to RedBoot we cannot share it To keep the ESAs for the two ethernet interfaces two new items of RedBoot configuration data are introduced You can list them with the RedBoot command fconfig 1 thus RedBoot fconfig 1 Run script at boot false Use BOOTP for network configuration false Local IP address 10 16 19 91 Default server IP address 10 16 19 66 Network hardware address MAC for eth0 0x00 0xB5 0xE0 0xB5 0xE0 0x99 Network hardware address MAC for ethl 0x00 0xB5 0xE0 0xB5 0xE0 0x9A GDB connection port 9000 Network debug at boot time false RedBoot You should set them before running RedBoot or eCos applications with the board connected to a network The config command can be used as for any configuration data item the entire ESA is entered in one line 5 14 6 Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 0x003fffff 4Mb FLASH nCS0 0x18000000 Ox18ffffff Internal PCI bus 2 x 182559 ethernet 0x40000000 OxA4fffffff External IO or PCI bus 0x80000000 Oxbfffffff SA 1110 Inte
70. ide masking or status for these even though they can trigger cpu interrupts ISRs will need to poll the device to s if the device actually triggered the interrupt define CYGNUM HAL INTERRUPT PCI S INTC 32 secondary PCI INTC define CYGNUM HAL INTERRUPT PCI S INTB 33 secondary PCI INTB define CYGNUM HAL INTERRUPT PCI S INTA 34 secondary PCI INTA NMI Interrupts go to FIQ define CYGNUM HAL INTERRUPT MCU ERR 35 define CYGNUM HAL INTERRUPT PATU ERR 36 define CYGNUM HAL INTERRUPT SATU ERR 37 define CYGNUM HAL INTERRUPT PBDG ERR 38 define CYGNUM HAL INTERRUPT SBDG ERR 39 define CYGNUM HAL INTERRUPT DMAO ERR 40 define CYGNUM HAL INTERRUPT DMA1 ERR 41 define CYGNUM HAL INTERRUPT DMA2 ERR 42 define CYGNUM HAL INTERRUPT MU ERR 43 define CYGNUM HAL INTERRUPT reserved52 44 define CYGNUM HAL INTERRUPT AAU ERR 45 define CYGNUM HAL I RRUPT BIU ERR 46 ATU FIQ sources define CYGNUM HAL INTERRUPT P SERR 47 define CYGNUM HAL INTERRUPT S SERR 48 The data passed to the ISR is pulled from a data table hal interrupt data which im mediately follows the interrupt vector table With 49 interrupts the data table starts at address 0xA000A0CS8 An application may create a normal C function with the above prototype to be an ISR Just poke its address into the table at the correct
71. index and enable the interrupt at its source The return value of the ISR is ignored by RedBoot 5 1 10 Memory Maps The first level page table is located at 0xa0004000 Two second level tables are also used One second level table is located at 0xa0008000 and maps the first IMB of flash The other second level table is at 0xa0008400 and maps the first IMB of SDRAM CITN NOTE The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B ZEN Physical Address Range Description 0x00000000 0x00000fff flash Memory 0x00001000 0x00001fff 80312 Internal Registers 0x00002000 0x007fffff flash Memory 39 0800800000 5 PCI ATU Outbound Direct Window 0x80000000 0x83fffff Primary PCI 32 bit Memory 0x84000000 125 Primary PCI 64 bit Memory 0x88000000 2125 Secondary PCI 32 bit Memory 0x8c000000 Ox8ffffff Secondary PCI 64 bit Memory 0x90000000 0x9000fff Primary PCI IO Space 0x90010000 0x9001fff Secondary PCI IO Space 0x90020000 Ox9ffffff Unused 0xa0000000 Oxbffffff SDRAM 0xc0000000 Oxeffffff Unused Oxf0000000 Oxffffffff 80200 Internal Registers Virtual Address Range CB Description 0x00000000 0x00000fff Y Y SDRAM 0x00001000 0x00001fff NN 80312 Internal Registers 0x00002000 0x007ffff
72. installed Set SWI to lower mem and connect serial port A to a host computer Using GDB from the host and Angel on the board download the RAM based version of RedBoot to the board Once this is started the Angel session must be interrupted on Linux this can be done using Z Follow this by connecting to the board using minicom at 38400 8N1 At this point RedBoot will be running on the board in RAM Now download the RAMROM version and program it to flash Be sure and first set SW to upper mem arm elf gdb redboot RAM elf gdb tar rdi s dev ttySO Angel Debug Monitor serial 1 04 Advanced RISC Machines SDT 2 5 for AT91EB40 2 00 Angel Debug Monitor rebuilt on Apr 07 2000 at 12 40 31 Serial Rate 9600 Connected to ARM RDI target gdb set ps 0xd3 gdb lo Loading section rom_vectors size 0x40 lma 0x2020000 Loading section text size 7508 0 lma 0x2020040 Loading section rodata size 1 1580 0 8 Loading section data size 0x2e4 lma 0x20295b8 Start address 0x2020040 load size 39068 Transfer rate 6250 bits sec 500 bytes write gdb c Continuing At this point interrupt the Angel session and start minicom RedBoot gt ve RedBoot tm bootstrap and debug environment version UNKNOWN built 14 09 27 Jul 20 2001 Platform Atmel AT91 EB40 ARM7TDMI Copyright C 2000 2001 Red Hat Inc RAM 0x02000000 0x02080000 0x020116d8 0x0207fd00 available 79 FLASH 0x01010000 0801020000 256
73. irectly connected to the board 1 4 3 Verification Once your network setup has been configured perform simple verification tests as follows e Reboot your system to enable the setup and then try to ping the target board from a host e Once communication has been established try using the RedBoot load command to download a file from a host 14 2 RedBoot Commands and Examples 2 1 Introduction RedBoot provides three basic classes of commands Program loading and execution flash image and configuration management Miscellaneous commands Given the extensible and configurable nature of eCos and RedBoot there may be extended or en hanced sets of commands available The basic format for commands is RedBoot COMMAND S s valloperand Commands may require additional information beyond the basic command name In most cases this additional information is optional with suitable default values provided if they are not present The type of information required affects how it is specified 8 An optional switch If this switch is present then some particular action will take place For ex ample in the command RedBoot fis init f the f switch indicates to perform a full file system initialization s val An optional switch which requires an associated value For example the command RedBoot load b 0x00100000 data file specifies downloading a file via TFTP into memory relocating it to location 0
74. 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 Updating RedBoot in order that the Flash Image System contains an appropriate description of the flash entries 5 14 4 Cohabiting with POST in Flash The configuration export file named redboot POST ecm configures redboot to build for exe cution 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 phys ical memory that is 0x00040000 Alternatively for testing you can call it in an already running system by using go 0x50040040 at another RedBoot prompt or a branch to that address The address is where the reset vector points and is reported by RedBoot s tftp 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 initializa tion against me
75. ls the TFTP server in a disabled state These steps will enable it 2 Make sure that the following line is uncommented in the control file etc inetd conf tftp dgram udp wait root usr sbin tcpd usr sbin in tftpd 3 fit was necessary to change the line in Step 2 then the inetd server must be restarted which can be done via the command service inet reload 1 4 2 2 Enable TFTP on Red Hat Linux 7 1 Ensure that the xinetd RPM is installed 2 Ensure that the tftp server RPM is installed 3 Enable TFTP by means of the following sbin chkconfig tftp on Reload the xinetd configuration using the command sbin service xinetd reload Create the directory tftpboot using the command mkdir tftpboot Under Red Hat 7 you must address files by absolute pathnames for example tftp boot boot img not boot img as you may have done with other implementations 1 4 2 3 Enable BOOTP DHCP server on Red Hat Linux First ensure that you have the proper package dhcp not dhcpd installed The DHCP server provides Dynamic Host Configuration that is IP address and other data to hosts on a network It does this in different ways Next there can be a fixed relationship between a certain node and the data based on that node s unique Ethernet Station Address ESA sometimes called a MAC address The other possibility is simply to assign addresses that are free The sample DHCP con figuration file shown does both Refer to the DHCP documentation for mo
76. ment e Network bootstrap support including setup and download via BOOTP DHCP and TFTP e X YModem support for image download via serial e Power On Self Test Although RedBoot is derived from Red Hat eCos it may be used as a generalized system debug and bootstrap control software for any embedded system and any operating system For example with appropriate additions RedBoot could replace the commonly used BIOS of PC and certain other architectures Red Hat is currently installing RedBoot on all embedded platforms as a standard practice and RedBoot is now generally included as part of all Red Hat Embedded Linux and eCos ports Users who specifically wish to use RedBoot with the eCos operating system should refer to the Getting Started with eCos document which provides information about the portability and extendability of RedBoot in an eCos environment 1 1 More information about RedBoot on the web Information about the RedBoot product including information about details of porting customiza tion training and technical support services from Red Hat is available from the RedBoot Product web site The RedBoot Net Distribution web site contains downloadable sources and documentation for all publically released targets including the latest features and updates 10 1 2 Installing RedBoot To install the RedBoot package follow the procedures detailed in the accompanying README Although there are other possible configurations
77. mory layout files called post rather than rom or ram in the in clude pkgconf directory Specifically 665 Feb 9 17 57 include pkgconf mlt arm 0 5811 nano post h 839 Feb 9 17 57 include pkgconf mlt arm 0 5811 nano post ldi 585 Feb 9 17 57 include pkgconf mlt arm sallx0 nano post mlt It is these you should edit if you wish to move that execution address from 0x50040000 in the POST configuration Startup type 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 startup RedBoot 73 RedBoot fis list Name FLASH addr Mem addr Length Entry point reserved 0x50000000 0x50000000 0x00040000 0x00000000 RedBoot post 0x50040000 0x00100000 0x00020000 0x50040040 RedBoot backup 0x50060000 0x00020000 0x00020000 0x00020040 RedBoot config 0x503E0000 O0x503E0000 0x00010000 0x00000000 FIS directory 0x503F0000 0x503F0000 0x00010000 0x00000000 RedBoot gt 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 5 14 5 Special RedBoot Commands The nanoEngine commEngine has one or two Intel 182559 Ethernet controllers installed but these have no associated ser
78. mount the floppy drive using the command mount f b a dev fd0 To actually install the boot image on the floppy use the command dd conv syne if install bin redboot bin of dev d0 Insert this floppy in the A drive of the PC to be used as a target and ensure that the BIOS is con figured to boot from A by default On reset the PC will boot from the floppy and be ready to be debugged via either serial line or via the ethernet interface if it is installed mmm NOTE Unreliable floppy media may cause the write to silently fail This can be determined if the RedBoot image does not correctly boot In such cases the floppy should be unconditionally reformatted using the dformat command on Linux or format a uon DOS Win dows 5 15 3 Flash management PC RedBoot does not support any FLASH commands 5 15 4 Special RedBoot Commands None 77 5 15 5 Memory Maps All selectors are initialized to map the entire 32 bit address space in the familiar protected mode flat model Page translation is not used RAM up to 640K is mapped to 0x0 to 0xa0000 RAM above 640K is mapped from address 0x100000 upwards Space is reserved between 0xa0000 and 0x100000 for option ROMs and the BIOS 5 15 6 Resource Usage RedBoot is loaded into RAM at address 0x2000 and reserves all RAM below 0xa0000 for its own use RAM applications should load from address 0x100000 upwards 5 15 7 Rebuilding RedBoot The instructions in Chapter 3
79. n may be aborted by typing Ctrl C on the console This mode would typically be used in startup scripts exec Execute a Linux kernel image 4 NOTE This command is not available for all platforms Its availability is indicated in specific platform information in Chapter 5 Arguments w timeout b load addr gt 1 lt length r ramdisk addr 5 ramdisk length gt 26 c kernel command line lt entry_point gt This command is used to execute a non eCos application typically a Linux kernel Additional information may be passed to the kernel at startup time This command is quite special and unique from the go command in that the program being executed may expect certain envi ronmental setups for example that the MMU is turned off etc The Linux kernel expects to have been loaded to a particular memory location 0xC0008000 in the case of the SA1110 Since this memory is used by RedBoot internally it is not possible to load the kernel to that location directly Thus the requirement for the b option which tells the command where the kernel has been loaded When the exec command runs the image will be relocated to the appropriate location before being started The r and s options are used to pass information to the kernel about where a statically loaded ramdisk initrd is located The c option can be used to pass textual command line information to the kernel If the command line data cont
80. ns from RAM with ARM bootloader located in the flash boot sector use tor unsigned data one of 49 interrupts defined in See Ch 12 Performance Mon PMU counter 0 1 overflow PMU clock overflow See Ch 11 Bus Control Unit external IRQ external FIQ Global Time Stamp Counter Performance Event Counter application accelerator unit 19 20 21 22 23 24 25 26 is E FULL ER 6 m o co N 10 11 12 13 14 15 16 17 18 27 external timer reservedO PMU PMNO PMN1 EMU CCNT OVF DCH INTERRUPT NIRQ NFIQ unsigned vec the vector argument ERRU ERRU ERRU ERRU ERRU ERRU ERRU U U U U J terrupts terrupts ERRUPT DMA 0 ERRUPT DMA 1 ERRUPT DMA 2 ERRUPT GTSC ERRUPT PE ERRUPT AAIP ERRUPT I2C TX EMPTY ERRUPT I2C RX FULL ERRUPT I2C BUS ERR ERRUPT I2C STOP ERRUPT I2C LOSS ERRUPT I2C ADDRESS ecosconfig import EPOSITORY hal arm iq80310 VERSION misc redboot_RAMA ecm 9 ECOS_R 5 1 9 Interrupts RedBoot uses an interrupt vector table which is located at address 0xA000A004 Entries in this table are pointers to functions with this protoype int irq_handler On an 1QS80310 board hal arm ig80310 current include hal_platform_ints h 80200 CPU
81. on Method Device programmer is used to program socketed flash parts 5 7 3 Flash Management 5 7 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 loading the primary image into RAM at 0x80100000 The actual numbers used with the flags in the sample commands are then f Oxbfc00000 b 0x80100000 1 0 5 7 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be f Oxbfc20000 b 0x80020000 r 0x80020000 1 0x20000 5 7 4 Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this architecture see Section 2 6 The exec parameters used for MIPS boards are b lt addr gt Location to store command line and environment passed to kernel w time Wait time in seconds before starting kernel c params Parameters passed to kernel 54 lt addr gt Kernel entry point defaulting to the entry point of the last image loaded Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to a C call with prototype void Linux int argc char argv char envp RedBoot will place the appropriate data at the offset specified by the b parameter or by default at address 0x80080000 and will set the
82. ons Here are quick start instructions for downloading the prebuilt RedBoot image 1 Locate the prebuilt files in the bin directory deleteall dl and redboot dl 2 Make sure switch S1 1 is OFF and switch S5 1 is ON Reset the board and verify that the LED display reads Flash DL 3 Make sure your parallel port is connected to the 1284 port Of the Atlas board 4 Send the deleteall dl file to the parallel port to erase previous images cat deleteall dl gt dev 1p0 When this is complete the LED display should read Deleted 5 Send the RedBoot image to the board cat redboot dl gt dev 1p0 When this is complete the LED display should show the last address programmed This will be something like 1 c17000 6 Change switch S5 1 to OFF and reset the board The LED display should read RedBoot 7 Run the RedBoot fis init and fconfig commands to initialize the flash See Section 5 6 3 1 Section 2 4 and Section 2 5 for details 5 6 2 2 Atlas download format In order to download RedBoot to the Atlas board it must be converted to the Atlas download for mat There are different ways of doing this depending on which version of the developer s kit is shipped with the board The Atlas Developer s Kit CD contains an srec2flash utility The source code for this utility is part of the yamon yamon src 01 01 tar gz tarball on the Dev Kit CD The path in the expanded tarball is yamon bin tools To use srec2flash to convert the S r
83. ons are supported e RedBoot running from RAM with RedBoot in the flash boot sector e RedBoot running from the board s flash boot sector 5 9 2 Initial Installation Method RedBoot must be installed at the A amp M factory 5 9 3 Flash management 5 9 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be f Oxfe000000 b 0x50000 1 0 5 9 3 2 Updating the secondary RedBoot image To update the secondary RedBoot images follow the procedures detailed in Section 4 1 2 but the actual numbers used with the flags in the sample commands should be f 0xfe020000 b 0x20000 r 0x20000 0 5 9 4 Special RedBoot Commands None 5 9 5 Memory Maps Memory Maps RedBoot sets up the following memory map on the MBX board Physical Address Range Description 0x00000000 Ox007fffff DRAM Oxfe000000 OxfeOfffff flash AMD29LV8008B Oxff000000 OxffOfffff MPC registers 59 5 9 6 Resource Usage The flash based RedBoot image occupies flash addresses Oxfe000000 OxfeO1ffff RedBoot also reserves RAM 0x00000000 0x0001ffff for RedBoot runtime uses RAM based RedBoot con figurations are designed to run from RAM at physical addresses 0x00020000 0x0004ffff RAM physical addresses from 0x00050000 to the end of RAM are available for general use such as a temporary scratchpad for do
84. places SBUILDDIR install bin redboot bin SBUILDDIR install bin redboot elf SBUILDDIR install bin redboot img SBUILDDIR install bin redboot srec Some targets may have variations or extra files generated in addition 3 1 2 Platform specific instructions The platform specific information in Chapter 5 Installation and Testing should be consulted as there may be other special instructions required to build RedBoot for particular boards 30 4 Updating RedBoot 4 1 Introduction RedBoot normally runs from flash or ROM In the case of flash it is possible to update RedBoot that is replace it with a newer version in situ This process is complicated by the fact that RedBoot is running from the very flash which is being updated The following is an outline of the steps needed for updating RedBoot Start RedBoot running from flash e Load and start a different version of RedBoot running from RAM e Update the primary RedBoot flash image Reboot run RedBoot from flash In order to execute this process two versions of RedBoot are required one which runs from flash and a separate one which runs solely from RAM Both of these images are typically provided as part of the RedBoot package but they may also be rebuilt from source using the instructions provided for the platform The following is a more detailed look at these steps For this process it is assumed that the target is connected to a host system and that t
85. point at the eCos RedBoot source tree Values of TARGET for each board are given in the specific installation details for each board in Chapter 5 Installation and Testing The above command sequence would build a very simple version of RedBoot and would not in clude for example networking FLASH or Compact Flash Ethernet support on targets that sup ported those Such features could be included with the following commands ecosconfig new TARGET redboot ecosconfig add flash ecosconfig add pcmcia net drivers cf eth drivers ecosconfig tree make In practice most platform HALs include configuration export files described in Section 3 1 1 to ensure that the correct configuration of RedBoot has been chosen to avoid needing to worry about which extra packages to add The above commands would build a version of RedBoot suitable for testing In particular the result will run from RAM Since RedBoot normally needs to be installed in ROM flash type the following cat RedBoot ROM ecm EOF cdl component CYG HAL STARTUP user value ROM 28 7 EOF ecosconfig import RedBoot ROM ecm ecosconfig tree make This set of commands will adjust the configuration to be ROM oriented Each of these command sequences creates multiple versions of RedBoot in different file formats The choice of which file to use will depend upon the actual target hardware and the tools available for programming ROM flash The files produced
86. poration Samsung and CalmRISC are trademarks or registered trademarks of Samsung Inc Linux is a registered trademark of Linus Torvalds UNIX is a registered trademark of The Open Group Microsoft Windows and Windows NT are registered trademarks of Microsoft Corporation Inc All other brand and product names trademarks and copyrights are the property of their respective owners Warranty eCos and RedBoot are open source software covered by the Red Hat eCos Public License and you are welcome to change it and or distribute copies of it under certain conditions The supplied version of eCos and or RedBoot is supported for customers of Red Hat See http sources red hat com ecos license overview html For non customers eCos and RedBoot software has NO WARRANTY Because this software is licensed free of charge there are no warranties for it to the extent permitted by applicable law Except when otherwise stated in writing the copyright holders and or other parties provide the software as is without warranty of any kind either expressed or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose The entire risk as to the quality and performance of the software is with you Should the software prove defective you assume the cost of all necessary servicing repair or correction In no event unless required by applicable law or agreed to in writing will any
87. re details etc dhcpd conf default lease time 600 max lease time 7200 option subnet mask 255 255 255 0 option broadcast address 192 168 1 255 option domain name servers 198 41 0 4 128 9 0 107 13 option domain name bogus com allow bootp shared network BOGUS subnet 192 168 1 0 netmask 255 255 255 0 option routers 192 168 1 101 range 192 168 1 1 192 168 1 254 host mbx hardware ethernet 08 00 3E 28 79 B8 fixed address 192 168 1 20 filename tftpboot 192 168 1 21 zImage default lease tim Ls server name srvr bugus com server identifier 192 168 1 101 option host name mbx Once the DHCP package has been installed and the configuration file set up type service dhcpd start 1 4 2 4 RedBoot network gateway RedBoot cannot communicate with machines on different subnets because it does not support rout ing It always assumes that it can get to an address directly therefore it always tries to ARP and then send packets directly to that unit This means that whatever it talks to must be on the same subnet If you need to talk to a host on a different subnet even if it s on the same wire you need to go through an ARP proxy providing that there is a Linux box connected to the network which is able to route to the TFTP server For example proc sys net ipv4 conf inter face gt proxy_arp where lt interface gt should be replaced with whichever network interface is d
88. re they are written to flash An exception is RAM from 0x01F70000 OxO1FFFFFF which is reserved for use by the LCD display 5 12 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are ipaq arm and sallxO ipaq respec tively Note that the configuration export files supplied in the hal arm sallx0 ipaq VER SION misc directory in the RedBoot source tree should be used 69 5 13 Cirrus Logic EP72xx EDB7211 EDB7212 5 13 1 Overview RedBoot supports both serial ports on the board and the ethernet port The default serial port set tings are 38400 8 N 1 RedBoot also supports flash management on the EDB72xx for the NOR flash only Two basic RedBoot configurations are supported e RedBoot running from the board s flash boot sector e RedBoot running from RAM with RedBoot in the flash boot sector 5 13 2 Initial Installation Method A Windows or Linux utility is used to program flash using serial port 1 via on chip programming firmware See board documentation for details on in situ flash programming 5 13 3 Flash management 5 13 3 1 Updating the primary RedBoot image To update the primary RedBoot images follow the procedures detailed in Section 4 1 3 but the actual numbers used with the flags in the sample commands should be 0 b 0x40000 1 0 5 13 3 2 Updating the secondary 3602001 image To up
89. rnal Registers 0xc0000000 Oxc7ffffff DRAM Bank 0 32Mb SDRAM 0xc8000000 Oxcfffffff DRAM Bank 1 empty 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range CB Description 0x00000000 0OxOO01fffff Y Y DRAM 8Mb to 32Mb 0x18000000 0x180fffff NN Internal PCI bus 2 x 182559 ethernet 40000000 0 Ox4fffffff NN External IO or PCI bus 74 050000000 Ox51ffffff Y Y Up to 32Mb FLASH nCS0 0x80000000 Oxbfffffff NN SA 1110 Internal Registers 0xc0000000 OxcOffffff N Y DRAM Bank 0 8 16Mb 0xc8000000 0Oxc8ffffff N Y DRAM Bank 1 8 or 16Mb or absent 0xe0000000 Oxe7ffffff Y Y Cache Clean The FLASH based RedBoot POST startup image occupies virtual addresses 0x50040000 0x5005ffff The ethernet devices use a PCI window to communicate with the CPU This is IMb of SDRAM which is shared with the ethernet devices that are on the PCI bus It is neither cached nor buffered to ensure that CPU and PCI accesses see correct data in the correct order By default it is configured to be megabyte number 30 at addresses 0x01e00000 0x0 lefffff This can be modified and indeed must be if less than 32Mb of SDRAM is installed via the memory layout tool or by moving thesection pci window referred to by symbols CYGMEM SECTION pci window in the linker script Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM bank 0 the code can cope with any of these combinations also 2 x in this context m
90. s used for MIPS boards are b addr Location to store command line and environment passed to kernel w time Wait time in seconds before starting kernel c params Parameters passed to kernel lt addr gt 51 Kernel entry point defaulting to the entry point of the last image loaded Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to a C call with prototype void Linux int argc char argv char envp RedBoot will place the appropriate data at the offset specified by the b parameter or by default at address 0x80080000 and will set the arguments accordingly when calling into the kernel The default entry point if no image with explicit entry point has been loaded and none is specified is 0x80000750 5 6 5 Interrupts RedBoot uses an interrupt vector table which is located at address 0x80000400 Entries in this table are pointers to functions with this protoype int 126 handler unsigned vector unsigned data On an atlas board the vector argument is one of 25 interrupts defined in hal mips at las VERSION include plf intr h define CYGNUM HAL INTERRUPT SER 0 define CYGNUM HAL INTERRUPT TIMO 1 define CYGNUM HAL INTERRUPT 2 2 define CYGNUM HAL INTERRUPT 3 3 define CYGNUM HAL INTERRUPT RTC 4 define CYGNUM HAL INTERRUPT COREHI 5 define CYGNUM HAL INTERRUPT CORELO 6 define CYGNUM HAL INTERRUPT 7 7 define CYGNUM
91. sc redboot RAM ecm 1487 Feb 1 14 38 misc redboot ROM ecm All dates and sizes are just examples 3 1 1 1 Making RedBoot for RAM startup Throughout the following instructions several environmental variables are referred to REDBOOTDIR Full path to the toplevel RedBoot source release BUILDDIR Full path to where RedBoot will be built e g redboot RAM 29 ECOS REPOSITORY Full path to the RedBoot package source Typically this should be REDBOOTDIR packages TARGET e g atlas_mips32_4kc ARCH_DIR The directory for the architecture e g mips PLATFORM DIR The directory for the platform e g atlas You must make sure these variables are correctly set in your environment before proceeding or the build will fail The values for TARGET ARCH DIR and PLATFORM DIR for each board are given in the specific installation details for each board in Chapter 5 Installation and Testing With the environment variables set use the following sequence of commands to build a RedBoot image suitable for loading into RAM mkdir SBUILDDIR cd BUILDDIR ecosconfig new STARGET redboot ecosconfig import S ECOS_REPOSITORY hal ARCH_DIR PLATFORM_DIR current misc redboot_RAM ecm ecosconfig tree make To build the ROM version in a different build config directory just use the configuration export file redboot_ROM ecm instead The resulting files will be in each of the ROM and RAM startup build
92. seful for examining a segment of RAM or flash Note that it could be detrimental if used on memory mapped hardware registers The memory is displayed at most sixteen bytes per line first as the raw hex value followed by an ASCII interpretation of the data RedBoot du b 0x100 1 0x80 0x00000100 3060 0004 6063 2000 7C68 03A6 4E80 0020 lt c h N 0x00000110 0000 0000 0000 0000 0000 0000 0000 0000 0x00000120 0000 0000 0000 0000 0000 0000 0000 0000 0x00000130 0000 0000 0000 0000 0000 0000 0000 0000 0x00000140 0000 0000 0000 0000 0000 0000 0000 0000 0x00000150 0000 0000 0000 0000 0000 0000 0000 0000 0x00000160 0000 0000 0000 0000 0000 0000 0000 0000 0x00000170 0000 0000 0000 0000 0000 0000 0000 0000 RedBoot d b Oxfe00b000 1 0x80 OxFEO0BO00 2025 700A 0000 0000 4174 7465 6D70 7420 Ses Attempt OxFEOOBO10 746F 206C 6F61 6420 532D 7265 636F 7264 to load S record OxFEO0B020 2064 6174 6120 746F 2061 6464 7265 3 data to address OxFEO0B030 3220 2570 205B 6E6F 7420 696E 2052 414D Sp not in RAM OxFEOOBO40 5DOA 0000 2A2A 2A20 5761 7268 696E 6721 Warning OxFEOOBO50 2043 6865 636B 7375 6220 6661 696C 7572 Checksum failur OxFEO00B060 6520 2D20 4164 6472 3A20 256C 7820 2025 e Addr 1x OxFEOOBO70 3032 6058 2030 3820 2530 3260 580A 0000 021 lt gt 021X OxFEOOBO80 456E 7472 7920
93. start at 0x40000 and continue up to the top of the installed physical RAM size less the memory reserved for MMU page tables 0x9000 bytes and the LCD display buffer if enabled 0x20000 bytes The RAM is available for general use such as a temporary scratchpad for downloaded images before they are written to flash The EP72xx timer 2 is used as a polled timer to provide timeout support for network and XModem file transfers 5 13 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for ARCH DIR and PLATFORM DIR on this platform are arm and edb7xxx respectively The value for TAR GET is either 660721 17 or edb7212 depending on the desired platform Note that the configura tion export files supplied in the hal arm edb7xxx VERSION misc directory in the RedBoot source tree should be used and the correct edb7211 vs edb7212 variant chosen 71 5 14 Bright Star Engineering commEngine and nanoEngine 5 14 1 Overview RedBoot supports a serial port and the built in ethernet port for communication and downloads The default serial port settings are 38400 8 N 1 RedBoot runs from and supports flash management for the system flash region These configurations are supported e RedBoot running from the first free block at 0x40000 e RedBoot running from RAM 5 14 2 Initial Installation Unlike other targets the nanoEngine comes equipped with boot firmware which you cannot mo
94. support flash image system Commande flash based configuration and control G GDB connection port GDB d M general commands H host network configuration installing and testing Analogue amp Micro PowerPC 860T ARM ARM PID Dev7 and Dev9 ARM Evaluator7T EA EE Cirrus Logic EP72xx 87211 P EM aa epee Compaq iPAQ PocketPC Cyclone IQ80310 Intel SA1100 Br tus NEEN Aa EA eh a Intel SA1100 Multimedia Board Intel A1110 Assabet eese Intel StrongArm EBSA 285 1601100110 MIPS Atlas Board with CoreLV 4KC and CoreLV 5KC Motorola PowerPC MBX PMC Sierra MIPS RM7000 Ocelot x86 Based PC 82 installing and testing Kg Ota e o e Er RE I MAR RM EIE 34 installing RedBoot general eco sie ess os colos QU i o De ay aa dM I iN D te Lob ac Lt 11 Intel SA1100 Multimedia Board installing and testing 2202 20 04 46 Intel SA1110 Assabet mstallimp and estime cro ce c m e e OR e p i a ER x 48 Intel StrongArm EBSA 285 imstalline and testing cei ud Sa dt eH NM MEM NUM ME QUA IM 43 Intel SA1100 Brutus and Te SUNS eege ee I dba Eege 41 11 12 IPaddress M MIPS Atlas Board with CoreLV 4KC and CoreLV 5KC 20 Motorola PowerPC MBX EISES ee ues uer Lege Sv ket ded o ML gei Ee 57 N nanoEngine installing and testing ed geed RR Abee ee ge Ne Ee E ge ee geed 12 network configuration ees 11 POST 0 12 Network gateway codd eod
95. table is located at physical address 0xC0004000 No second level tables are used The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached C or buffered B Physical Address Range Description 0x00000000 2 16Mb to 32Mb FLASH 050 organized as below 0x000000 0x0003ffff Parrot Loader 0x040000 5 RedBoot Oxf80000 25 Fconfig data Oxfc0000 OxOOffffff FIS directory 0x30000000 Ox3fffffff Compact Flash 0x48000000 5 iPAQ internal registers 0x80000000 Oxbfffffff SA 1110 Internal Registers 0xc0000000 Oxclffffff DRAM Bank 0 32Mb SDRAM 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range C B Description 0x00000000 OxOlffffff Y Y DRAM 32Mb 0x30000000 Ox3fffffff Compact Flash 0x48000000 Ox4bffffff N N iPAQ internal registers 0x50000000 Ox51ffffff Y Y Up to 32Mb FLASH nCS0 0x80000000 Oxbfffffff NN SA 1110 Internal Registers 0xc0000000 Oxclffffff N Y DRAM Bank 0 32Mb 0xe0000000 Oxe7ffffff Y Y Cache Clean 5 12 6 Resource Usage The flash based RedBoot image occupies flash addresses 0x50040000 0x5007ffff RedBoot also reserves RAM 0x00000000 0x0001ffff for RedBoot runtime uses RAM based RedBoot config urations are designed to run from RAM at virtual addresses 0x00020000 0x0003ffff RAM virtual addresses from 0x00040000 to the end of RAM arae available for general use such as a temporary scratchpad for downloaded images befo
96. tting the unit or when powering on At this point a blue bird will appear on the LCD screen Also at this point a simple loader can be accessed over the serial port at 115200 8N1 Using this loader the contents of the iPAQ flash memory can be saved to a Compact Flash memory card A NOTE We have only tested this operation with a 32Mbyte CF memory card Given that the backup will take 16MBytes IKByte something more than a 16MByte card will be required Use the r2c command to dump Flash contents to the CF memory card Once this completes Red Boot can be installed with no fear since the Parrot loader can be used to restore the Flash contents at a later time If you expect to completely recover the state of the iPAQ Win CE environment then HotSync should be run to backup all RAM files as well before installing RedBoot The next step in installing RedBoot on the iPAQ actually involves Windows CE which is the native environment on the unit Using WinCE you need to install an application which will run a RAM based version of RedBoot Once this is installed and running RedBoot can be used to update the flash with a native ROM version of RedBoot e Using ActiveSync copy the file OSloader to your iPAQ Using ActiveSync copy the file redboot WinCE bin to the iPAQ as bootldr in it s root direc tory Note this is not the top level folder displayed by Windows Mobile Device but rather the My Pocket PC folder within it 65
97. umber 0 to quit Tests for various hardware subsystems are provided and some tests require special hardware in order to execute normally The Ethernet Configuration item may be used to set the board ethernet address 5 1 8 Rebuilding RedBoot The build process is nearly identical for the four supported configurations Assuming that the pro vided RedBoot source tree is located in the current directory and that we want to build a RedBoot that runs from the flash boot sector the build process is oe export TOPDIR pwd export ECOS_REPOSITORY S TOPDIR src ecos monitors redboot DATE intel packages mkdir TOPDIR build cd TOPDIR build ecosconfig new 1680310 redboot ecosconfig import S ECOS REPOSITORY hal arm iq80310 VERSION misc redboot ROM ecm ecosconfig tree make oe oo oe oe oe oe oe If a different configuration is desired simply use the above build process but substitute an alternate configuration file for the ecosconfig import command e g For a RedBoot that runs from flash address 0x40000 with the ARM booloader in the flash boot sector use 9 ecosconfig import S ECOS REPOSITORY hal arm iq80310 VERSION misc redboot ROMA ecm For a RedBoot which runs from RAM with RedBoot located in the flash boot sector use 37 ecosconfig import EPOSITORY hal arm iq80310 VERSION misc redboot_RAM ecm 9 ECOS_R For a RedBoot which ru
98. wnloaded images before they are written to flash 5 9 7 Rebuilding RedBoot The instructions in Chapter 3 Rebuilding RedBoot should be followed The values for TARGET ARCH DIR and PLATFORM DIR on this platform are viper powerpc and viper respec tively Note that the configuration export files supplied in the hal powerpc viper VER SION misc directory in the RedBoot source tree should be used 60 5 10 ARM Evaluator7T e7t board with ARM7TDMI 5 10 1 Overview RedBoot supports both serial ports for communication and downloads The default serial port set tings are 38400 8 N 1 5 10 2 Initial Installation RedBoot is installed using the on board boot environment See the user manual for full details 5 10 3 Quick download instructions Here are quick start instructions for downloading the prebuilt Redboot image e Boot the board and press ENTER ARM Evaluator7T Boot Monitor PreRelease 1 00 Press ENTER within 2 seconds to stop autoboot Boot Erase the part of the flash where RedBoot will get programmed Boot flasherase 01820000 10000 e Prepare to download the UU encoded version of the RedBoot image Boot download 10000 Ready to download Use transmit option on terminal emulator to download file Either use ASCII transmit option in the terminal emulator or on Linux simply cat the file to the serial port 5 cat redboot UU lt 0 When complete you should see Loaded file redboot
99. would be ambiguous with fis There is one additional special command When RedBoot detects as the first character in a com mand it switches to GDB protocol mode At this point the eCos GDB stubs take over allowing connections from a GDB host The only way to get back to RedBoot from GDB mode is to restart the platform The standard RedBoot command set is structured around the bootstrap environment These com mands are designed to be simple to use and remember while still providing sufficient power and flexibility to be useful No attempt has been made to render RedBoot as the end all product As such things such as the debug environment are left to other modules such as GDB stubs which are typically included in RedBoot The command set may be also be extended on a platform basis 2 2 RedBoot Editing Commands RedBoot uses the following line editing commands Delete 0x7F or Backspace 0x08 moves the cursor back one character and erases what is there destructively The mention of is in the context of the fconfig command This command uses some special line editing features When certain characters appear alone on the input line a behavior is elicited caret switch to editing the previous item in the config list If fconfig edits item A followed by item B pressing when changing item B allows you to change item A This is similar to the up arrow e period stop editing any further items This does not chan
100. x00100000 operand This format is used in a case where a command has one operand which must always be present no 8 18 required since it is always implied For example the command RedBoot gt go 0x10044 specifies executing the code starting at location 0x10044 The list of available commands and their syntax can be obtained by typing he 1p at the command line RedBoot gt help Manage aliases kept in FLASH memory alias name value Set Query the system console baud rate baudrate b lt rate gt Manage machine caches cache ON OFF Display switch console channel channel 1 channel number gt 15 Display disk partitions disks Display hex dump a range of memory dump b location 1 lt length gt anage flash images fis cmds anage configuration kept in FLASH memory fconfig i 1 n f nickname value Execute code at a location go w lt timeout gt entry Help about help help lt topic gt Load a file load r v d h lt host gt m TFTP xyzMODEM disk b lt base_address gt file name etwork connectivity test ping v n lt count gt t lt timeout gt i lt IP_addr h lt IP_addr gt Reset the system reset Display RedBoot version information version Commands can be abbreviated to their shortest unique string Thus in the list above d du dum and dump are all valid for the dump command The fconfig command can be abbreviated fc but
101. y created If specified and the image exists it must match the original value f The location in flash for the image which will be inferred for extant images if not specified If this is not provided the first freeVblock which is large enough will be used See fis free e The execution entry address This is used if the starting address for an image is not known or needs to be overridden EN The location in RAM when the image is loaded via fis load This only needs to be specified for images which will eventually loaded via fis load Fixed images such as RedBoot itself will not need this S The length of the actual data to be written to flash If not present then the image length 1 value is assumed If the value given by s is less than 1 the remainder of the image in flash will be left in an erased state Note that by using this option it is possible to create a completely empty flash image for example to reserve space for use by applications other than RedBoot n If n is specified then only the FIS directory is updated and no data is copied from RAM to flash This feature can be used to recreate the FIS entry if it has been destroyed RedBoot gt fis create RedBoot f 0xa0000000 b 0x8c400000 1 0x20000 An image named RedBoot exists are you sure y n n RedBoot fis create junk b 0x8c400000 1 0x20000 Erase from 0xa0040000 0xa0060000 Program from 0x8c400000 0x8c420000 at 0xa0040000 Erase from
Download Pdf Manuals
Related Search
Related Contents
Recherches en Éducation - n°20 Dossier d`information Euro Pharmat DISPOSITIF MEDICAL PINCE Copyright © All rights reserved.
Failed to retrieve file