Home

RedBoot User`s Guide - eCos

image

Contents

1. 196 OVERVIEW CO te ortu ni An Es st te Reel ne 196 Initial Installation Method ses 196 Special RedBoot Commiands sis haine ie iet eee eco 197 Memory Maps c ee ee a ea ea 197 Rebuldins RedB008 ut 2 28 ree eite Ee E RS 198 SuperH SH3 SH77X9 Hitachi Solution Engine 77X9 sse enne 198 OV RVI W Es M 198 Initial Installation Method seen 199 special RedBoot COMMANDOS iia ege eq 199 Memory Maps hee ree He Age det TENER RU ERR HERR ea 200 xi Xii Edd nine en NIB NUI IH 200 Rebuilding Re dBoot ei de Hits e d tp dre t nis 200 SuperH SH4 SH7751 Hitachi Solution Engine 7751 200 OVEIVIEW ce tite iso pee err QR epo ia se EA I Meera 201 Initial Installation Method ss 201 Special RedBoot Commands uii er erp ete ret e insider eet eeu 201 Memory Maps eee iei Dee aiti eet ere e PROPRE 202 Ethernet Driver tete torpe 202 Rebuilding RedBoot site pem dee Ras te 202 List of Examples 1 1 Sample DHCP configuration file riter bee He tede oie pte dp ede cerent 8 1 2 Sample etc named conf for Red Hat Linux 7 x sn 8 xiii xiv Chapter 1 Getting Started with RedBoot RedBoot is an acronym for Red Hat Embedded Debug and Bootstrap and is the standard embedded system debug bootstrap environment from Red Hat replacing the previous generation of debug firmware CygMon
2. define CYGNUM_HAL_INTERRUPT_ENUM 2 define CYGNUM_HAL_INTERRUPT_DEG 13 define CYGNUM HAL INTERRUPT ATXFAIL 14 define CYGNUM HAL INTERRUPT INTA 5 define CYGNUM HAL INTERRUPT INTB 6 define CYGNUM HAL INTERRUPT INTC 7 define CYGNUM HAL INTERRUPT INTD 8 define CYGNUM HAL INTERRUPT SERR 19 define CYGNUM HAL INTERRUPT HW1 20 define CYGNUM HAL INTERRUPT HW2 21 define CYGNUM HAL INTERRUPT HW3 22 define CYGNUM HAL INTERRUPT HW4 23 define CYGNU HAL INTERRUPT HW5 24 The data passed to the ISR is pulled from a data table nal interrupt data which immediately 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 Memory Maps Chapter 5 Installation and Testing 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 Oxlbdfffff PCI 1 0 Space 0x1be00000 Oxlbffffff System Controller 0x1c000000 Oxldffffff System flash 0x1e000000 Oxle3fffff Monitor flash 0x1 000000 Oxlfbfffff FPGA Rebuilding RedBoot These shell variables provide the platform specific information needed for building Re
3. 00100010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1 45 mfill 46 Fill a buffer with a pattern RedBoot gt mfill b 0x100000 1 0x20 p OxDEADFACE RedBoot gt x b 0x100000 1 0x20 00100000 CE FA AD DE CE FA AD DE CE FA AD DE CE FA AD DE 00100010 CE FA AD DE CE FA AD DE CE FA AD DE CE FA AD DE ping Name ping Verify network connectivity Synopsis ping v 1 1ecal IP address d length n count t timeout r rate h server_IP_address Arguments Name Type Description Default V Boolean Be verbose displaying quiet information about each packet sent local IP address Number Controls the number of 10 packets to be sent ilocal IP address Numeric IP or DNS name The IP address RedBoot Value set by ip address should use h server IP address Numeric IP or DNS name The IP address of the host none to contact length Number The length of the ICMP 64 data payload T length Number How fast to deliver 1000ms 1 second packets i e time between successive sends A value of 0 sends packets as quickly as possible t length Number How long to wait for the 1000ms 1 second round trip to complete specified in milliseconds Description 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
4. Initial Installation RedBoot is installed using the on board bootPROM environment See the user manual for full details Quick download instructions Here are quick start instructions for downloading the prebuilt Redboot image Set DIP switch S1 1 to the ON position and reset or power the board up You will see the bootPROM startup message on serial port A J14 Initialising ARM bootPROM Version 1 3 Rebuilt on Jun 26 2001 at 22 04 10 Running on a Integrator Evaluation Board Board Revision V1 0 ARM966E S Processor emory Size is 16MBytes Flash Size is 32MBytes Copyright c ARM Limited 1999 2001 All rights reserved Board designed by ARM Limited Hardware support provided at http www arm com For help on the available commands type or h boot Monitor gt Issue the FLASH ROM load command boot Monitor gt L Load Motorola S Records into flash Deleting Image 0 The S Record loader only accepts input on the serial port Type Ctrl C to exit loader e Either use the ASCII transmit option in the terminal emulator or on Linux simply cat the file to the serial port S cat redboot srec gt dev ttyso When complete type Ctrl C and you should see something similar to Downloaded 5 394 records in 81 seconds Overwritten block s 0 boot Monitor gt Set DIP switch S1 1 to the OFF position and reboot the board and you should see the RedBoot banner Chapter 5 Installation and Testing Special
5. e Q ed 0xd8c00120 0x8600ff81 0xd8c00220 0x21111000 0xd8c00224 0x00100200 Oxd8c00228 0x00000004 Q e Q ed 0xd8c00130 0x8680ff81 0xd8c00230 0x21111000 0xd8c00234 0x00100200 Q e Q e Chapter 5 Installation and Testing ed 0xd8c00238 0x00000004 ed 0xd8c00140 0x9800f801 ed 0xd8c00240 0x00140000 ed 0xd8c00244 0x11011100 ed 0xd8c00248 0x01000001 ed 0xda000000 0x55561645 ed 0xda000004 0x000003c0 ed 0xda000008 0x9000fe01 ed 0xda00000c 0x9200fe01 ed 0xda000000 0xa89b0654 3 Run the following commands at the JTAG debugger s prompt to tell it what regions of the CPU s address space it can access ex 0x80000000 Ox81ffffff mexram ex 0x84000000 Ox85ffffff mexram ex 0x86000000 0x867fffff mexram ex 0x86800000 0x87ffffff mexram ex 0x8c000000 0x8cffffff mexram ex 0x90000000 0x93ffffff mexram 4 Instruct the debugger to load the RAM RedBoot image into RAM _pc 90000000 u_pe rd redboot ram 90000000 5 Load the boot PROM RedBoot into RAM rd redboot prom 91020000 6 Start RedBoot in RAM g Note that RedBoot may take some time to start up as it will attempt to query a BOOTP or DHCP server to try and automatically get an IP address for the board Note however that it should send a plus over the serial port immediately and the 7 segment LEDs should display th 8 Loading the boot PROM based RedBoot via the RAM mode RedBoot Once the RAM
6. 06061010 E6 55 DD DB F3 75 5D 15 EO F3 FC D9 C8 73 1D DA Ir sus To reduce RedBoot s RAM resource usage use a ROM mode RedBoot The RedBoot features that use most RAM are the net stack the flash support and the gunzip support These and other features can be disabled to reduce the RAM footprint but obviously at the cost of lost functionality Chapter 1 Getting Started with RedBoot 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 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 for 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 on
7. Description The help command displays information about the available RedBoot commands If a topic is given then the display is restricted to information about that specific command If the command has sub commands e g fis then the topic specific display will print additional information about the available sub commands special ICMP packets to a specific host These packets should be auto matically returned by that host The command will indicate how many of these round trips were successfully completed Examples Show generic help Note that the contents of this display will depend on the various configuration options for RedBoot when it was built RedBoot gt help Manage aliases kept in FLASH memory alias name value Manage machine caches cache ON OFF Display switch console channel channel 1 lt channel number gt Compute a 32bit checksum POSIX algorithm for a range of memory cksum b lt location gt 1 lt length gt Display hex dump a range of memory dump b location 1 lt length gt s 1 2 4 Manage FLASH images fis cmds Manage configuration kept in FLASH memory fconfig i 1 n f d d nickname value Execute code at a location go w timeout entry 27 help 28 Uncompress GZIP compressed data gunzip s lt location gt d lt location gt Help about help help lt topic gt Read I O location iopeek b lt location gt 11214 Write I O location iopo
8. Name cksum Compute POSIX checksums Synopsis cksum b location l length Arguments Name Type Description Default b location Memory address Location in memory for none stat of data length Number Length of data none Description Computes the POSIX checksum on a range of memory either RAM or FLASH The values printed decimal cksum decimal length hexadecimal cksum hexadecimal length can be compared with the output from the Linux program cksum Examples Checksum a buffer RedBoot gt cksum b 0x100000 1 0x100 POSIX cksum 3286483632 256 Oxc3e3c2b0 0x00000100 Checksum an area of memory after loading a file Note that the base address and length parameters are provided by the preceding load command RedBoot gt load r b FREEMEMLO redboot bin Raw file loaded 0x06012800 0x0602f0a8 RedBoot gt cksum Computing cksum for area 0x06012800 0x0602f0a8 POSIX cksum 2092197813 116904 0x7cb467b5 0x0001c8a8 21 cksum 22 disks Name disks List available disk partitions Synopsis disks Arguments None Description The disks command is used to list disk partitions recognized by RedBoot Examples Show what disk partitions are available RedBoot gt disks hdal Linux Swap hda2 Linux 00100000 00 3E 00 06 00 06 00 06 00 00 00 00 00 00 00 00 00100010 00 00 00 78 00 70 00 60 00 60 00 60 00 60 00 60 23 disks 24 dump Na
9. SWI should now be set to upper mem to select booting with RedBoot rather than Angel Finally press the reset pushbutton and RedBoot should come up on the board Installing RedBoot on the EB40A EB42 or EB55 These development boards come 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 Jumper JP1 is used to select which monitor to boot Once RedBoot is installed setting JP1 to stp will choose Angel whereas setting 1 1 to USER will choose RedBoot Set JP1 to STD and connect serial port A to a host computer Using GDB from the host and Angel on the board download the RAM mode image of RedBoot to the board and start it using the cont command 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 AT91EB55 2 20 Angel Debug Monitor rebuilt on Feb 03 2002 at 16 10 20 Serial Rate 9600 Connected to ARM RDI target gdb set cpsr 0xd3 gdb load Loading section rom_vectors size 0x40 lma 0x2008000 Loading section text size 0xb0b8 lma 0x2008040 Loading section rodata size 0x1c27 lma 0x20130f8 Loading section data size 0 5 0 lma 0x2014d20 Start address 0x2008040 load size 54031 Transfer rate 6264 bits sec 500 bytes write gdb cont Continuing Once RedBoot is started the GDB session connected with Angel must be suspended this can be
10. If the system supports non volatile configuration data via the feonfig command see the Section called Persis tent State Flash based Configuration and Control in Chapter 2 then the value will be saved and used when 13 alias the system is reset Examples Set an alias RedBoot gt alias joe This is Joe Update RedBoot non volatile configuration continue y n n Display an alias RedBoot gt alias joe joe This is Joe Use an alias Note the command simply echoes the command to to console RedBoot gt joe This is Joe Aliases can be nested RedBoot gt alias frank Who are you joe Update RedBoot non volatile configuration continue y n RedBoot gt frank Who are you This is Joe Notice how the value of frank changes when joe is changed since the value of joe is not evaluated until frank is evaluated RedBoot gt alias joe This is now Josephine Update RedBoot non volatile configuration continue y n n RedBoot gt frank Who are you This is now Josephine 14 baudrate Name baudrate Set the baud rate for the system serial console Synopsis baudrate b rate Arguments Name Type Description Default b rate Number The baud rate to use for none the serial console Description The baudrate command sets the baud rate for the system serial console If no value is provided then the current value of the console
11. Program from 0x06046800 0x06062fe8 at 0x00000000 Erase from 0x00070000 0x00080000 Program from 0x0606 000 0x0607 000 at 0x00070000 RedBoot gt fis lock RedBoot Lock from 0x00000000 0x00020000 Reboot run the new RedBoot image Once the image has been successfully written into the flash simply reset the target and the new version of RedBoot should be running When installing RedBoot for the first time or after updating to a newer RedBoot with different configuration keys it is necessary to update the configuration directory in the flash using the fconfig command See the Section called Persistent State Flash based Configuration and Control in Chapter 2 105 Chapter 4 Updating RedBoot 106 Chapter 5 Installation and Testing AM3x MN103E010 Matsushita MN103E010 AM33 2 0 ASB2305 Board Overview RedBoot supports the debug serial port and the built in ethernet port for communication and downloads The default serial port settings are 115200 8 N 1 with RTS CTS flow control RedBoot can run from either flash and can support flash management for either the boot PROM or the system flash regions The following RedBoot configurations are supported Configuration Mode Description File PROM ROM RedBoot running from redboot_ROM ecm the boot PROM and able to access the system flash FLASH ROM RedBoot running from redboot_FLASH ecm the system flash and able to access the boot PROM RAM RAM RedBoot runn
12. RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method A ROM mode RedBoot image must be programmed into the two EPROMs Two files with a split version of the ROM mode image is provided it is also possible to recreate these from the redboot bin file but requires the split word c program in hal sh hs7729pci version misc to be built and executed with the redboot bin filename as sole argument After doing this it is advised that another ROM mode image of RedBoot is programmed into the on board flash and that copy be used for booting the board This allows for software programmed updates of RedBoot Chapter 5 Installation and Testing instead of having to reprogram the EPROMs 1 Program the EPROMs with RedBoot The image should go in socket and the hi image in socket M2 Set switch SW1 6 to ON boot from EPROM w N Follow the instructions under Flash management for updating the flash copy of RedBoot but force the flash destination address with f 0x80400000 due to setting of the SW1 6 switch gt Set switch SW1 6 to OFF boot from flash and reboot the board You should now see the RedBoot banner At this time you may want to issue the command fis init to initialize the flash table with the correct addresses Special RedBoot Commands The exec c
13. The command will indicate how many of these round trips were successfully completed 47 ping 48 Examples Test connectivity to host 192 168 1 101 RedBoot gt ping h 192 168 1 101 Network PING from 192 168 1 31 to 192 168 1 101 PING received 10 of 10 expected Test connectivity to host 192 168 1 101 with verbose reporting RedBoot gt ping h 192 168 1 101 v n 4 Network PING from 192 168 1 31 to 192 168 1 101 seq 1 time 1 ticks seq 2 time 1 ticks seq 3 time 1 ticks seq 4 time 1 ticks PING received 10 of 10 expected Test connectivity to a non existent host 192 168 1 109 RedBoot gt ping h 192 168 1 109 v n 4 PING Cannot reach server 192 168 1 109 192 168 1 109 reset Name reset Reset the device Synopsis reset Arguments None Description The reset command causes the target platform to be reset Where possible hardware support permitting this will be equivalent to a power on reset condition Examples Reset the platform RedBoot gt reset Resetting Waiting for network card Socket Communications Inc Low Power Ethernet CF Revision C 5V 3 3V 08 27 98 Ethernet eth0 MAC address 00 c0 1b 00 ba 28 IP 192 168 1 29 Default server 192 168 1 101 RedBoot tm bootstrap and debug environment ROM Non certified release version UNKNOWN built 10 41 41 May 14 2002 Platform Compaq iPAQ Pocket PC StrongARM 1110 Copyright C 2000 2001 2002
14. console ttyAC0 38400 Uncompressing Linux Memory Maps The MMU page tables are located at 0x4000 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 OxO1fffff Flash 0x10000000 0Ox100ffff Ethernet 0x30000000 0Ox300ffff 0x40000000 Ox4ffffff 0x50000000 Ox5ffffff 0x80000000 0x800037 0xb0060000 OxbOOffff Board registers PCMCIA Slot 0 Compact Flash Slot 1 I O registers On chip SRAM 0xf0000000 Oxfda3ffff SDRAM Virtual Address Range CB Description 0x00000000 OxO1f7ffff Y Y SDRAM 0x01f80000 OxO1ffffff Y Y SDRAM used for LCD frame buffer 0x10000000 Ox100fffff N N Ethernet 127 Chapter 5 Installation and Testing 0x30000000 Ox300fffff NN Board registers 0x40000000 Ox4fffffff PCMCIA Slot 0 0x50000000 Ox5fffffff NN Compact Flash Slot 1 0x60000000 Ox61ffffff NN Flash 0x80000000 0x800037ff N N I O registers 0xf0000000 Oxffffffff NN SDRAM uncached Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET aaed export ARCH_DIR arm export PLATFORM_DIR arm9 aaed2000 The names of configuration files are listed above with the description of the associated modes ARM ARMS Altera Excalibur 128 Overview RedBoot supports
15. export ARCH_DIR sh export PLATFORM_DIR edk7708 AT29LV1024 The names of configuration files are listed above with the description of the associated modes 193 Chapter 5 Installation and Testing SuperH SH3 SH7709 Hitachi Solution Engine 7709 194 Overview This description covers the MS7709SE01 variant See the Section called SuperH SH3 SH77X9 Hitachi Solu tion Engine 77X9 for instructions for the MS7729SE01 and MS7709SSE0101 variants RedBoot uses the COM1 and serial ports The default serial port settings are 38400 8 N 1 Ethernet is also supported using the 10 base T connector Management of onboard flash is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The Solution Engine ships with the Hitachi boot monitor in EPROM which allows for initial programming of RedBoot 1 Set switch SW4 1 to ON boot from EPROM 2 Connect a serial cable to CN1 SCI and power up the board 3 After the boot monitor banner invoke the flash download program command Ready f1 4 The monitor should now ask for input Flash ROM data copy to RAM Please Send A S format Record At this point copy the RedBoot ROM SREC file to the serial p
16. fis load d b memory load address c name Write raw data directly to FLASH fis write f flash addr b mem base 1 image length iopeek Name iopeek Read I O location Synopsis iopeek b 1ocation 11 21 4 Arguments Name Type Description Default b location VO address V O Location none 1 Access a one byte 8 bit 1 T O location 2 Access a two byte 16 1 bit I O location 4 Access a one word 32 1 bit VO location Description Reads a value from the I O address space Examples Examine 8 bit value at I O location 0x3F8 RedBoot gt iopeek b 0x3f8 0x03f8 0x30 Examine 32 bit value at I O location Ox3f8 RedBoot gt iopeek b 0 3 8 4 0 03 8 0x03c10065 29 iopeek 30 iopoke Name iopoke Write I O location Synopsis iopoke b location 11 21 4 v value Arguments Name Type Description Default b location VO address V O Location none 1 Access a one byte 8 bit 1 I O location Only the 8 least significant bits of value will be used 2 Access a two byte 16 1 bit I O location Only the 16 least significant bits of value will be used 4 Access a one word 32 1 bit I O location Description Writes a value to the I O address space Examples Write 0x0123 to 16 bit I O location 0x200 RedBoot gt iopoke b 0x200 v 0x123 2 31 iopoke 32 gunzip Name
17. 7 0000 at 0xa0fe0000 Update the RedBoot RAM image RedBoot gt load redboot RAM img Entry point 0x060213c0 address range 0x06020000 0x06036cc0 RedBoot gt fis create RedBoot RAM No memory address set An image named RedBoot RAM exists continue y n y x CAUTION about to program RedBoot RAM at 0x00020000 0x00036cbf from 0x06020000 continue y n y Erase from 0x00020000 0x00040000 Program from 0x06020000 0x06036cc0 at 0x00020000 Erase from 0x00070000 0x00080000 Program from 0x0606 000 0x0607 000 at 0x00070000 fis load Name fis load Load flash image Synopsis fis load b load address c d name Arguments Name Type Description Default b Number Address the image should If not specified the be loaded to Executable address associated with images normally load at the image in the FIS the location to which the directory will be used file was linked This option allows the image to be loaded to a specific memory location possibly overriding any assumed location C 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 name String The name of the file as shown in the FIS directory Description This command is used to transfer an image from flash memory to RAM Once the image has been loaded it may be executed using
18. 8 bits 4 at a time Only the least significant 8 bits of the pattern will be used 2 Access two bytes 16 4 bits at a time Only the least significant 16 bits of the pattern will be used 4 Access one word 32 4 bits at a time Description Examples RedBoot gt mfill b 0x100000 1 0x20 p RedBoot gt mfill b 0x200000 1 0x20 p RedBoot gt memp s 0x100000 d 0x200000 Compare two buffers which match result is quiet OxDEADFACE OxDEADFACE 1 0x20 Compares the contents of two ranges of memory RAM ROM FLASH etc Compare two buffers which don t match Only the first non matching element is displayed RedBoot gt mcmp s 0x100000 d 0x200000 1 0x30 41 mcmp Buffers don t match 0x00100020 0x6000 0x00200020 0x0000 42 mcopy Name mcopy Copy memory Synopsis mcopy s source d destination l length 1 1 2 1 4 Arguments Name Type Description Default S locationl Memory address Location of data to copy none d location2 Memory address Destination for copied none data length Number Length of data none 1 one byte 8 bits at 4 a time 2 Copy two bytes 16 bits 4 at a time 4 Copy one word 32 bits 4 at a time Description Copies memory RAM ROM FLASH etc from one area to another Examples Copy 16 bits at a time RedBoot gt RedBoot gt RedBoot gt 00200000 00200010 RedBoot gt RedBoot
19. Configuration Mode Description File ROM ROM RedBoot running from redboot ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method Device programmer is used to program socketed flash parts Chapter 5 Installation and Testing Special RedBoot Commands None Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used Physical Address Range 0x00 0x08 0x10 0x18 0x20 0x80 0xc0 0xc8 0xd0 0xd8 0xe0 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 OX000ffff 0x083ffff Ox100ffff 0x180ffff Ox3ffffff Oxbffffff Oxc7fffff Oxcffffff Oxd7fffff Oxdffffff Oxe7fffff Virtual Address Range 0x00 0x00 0x00 0x00 0x08 0x10 0x20 0x40 0x80 Oxe0 000000 400000 800000 c00000 000000 000000 000000 000000 000000 000000 0x003ffff 0x007ffff Ox00bffftf OxOOfffff 0x083ffff Ox100ffff Ox3ffffff Ox400ffff Oxbffffff Oxe 7fffff Z on OZ r kn oH r oH oH Description Boot ROM Application flash 5 09 tu Om RAM hip Select 3 CMCIA A 1100 Internal Registers RAM Bank 0 RAM Bank 1 RAM Bank 2 RAM Bank 3 Cache Clean 2K OZ ZU K KKK oH Description DRAM Bank 0 DRAM Bank 1 DRAM Bank 2 DRAM Bank 3 Application flash SRAM PCMCIA B
20. Free Software Foundation Inc RAM 0x00000000 0x01fc0000 0x00014748 0x01f71000 available FLASH 0x50000000 0x51000000 64 blocks of 0x00040000 bytes each RedBoot gt 49 reset 50 version Name version Display RedBoot version information Synopsis version Arguments None Description The version command simply displays version information about RedBoot Examples Display RedBoot s version RedBoot gt version RedBoot tm debug environment built 09 12 03 Feb 12 2001 Platform XYZ PowerPC 860 Copyright C 2000 2001 Free Software Foundation Inc RAM 0x00000000 0x00400000 51 version 52 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 The fis command fis is short for Flash Image System is used to manipulate and maintain flash images fis init Name fis init Initialize Flash Image System FIS Synopsis fis init 7 Arguments Name Type Description Default f All blocks of flash memory except for the boot blocks will be erased as part of the initialization procedure Description This command is used to initialize the Flash Image System FIS It should normally only be executed once when RedBoot is first installed on the hardware If the reserved images or their sizes in the FIS change due to a different
21. None 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 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 Address Range B Description 0x00000000 OxO1ffffff Y Y SDRAM 0x40000000 Ox400fffff N 21285 Registers 0x41000000 Ox413fffff YN flash 0x42000000 0x420fffff NN 21285 CSR Space 131 Chapter 5 Installation and Testing 0x50000000 Ox50ffffff Y Y Cache Clean 0x78000000 Ox78ffffff N Outbound Write Flush 0x79000000 Ox7cOfffff NN PCI IACK Config IO 0x80000000 Oxffffffff N Y PCI Memory Platform Resource Usage Timer3 is used as a polled timer to provide timeout support for networking and XModem file transfers Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET ebsa285 export ARCH DIR arm export PLATFORM DIR ebsa285 The names of configuration files are listed above with the description of the associated modes ARM StrongARM SA1100 Intel Brutus 132 Overview RedBoot supports both board serial ports on the Brutus board The default serial port settings are 38400 8 N 1 flash management is not currently supported The following RedBoot configurations are supported
22. Read Allocate 100 Invalid not used 1 0 1 Uncached Buffered No write buffer coalescing 110 Mini DCache Policy set by Aux Ctl Register 1 1 1 Cached Buffered Write Back Read Write Allocate Virtual Address Physical Address XCB Size MB Description 0x00000000 0x00000000 010 256 SDRAM cached 0x10000000 0x10000000 010 256 SDRAM alias 0x20000000 0x00000000 000 256 SDRAM uncached 0x48000000 0x48000000 000 64 PCI Data 0x50000000 0x50000000 010 16 Flash CSO 0x51000000 0x51000000 000 112 GST cs 0x60000000 0x60000000 000 64 Queue Manager 0xC0000000 0xC0000000 000 1 PCI Controller 0xC4000000 0xC4000000 000 1 Exp Bus Config 0xC8000000 0xC8000000 000 1 Misc CPU IO 0xCC000000 0xCC000000 000 dh SDRAM Config Platform Resource Usage The CPU programmable OStimer0 is used for timeout support for networking and XModem file transfers CalmRISC CalmRISC16 Samsung CalmRISC16 Core Evaluation Board Overview The Samsung CalmRISC16 evaluation platform consists of two boards connected by a ribbon cable One board contains the CPU core and memory The other board is called the MDSChip board and provides the host interface The calmRISC16 is a harvard architecture with separate 22 bit program and data addresses The instruction set provides no instruction for writing to program memory The MDSChip board firmware called CalmBreaker provides a pseudo register interface so that code running on the core has access to a serial channel and a mecha
23. Segment LED Tests i82544 Ethernet Configuration Baterry Status Test Battery Backup SDRAM Memory Test Timer Test PCI Bus test CPU Cache Loop No Return quit Enter the menu item number 0 to quit RH N Tests for various hardware subsystems 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 Memory Tests This test is used to test installed DDR SDRAM memory Five different tests are run over the given address ranges If errors are encountered the test is aborted and information about the failure is printed When selected the user will be prompted to enter the base address of the test range and its size The numbers must be in hex with no leading Enter the menu item number 0 to quit 1 Base address of memory to test in hex 100000 Size of memory to test in hex 200000 Testing memory from 0x00100000 to 0x002fffff Walking 1 s test 0000000100000002000000040000000800000010000000200000004000000080 0000010000000200000004000000080000001000000020000000400000008000 0001000000020000000400000008000000100000002000000040000000800000 157 Chapter 5 Installation and Testing 158 0100000002000000040000000800000010000000200000004000000080000000 passed 32 bit address test passed 32 bit address bar test passed 8 bit address test pass
24. address For example setting CONFIG MEMORY START to 0x8c100000 the kernel expects to be loaded at address 0x8c101000 with the entry point at 0x8c102000 Memory Maps RedBoot sets up the following memory map on the SE77x9 board Physical Address Range Description 0x80000000 0x803fffff Flash MBM29LV160 0x81000000 0x813fffff EPROM M27C800 0x8c000000 Ox8dffffff DRAM 0xb0000000 Oxb03fffff Ethernet DP83902A 0xb0800000 Oxb08fffff 16C552A 0xb1000000 Oxb100ffff Switches 0xb1800000 Oxb18fffff LEDs 0xb8000000 Oxbbffffff PCMCIA MaruBun 195 Chapter 5 Installation and Testing Ethernet Driver The ethernet driver uses a hardwired ESA which can at present only be changed in CDL Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET se77x9 export ARCH_DIR sh export PLATFORM_DIR se77x9 The names of configuration files are listed above with the description of the associated modes SuperH SH3 SH7729 Hitachi HS7729PCI 196 Overview RedBoot uses the COMI and COM2 serial ports and the debug port on the motherboard The default se rial port settings are 38400 8 N 1 Ethernet is also supported using a D Link DFE 530TX PCI plugin card Management of onboard flash is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM
25. baud rate is displayed If the system supports non volatile configuration data via the feonfig command see the Section called Persis tent State Flash based Configuration and Control in Chapter 2 then the value will be saved and used when the system is reset Examples Show the current baud rate RedBoot gt baudrate Baud rate 38400 Change the console baud rate In order to make this operation safer there will be a slight pause after the first message to give you time to change to the new baud rate If it doesn t work or a less than affirmative answer is given to the continue prompt then the baud rate will revert to the current value Only after the baud rate has been firmly established will RedBoot give you an opportunity to save the value in persistent storage RedBoot gt baudrate b 57600 Baud rate will be changed to 57600 update your settings Device baud rate changed at this point Baud rate changed to 57600 continue y n y Update RedBoot non volatile configuration continue y n n 15 baudrate 16 Name cache Control hardware caches Synopsis cache on off Arguments Name Type Description Default on Turn the caches on none off Turn the caches off none Description The cache 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 o
26. 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 gt fi li Name flash addr Mem addr Length Entry point RedBoot 0xA0000000 0xA0000000 0x020000 0x80000000 RedBoot config 0xAOFCO000 OxAOFCOO00 0x020000 0x00000000 FIS directory OxAOFEO0000 OxAOFEO000 0x020000 0 00000000 RedBoot gt NOTE The bold characters above indicate where something was entered on the console As you can see the fi li command at the end came from the script not the console Once the script is executed command processing reverts to the console NOTE RedBoot supports the notion of a boot script timeout i e a period of time that RedBoot waits before executing the boot time script This period is primarily to allow the possibility of canceling the script Since a timeout value of zero 0 seconds would never allow the script to be aborted or canceled this value is not allowed If the timeout value is zero then RedBoot will abort the script execution immediately On many targets RedBoot may be configured to run from ROM or it may be configured to run from RAM Other configurations are also possible All RedBoot configurations will execute the boot script but in certain cases it may be desirable to limit the execution of certain script commands to one RedBoot configuration or the other This can be
27. board and you should see the RedBoot banner Special RedBoot Commands None Chapter 5 Installation and Testing 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 YN SDRAM 0x03ff0000 OxOGffffff NN Microcontroller registers 0x01820000 0x0187ffff NN System flash mirrored Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET e7t export ARCH DIR arm export PLATFORM DIR e7t The names of configuration files are listed above with the description of the associated modes ARM ARM7 ARM9 ARM Integrator Overview RedBoot supports both serial ports for communication and downloads The default serial port settings are 38400 8 N 1 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector 113 Chapter 5 Installation and Testing 114
28. by the board manufacturer To access the diagnostic menu enter diag at the RedBoot prompt RedBoot gt diag Entering Hardware Diagnostics Disabling Data Cache Memory Tests Repeating Memory Tests 16C552 DUART Serial Port Tests Rotary Switch S1 Test for positions 0 3 seven Segment LED Tests Backplane Detection Test Battery Status Test External Timer Test 182559 Ethernet Configuration 10 i82559 Ethernet Test 11 Secondary PCI Bus Test 12 Primary PCI Bus Test 13 i960Rx 303 PCI Interrupt Test I CQ NN FS 14 Internal Timer Test l5 GPIO Test 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 1Q80310 Hardware Tests l Memory Tests 2 Repeating Memory Tests 3 16C552 DUART Serial Port Tests 4 Rotary Switch S1 Test for positions 0 3 5 7 Segment LED Tests 6 Backplane Detection Test 7 Battery Status Test 8 External Timer Test 9 182559 Ethernet Configuration 10 i82559 Ethernet Test 11 i960Rx 303 PCI Interrupt Test 12 Internal Timer Test 13 Secondary PCI Bus Test 14 Primary PCI Bus Test 15 Battery Backup SDRAM Memory Test 16 GPIO Test 17 Repeat On Fail Memory Test 18 Coyonosa Cache Loop No return 19 Show Software
29. configured using its standard bootemd command to run RedBoot at startup Download Instructions You can perform the initial load of the POST configuration RedBoot image into flash using the BSE firmware s load command This will load a binary file using TFTP and program it into flash in one operation Be cause 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 communicate over your network to your TFTP server gt load 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 NOTE the BSE firmware runs its serial IO at 9600 Baud RedBoot runs instead at 38400 Baud You must select the right baud rate in your terminal program to be able to set up the BSE firmware After a reset the BSE firmware will print Boot BSE 2000 Sep 12 2000 14 00 30 autoboot go 40000 hit ESC to abort and then RedBoot starts switching to 38400 Baud Once you have installed a bootable RedBoot in the system in this manner we advise re installing using the ge
30. flash management commands The process of updating RedBoot in situ is documented in this section For this process it is assumed that the target is connected to a host system and that there is a serial connection giving access to the RedBoot CLI For platforms with a ROMRAM mode RedBoot skip to the Section called Update the primary RedBoot flash image Note The addresses and sizes included in the below are examples only and will differ from those you will see This is normal and should not cause concern Load and start a RedBoot RAM instance There are a number of choices here The basic case is where a RAM mode image has been stored in the FIS flash Image System To load and execute this image use the commands RedBoot gt fis load RedBoot RAM RedBoot gt go If this image is not available or does not work then an alternate RAM mode image must be loaded RedBoot gt load redboot_RAM img Entry point 0x060213c0 address range 0x06020000 0x060369c8 RedBoot gt go Note This command loads the RedBoot image using the TFTP protocol via a network connection Other methods of loading are available refer to the load command for more details Note If you expect to be doing this more than once it is a good idea to program the RAM mode image into the flash You do this using the fis create command after having downloaded the RAM mode image but before you start it Some platforms support locking write protecting certain regions
31. fs mkdir Name fs mkdir Create filesystem directory Synopsis fsmkdir directory Arguments Name Type Description Default directory String Pathname to directory to delete Description This command creates makes a directory in the filesystem Examples Create directory RedBoot gt fs list 212416 d 2 size 128 212416 d 2 size 128 4 210368 1 size 4096 image RedBoot gt mkdir tests RedBoot gt fs list 212416 de 3 size 128 212416 do o 3 size 128 4 211392 vd 2 2 size 64 tests 210368 1 size 4096 image RedBoot gt fs mkdir 82 fs deldir Name fs deldir Delete filesystem directory Synopsis fs deldir directory Arguments Name Type Description Default directory String Pathname to directory to delete Description This command deletes a directory from the filesystem this command will fail Examples Delete directory RedBoot gt fs list 212416 d 212416 d 211392 d 210368 RedBoot gt fs deldir RedBoot gt fs list 212416 d 212416 d 210368 RedBoot 128 128 96 tests 4096 image 128 128 4096 image If the directory contains files or other directories then 83 fs deldir 84 fs del Name fs del Delete file Synopsis fs del file Arguments Name Ty
32. locked Description This command is used to write protect lock a portion of flash memory to prevent accidental overwriting of images In order to make any modifications to the flash a matching fis 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 on the system attempting to write to write protected flash may generate errors or warn ings or be benignly quiet Examples Lock an area of the flash RedBoot gt fis lock f 0xa0040000 1 0x20000 Lock from 0xa0040000 0xa0060000 65 fis lock 66 fis unlock Name fis unlock Unlock flash area Synopsis fis unlock f 1ash address 1 length Arguments Name Type Description Default flash address Number Address of area to be unlocked length Number Length of area to be unlocked Description 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 Note Some flash devices power up in locked state and always need to be manually unlocked before they can be written to Examples Unlock an area of the flash RedBoot gt fis unlock f 0xa0040000 1 0x20000 Unlock from 0xa0040000 0xa0060000 67 fis unlock 68 fis erase Name fis erase Erase flash area Syno
33. needed the first time RedBoot is installed on the target or when updating to a newer RedBoot with different configuration keys If the optional flag 1 is specified the configuration data is simply listed Otherwise each configuration pa rameter 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 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 the Section called RedBoot Editing Commands in Chapter 1 If any changes are made in the configuration then the updated data will be written back to flash after getting acknowledgment 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 flag The reason for telling you nicknames is that a quick way to set a single entry is provided using the format RedBoot gt 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
34. of the flash while others do not If your platform does not support locking simply ignore the fis unlock and fis lock steps the commands will not be recognized by RedBoot RedBoot gt fis unlock RedBoot RAM Unlock from 0x00000000 0x00020000 RedBoot gt fis create RedBoot RAM An image named RedBoot RAM exists continue y n y CAUTION x about to program RedBoot RAM at 0x00020000 0x000369c7 from 0x06020000 continue y n y Erase from 0x00020000 0x00040000 Program from 0x06020000 0x060369c8 at 0x00020000 Erase from 0x00070000 0x00080000 103 Chapter 4 Updating RedBoot 104 Program from 0x0606 000 0x0607 000 at 0x00070000 RedBoot gt fis lock RedBoot RAM Lock from 0x00000000 0x00020000 Update the primary RedBoot flash image An instance of RedBoot should now be running on the target from RAM This can be verified by looking for the mode identifier in the banner It should be either RAM or ROMRAM If this is the first time RedBoot is running on the board or if the flash contents has been damaged initialize the FIS directory RedBoot gt fis init f About to initialize format FLASH image system continue y n y Initialize FLASH Image System Erase from 0x00020000 0x00070000 Erase from 0x00080000 0x00080000 Erase from 0x00070000 0x00080000 Program from 0x0606 000 0x0607f 000 at 0x00070000 It is important to understand that the presence of a co
35. platform a number of conflicts may need to be resolved before the build can be started select Continue For example if the platform selected is Hitachi SE7751 board and the RAM configuration RedBoot should be built import the file ha1 sh se7751 vERSION misc redboot RAM ecm Save the configuration somewhere suitable with enough disk space for building RedBoot File gt Save Choose the name according to the RedBoot configuration for example redboot_RAM ecc Then start the build Build gt Library and wait for it to complete The resulting RedBoot files will be in the associated install directory for the example this would be redboot_RAM_install bin As noted above each platform s details are described in Chapter 5 Use the information provided in the shell variables to find the configuration file the path to it is ECOS_REPOSITORY hal ARCH_DIR PLATFORM_DIR VERSION misc REDBOOT_CFG ecm where ECOS_REPOSITORY points to the eCos RedBoot sources VERSION is the version of the package usually eurrent and REDBOOT_CFG is the desired configuration e g redboot RAM Chapter 4 Updating RedBoot Introduction RedBoot normally resides in an EPROM or more common these days a flash on the board In the former case updating RedBoot necessitates physically removing the part and reprogramming a new RedBoot image into it using prommer hardware In the latter case it is often possible to update RedBoot in situ using Redboot s
36. ram is 0x0101 type Loader type Finally the kernel entry address can be specified as an optional argument The default is 0x8c102000 On the SE77x9 Linux expects to be loaded at address 0x8c101000 with the entry point at 0x8c102000 This is configurable in the kernel using the CONFIG MEMORY START option Memory Maps RedBoot sets up the following memory map on the SE77x9 board Physical Address Range Description 0x80000000 0x803fffff Flash MBM29LV160 0x81000000 0x813fffff EPROM M27C800 0x8c000000 Ox8dffffff SDRAM 0xb0000000 Oxb03fffff Ethernet DP83902A 0xb0400000 Oxb07fffff SuperIO FDC37C935A 0xb0800000 OxbObfffff Switches 0xb0c00000 Oxbfffffff LEDs 0xb1800000 Oxblbfffff PCMCIA MaruBun Ethernet Driver The ethernet driver uses a hardwired ESA which can at present only be changed in CDL Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET se77x9 export ARCH DIR sh export PLATFORM DIR se77x9 The names of configuration files are listed above with the description of the associated modes Chapter 5 Installation and Testing SuperH SH4 SH7751 Hitachi Solution Engine 7751 Overview RedBoot uses the COMI serial port The default serial port settings are 38400 8 N 1 Ethernet is also supported using the 10 base T connector Management of onboard flash is also suppor
37. set provides no instruction for writing to program memory The MDSChip board firmware called CalmBreaker provides a pseudo register interface so that code running on the core has access to a serial channel and a mechanism to write to program memory The serial channel is fixed at 57600 8 N 1 by the firmware The CalmBreaker firmware also provides a serial protocol which allows a host to download a program and to start or stop the core board The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running via the redboot ROM ecm MDSChip board Initial Installation Method The calmRISC32 core is controlled through the MDSChip board There is no non volatile storage available for RedBoot so RedBoot must be downloaded to the board on every power cycle A small utility program is used to download S record files to the eval board Sources and build instructions for this utility are located in the RedBoot sources in packages hal calmrisc32 ceb current support To download the RedBoot image first press the reset button on the MDSChip board The green Run LED on the core board should go off Now use the utility to download the RedBoot image with calmbreaker p dev term b reset srec code f redboot elf Note that the p dev term b specifies the serial port to use and will vary from system to syetm The download will take about two minutes After it finishes
38. sise 128 OVINA 128 Initial Installation Method ss 128 Flash management 9 eer o ee pro te etii eai qe deco pete er or ee 129 Special RedBoot Commands ss 129 Mem Ory Maps tee Sa t rU tuii e 130 Rebuilding RedBoot esses enne nennen nenne tree cn non nena rain nennen enne 130 ARM StrongARM SA110 Intel EBSA 285 ses 130 OVELVIEW acce en nr nt Re BUREAU PERIERE 131 Initial Installation Method rinitis 131 Communication Channels 131 Special RedBoot Commands sisse ee e nee BER bohren pen 131 Memory Maps 22a ni SRO ih ERBE ee Se ne i PE 131 Platform Resource Usage ea Os hs tei e RU 132 Rebuilding RedBoot eee ea En 132 vii ARM StrongARM SA 1100 Intel Brutus seen 132 OVerVIGW rennes shi da cenae dete A ot a tp dee t re yos 132 Initial Installation Method ss 132 special RedBoot Commands cima ie mbi nt ne 132 Renee pa eme 133 Platform Resource Usage pr nern ae i aeq eec pete te e noe 133 Rebuilding RedBoot sosie 133 ARM StrongARM SA 1100 Intel SA1100 Multimedia Board 134 OVELVI W ES mii a 134 Initial Installation Method Linie ins tes ehesten 134 Special RedBoot Commands ss 134 Memory Maps nentes oie ete paie dt tetes eut 134 Platform Resource Usage Fete ie edere epe ap reete ie ters 135 Rebu
39. the Section called Persistent State Flash based Configuration and Control in Chapter 2 for more details Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET prpmc1100 export ARCH_DIR arm export PLATFORM_DIR xscale prpmc1100 The names of configuration files are listed above with the description of the associated modes Chapter 5 Installation and Testing Interrupts RedBoot uses an interrupt vector table which is located at address 0x8004 Entries in this table are pointers to functions with this protoype int irq_handler unsigned vector unsigned data On the PrPMC1100 board the vector argument is one of many interrupts defined in hal arm xscale ixp425 current include hal_var_ints h define CYGNUM_HAL_INTERRUPT_NPEA 0 define CYGNUM_HAL_INTERRUPT_NPEB 1 define CYGNUM_HAL_INTERRUPT_NPEC 2 define CYGNUM_HAL_INTERRUPT_OMI 3 define CYGNUM HAL INTERRUPT OM2 4 define CYGNUM HAL INTERRUPT TIMERO 5 define CYGNUM HAL INTERRUPT GPIOO 6 define CYGNUM HAL INTERRUPT GPIOIl 7 define CYGNUM HAL INTERRUPT PCI INT 8 define CYGNUM HAL INTERRUPT PCI DMA1 9 define CYGNUM HAL INTERRUPT PCI DMA2 10 define CYGNUM HAL INTERRUPT TIMER1 11 define CYGNUM HAL INTERRUPT USB 12 define CYGNUM HAL INTERRUPT UART2 13 define CYGNUM HAL INTERRUPT TIMESTAMP 14 define CYGNUM HAL INTERRUPT UARTI 15 define CY
40. the flash the block sizes reductions in feature size do not always result in flash resource savings Flash Resources On many platforms a ROM mode RedBoot image resides in the first flash sectors working as the board s primary boot monitor On these platforms it is also normal to reserve a similar amount of flash for a secondary RAM mode image which is used when updating the primary ROM mode image On other platforms a ROMRAM mode RedBoot image is used as the primary boot monitor On these platforms there is not normally reserved space for a RAM mode RedBoot image since the ROMRAM mode RedBoot is capable of updating the primary boot monitor image Chapter 1 Getting Started with RedBoot Most platforms also contain a FIS directory keeping track of available flash space and a RedBoot config block containing RedBoot board configuration data To see the amount of reserved flash memory run the fis list command RedBoot gt fis list Name FLASH addr Mem addr Length Entry point RedBoot 0x00000000 0 00000000 0x00020000 0x00000000 RedBoot RAM 0x00020000 0 06020000 0 00020000 0x060213C0 RedBoot config 0x0007F000 0x0007F000 0 00001000 0 00000000 FIS directory 0x00070000 0x00070000 0x0000F000 0 00000000 To save flash resources use a ROMRAM mode RedBoot or if using a ROM mode RedBoot avoid reserving space for the RedBoot RAM image this is done by changing the RedBoot configuration and download the RAM mode RedBoot wheneve
41. the serial port labelled P2 on the board The default serial port settings are 57600 8 N 1 RedBoot also supports flash management on the Excalibur The following RedBoot configurations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector REDBOOT ROMRAM RedBoot running from redboot_REDBOOT ecm top of RAM but contained in the board s flash boot sector NOTE RedBoot is currently hardwired to use a 128MB SDRAM SIMM module Chapter 5 Installation and Testing Initial Installation Method A Windows utility exc_flash_programmer exe is used to program flash using the ByteBlasterMV JTAG unit See board documentation for details on in situ flash programming For ethernet to work under Linux the following jumper settings should be used on a REV 2 board SW2 9 OFF 0179 2 3 JP14 18 OPEN JP40 41 2 3 JP51 55 2 3 Flash management The ROMRAM and REDBOOT configurations supported on this platform differ only in the memory lay out ROMRAM configuration runs RedBoot from 0x00008000 while REDBOOT configuration runs Red Boot from 0x07f80000 The REDBOOT configuration allows applications to be loaded and run from address 0x00008000 Special RedBoot Commands The exec command which all
42. up and testing RedBoot ss 143 Installing RedBoot permanently ss 143 Restoring WindoWs GE ue cer Here ee mb ince wie it 144 Additional commands esses eren E eene nenne enr en nennen trennen trennen 144 Memory Maps e e pro e ee etd Mes ri cope dedere 145 Rebuilding RedBoot nennen trennen nennen 145 ARM StrongARM SA11X0 Intrinsyc CerfCube ss 146 OVervIeW oue AE Goa ee eee i eret eame e a in Be 146 Initial Install eee eo a tt e pi a Saad 146 Additional commands ss 146 Memory Maps MEME 147 Rebuilding RedBoot eene Me ne nun ii i i 148 ARM XScale Cyclone LO803 10 7 eiie ann eer en BE Bunt en 148 OVERVIEW BE RES iG eta IE S bene Bem AY e ee Geta 148 Initial Installation Method renina 4 ode A t tei e pet ner 148 Error Codes ise ROUEN ERREUR ROREM 149 viii Using RedBoot with ARM Bootloader ss 149 Special RedBoot Commands 150 1080310 Hardware Tests inner dete erp ree eee 150 Rebuilding R dBOOT o eR 8 near ins 151 Interr pts z RSEN ated hs 151 Memory Maps e cerne ee p Er pe e Uere epa i e quete pee t nie 152 Platform Resource Usage sise 153 ARM XScale Intel 16080321 terne rer eter ra NEE ele en seau RE 153 OVELVIEW M aid 154 Initial Installation Method 5 22285020 etre rh eR etaed 154 Switch Set nps sei eet teet eie e si EI 154 LED Co
43. write b 0x0606f000 1 0x1000 image RedBoot gt fs list 212416 d 212416 d 211392 206784 d RedBoot size size size 4 size 128 128 096 image 96 tests 91 fs write 92 Chapter 2 RedBoot Commands and Examples 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 fconfig command as described below At this point you may also wish to run the fis init command See other fis commands in the Section called Flash Image System FIS 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 configuration 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 This is also
44. you must use the jtstflash exe both linux and windows PC are supported to flash the image on JTST The sources for win32 and linux cygwin versions of this host tool can be found in the support directory of the jtst hal The binaries can be found along with the binaries for redboot on the eCos website at http ecos sourceware org ecos boards redbootbins at91jtst http ecos sourceware org ecos boards redbootbins at9 jtst index html 121 Chapter 5 Installation and Testing When the jtstflashd elf is started the user should open the jumper JP5 to write in the second half 512Kbytes of the flash in this way the original RedBoot image is preserved GDB console arm elf gdb jtstflash elf gdb set remotebaud 115200 gdb target remote dev ttyS0 Remote debugging using dev ttysS0 0x00502a44 in gdb load Loading section internal vectors size 0x1c4 lma 0x160 Loading section rom_vectors size 0x40 lma 0x606000 Loading section text size 0x14198 lma 0x606040 Loading section rodata size Oxb6c lma 0x61ald8 Loading section data size 0x498 lma 0x6lad44 Start address 0x606040 load size 86944 Transfer rate 77283 bits sec 301 bytes write gdb c Continuing x JIST FLASH PROGRAMMER opening usart port 1 PC console jtstflash mybinaryimage bin binary len 79536 bytes flash add 0x500000 flash id check ok erasing space address 0x500000 please wait flash erase check ok start programming 7
45. 0 FEFFFFFF o I O devices FF000000 FF1FFFFF IC7 RedBoot FLASH FF200000 FF3FFFFF IC8 unused FLASH FF400000 FFFFFFFF o Misc other I O NOTE The only configuration currently suppored requires a 64MB SDRAM DIMM to be present on the CPU card No other memory configuration is supported at this time Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET frv400 export ARCH_DIR frv export PLATFORM_DIR frv400 Chapter 5 Installation and Testing The names of configuration files are listed above with the description of the associated modes Fujitsu FR V Design Kit MB93091 CBxx Overview RedBoot supports both serial ports which are available via the stacked serial connectors on the mother board in the case of the FR400 CPU board and via serial connectors present on the other supported CPU boards themselves The topmost port is the default and is considered to be port 0 by RedBoot The bottommost port is serial port 1 The default serial port settings are 115200 8 N 1 The serial port supports baud rates up to 460800 which can be set using the baud command as described in Chapter 2 FLASH management is also supported but only for the FLASH device in IC7 This arrangement allows for IC8 to retain either the original Fujitsu board firmware or some application specific contents Two basic RedBoot configu
46. 0000 FEFFFFFF Miscellaneous on chip I O FF000000 FFFFFFFF RedBoot FLASH 16MiB NOTE The only configuration currently suppored requires a 64MiB SDRAM DIMM to be present on the CPU card No other memory configuration is supported at this time 177 Chapter 5 Installation and Testing Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET mb93093 export ARCH_DIR frv export PLATFORM_DIR mb93093 Resource Usage The RedBoot image occupies flash addresses OxFF000000 OxFFO3FFFF To execute it copies itself out of there to RAM at 0x03E00000 RedBoot reserves memory from 0x00000000 to 0 0001 for its own use User programs can use memory from 0x00020000 to OxO3DFFFFF RAM based RedBoot configurations are designed to run from RAM at 0x00020000 1A32 x86 x86 Based PC 178 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 The following RedBoot configurations are supported Configuration Mode Description File Floppy Floppy RedBoot running from redboot ROM ecm boot floppy disk installed in the A drive of the PC Initial Installation RedBoot takes the form of a self booting image that must be wr
47. 00000 Oxa8c3ffff Switches 0xa8c40000 Oxa8c7ffff LEDs 0xa8c80000 Oxascfffff Interrupt controller 0xb0000000 Oxb3ffffff PCI SD0001 0xb8000000 Oxbbffffff PCMCIA MaruBun Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET hs7729pci export ARCH DIR sh export PLATFORM DIR hs7729pci The names of configuration files are listed above with the description of the associated modes SuperH SH3 SH77X9 Hitachi Solution Engine 77X9 198 Overview This description covers the MS7729SE01 and 5770955 0101 variants See the Section called SuperH SH3 SH7709 Hitachi Solution Engine 7709 for instructions for the MS7709SE01 variant RedBoot uses the COMI and serial ports The default serial port settings are 38400 8 N 1 Ethernet is also supported using the 10 base T connector Management of onboard flash is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from the board s flash boot sector redboot ROM ecm Chapter 5 Installation and Testing Configuration Mode Description File RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The Solution Engine ships with the Hitachi boot monitor in EPROM which al
48. 5 current include hal var ints h CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN DDD PPPS DP PSS PSPS SP gt gt gt PB NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT NT TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR the vector PT_NPEA PT_NPE PT_NPE _ 1 _ 2 PT_TIM ET GEL PT GPL PT POI PT PCI PILPCL PT_TIM PT_USB PT_UAR PT_TIM PT_UAR PT_WDO B C ERO 00 ol INT DMA1 DMA2 1 T2 ESTAMP IL G PT_AHB_PMU PT_XSCALE_PMU PTCGP PT GP PT GP PT GP PT GP ET GE PT GP PT GP PT GP PT GR PE GP PT_SW_ PT_SW_ O2 103 O4 OS 106 107 108 109 010 1011 1012 INTL INT2 argument I amp NN IP 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 9d unsigned data is one of many interrupts defined in The data passed to the ISR is pulled from a datatable hal_interrupt_data which immediately follows the interrupt vector table With 32 interru
49. 74 Memory UE CERE 174 ueste Hansen Brink ee rn 174 Fujitsu FR V Design Kit MB93091 CBxx sise 175 COVER VIEW ARE On ELLE EEE 175 Initial Installation Method inneren 175 Special RedBoot Commands issue sienne relire nie 175 Memory Maps eie ins itis hi ia Rien det eei ie age Aan ont 175 Reb ilding A e tete etie qe titre sn 176 Resource Usage cocina tee Mass de DEI Hi Denken een tS 176 Fujitsu FR V Portable Demonstration Kit MB93093 PD0D0 esee nennen 176 OVEIVIEW acest eO ria OU RIDE 176 Initial Installation Method 0525er gesehene o HERI Pe eere 177 Special RedBoot Commands sos 177 Memory Maps o RUP REPE EIU ER REN EDER re 177 Rebuilding Red Boot i e ERR lr 177 Resource Usage roto tu een Deom tede eiua tiene ttes 178 1A32 x86 x86 Based PC ie eene seo rated eec eor emite 178 OV TVIEW rae EO o ORE 178 Initial Installation meret men 178 Flash management eene Rs ee pen 179 Special RedBoot Commands ss 179 Memory Maps eee M Ree eere ee ee ee 179 Rebuilding Red BOO test aan li e etg ire deii tto 179 MIPS MIPS32 CoreLV 4Kc MIPS64 CoreLV 5Kc Atlas Board 179 OVerVIeW sen ehren een rte te MR nn ee A hone ERU TERR 180 Initial Installations a i E rete E hip 180 Quick download instructions sise 180 Atlas d
50. 81ffffff Y Y 0x9e000000 Ox9e3fffff Y Ox9fc00000 Ox9fffffff Y 0xa8000000 Oxb7ffffff N 0xb4000000 Oxb40fffff N 0xb8000000 Oxb80fffff N 0xb8100000 Oxbbdfffff N 0xbe000000 Oxbe3fffff N Oxbf000000 Oxbfffffff N Rebuilding RedBoot Description SDRAM System flash cached System flash mirrored PCI Memory Space Galileo System Controller Southbridge ISA PCI I O Space System flash noncached Board logic FPGA These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET malta mips32 4kc export ARCH DIR mips export PLATFORM DIR malta The names of configuration files are listed above with the description of the associated modes MIPS RM7000 PMC Sierra Ocelot Overview RedBoot uses the front facing serial port The default serial port settings are 38400 8 N 1 RedBoot also sup ports ethernet Management of onboard flash is also supported The following RedBoot configurations are supported Configuration Mode Description File 186 Chapter 5 Installation and Testing Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Additional commands The exec command which allows the loading and exec
51. 9536 bytes Special RedBoot Commands None Memory Maps This processor has no MMU so the only memory map is for physical addresses The memory layout of the JTST after bootstrap is as follows Physical Address Range Description 0x00000000 0x00007 fff On chip SRAM 0x00500000 0x0057ffff Flash 0x00600000 0x0063ffff External SRAM 0x00410000 0x0042fffc On chip Magic Data Memory Left 0x00430000 0x0043fffc On chip Magic Data Memory Right 0x00430000 0x0044fffc On chip Magic Program Memory 0x00490000 0x00490ffc On chip Arm Magic Data Exchange Left 0x004A0000 0x004A0ffc On chip Arm Magic Data Exchange Right 122 Chapter 5 Installation and Testing 0x00450000 0x0045003c Magic I O registers 0x00460000 0x0046000c Magic Control registers Oxffe00000 Oxffffffff I O registers ARM ARM7 Cirrus Logic EP7xxx EDB7211 EDB7212 EDB7312 Overview RedBoot supports both serial ports on the board and the ethernet port The default serial port settings are 38400 8 N 1 RedBoot also supports flash management on the EDB7xxx for the NOR flash only The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot RAM ecm RAM with RedBoot in the flash boot sector ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash
52. A sedan oder een 166 Memory Ple E esrb RO A A eS e PROPIO 167 Platformi Resource Usage s Ra rU Ete ii e S 167 Motorola PrPMC1100 CPU card sise 167 OVELVICW een nn e SA da tr at dpt e n ep dp teo 168 Initial Installation Method ss 168 Rebuilding Re dBoot d Ree eter pee eite oU de e Ee REUS 168 Interr pts z ne en oleh i ee Ba 168 Memory Maps ne er reco e ciet iere une eei prets ees 169 Platform Resource Usage sise 170 CalmRISC CalmRISC16 Samsung CalmRISC16 Core Evaluation Board 170 OVerVIeW siue eere eerie Re UR RERO en DERE 170 Initial Installation Method sq 171 Special RedBoot Commiands 45 are areas bin ee hades 171 Special Note on Serial Channel ss 171 R building RedBOOt ie ri ee Bein han ei Nr 171 CalmRISC CalmRISC32 Samsung CalmRISC32 Core Evaluation Board 172 OVERVIEW 172 Initial Installation Method ses 172 Special RedBoot Commands sscsscssesessecssenpsbscsesvenebsdshssvensssbasvoshonsenessadvesdepesecebsvopescseyseiennesets 172 Special Note on Serial Channel ss 173 Rebuilding RedBoot deuten beet ure eH Php eR eR 173 FRV FRV400 Fujitsu FR V 400 MB 93091 iii 173 OVERVIEW ii e ORO AN REPERI err EN RES Qe OSEE 173 Initial Installation Method ses 174 Special RedBoot Commands ses 205228 SSR it teer eot ip eic 1
53. AO_EOC PT_DMA1_EOT PT_DMA1_EOC PT_RSVD_4 PT_RSVD_5 PT_AA_EOT PT_AA_EOC PT_CORE_PMON PT_TIMERO PT_TIMERL PT_I2C_O PT_I2C_1 PT_MESSAGING PT_ATU_BIST PT_PERFMON PT_CORE_PMU PT_BIU_ERR PT_ATU_ERR PT_MCU_ERR PT_DMAO_ERR PT_DMA1_ERR PT AA ERR PT MSG ERR PT SSP PT RSVD 26 PT XINTO PT XINTI1 PT XINT2 PT XINT3 PT HPI argument I oo 5 C0 l2 IP Pe Ro NFO 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 is hal arm xscale verde current include hal_var_ints h one of 32 interrupts defined in The data passed to the ISR is pulled from a data table hal_interrupt_data which immediately follows the interrupt vector table With 32 interrupts the data table starts at address 0x8084 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 Memory Maps The RAM based page table is located at RAM start 0x4000 RedBoot may be configured for one of two mem ory maps The difference between them is the location of RAM and the PCI outbound windows The alternative memory map may be used when building RedBoot or eCos by using the RAM_ALTMAP and ROM_ALTMAP startup types in the configuration NOTE The virtual memory maps in this section use a C B and X column to indicate the caching policy for the regi
54. B define CYGNUM HAL INTERRUPT PCI S INTD 31 secondary PCI INTD The hardware doesn t yet provide masking or status for these even though they can trigger cpu interrupts ISRs will need to poll the device to see 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 xxx 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 CYGNU HAL INTERRUPT ERR 46 xxx ATU sources xxx 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 immediately follows the interrupt vector table With 49 interrupts the data table starts at address OxAOOOA0C8 An application may create a normal C function with the above prototype to be an ISR Just po
55. Boot Commands None 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 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET pc export ARCH DIR 1386 export PLATFORM DIR pc The names of configuration files are listed above with the description of the associated modes 179 Chapter 5 Installation and Testing MIPS MIPS32 CoreLV 4Kc MIPS64 CoreLV 5Kc Atlas Board 180 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation RedBoot is installed using the code download facility built into the Atlas board See the Atlas User manual for d
56. CI 32 bit Memory Secondary PCI 64 bit Memory Primary PCI IO Space Secondary PCI IO Space Unused SDRAM Unused 80200 Internal Registers CB Y Y ZKKK Description SDRAM 80312 Internal Registers flash Memory PCI ATU Outbound Direct Window Primary PCI 32 bit Memory Primary PCI 64 bit Memory Secondary PCI 32 bit Memory Secondary PCI 64 bit Memory Primary PCI IO Space Secondary PCI IO Space SDRAM Cache Flush Region first 4k page of flash 80200 Internal Registers Platform Resource Usage The external timer is used as a polled timer to provide timeout support for networking and XModem file transfers 153 Chapter 5 Installation and Testing ARM XScale Intel 1Q80321 154 Overview RedBoot supports the serial port 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector 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 ma
57. DEAD Display a buffer one word 32 bit word at a time Note in this case that the ASCII interpretation is suppressed RedBoot gt dump b 0x100000 4 00100000 DEADFACE DEADFACE DEADFACE DEADFACE 00100010 DEADFACE DEADFACE DEADFACE DEADFACE Display the same buffer using Motorola S record format RedBoot gt dump b 0x100000 s 31500100000CEFAADDECEFAADDECEFAADDECEFAADDES8E 31500100010CEFAADDECEFAADDECEFAADDECEFAADDE7E Display a buffer with visible ASCII strings RedBoot gt d b Oxfe00b000 1 0x80 OxFE00B000 20 25 70 00 00 00 00 41 74 74 65 6D 70 74 20 Suse Attempt OxFE00B010 74 6F 20 6C 6F 61 64 20 53 2D 72 65 63 6F 72 64 to load S record OxFEOOB020 20 64 61 74 61 20 74 6F 20 61 64 64 72 65 73 73 data to address OxFE00B030 20 25 70 20 5B 6E 6F 74 20 69 6E 20 52 41 4D Sp not in RAM OxFE00B040 5D 00 00 2 2 2A 20 57 61 72 6E 69 6E 67 21 Warning OxFE00B050 20 43 68 65 63 6B 73 75 6D 20 66 61 69 6C 75 72 Checksum failur OxFE00B060 65 20 2D 20 41 64 64 72 20 25 6C 78 2C 20 25 e Addr 1x OxFE00B070 30 32 6C 58 20 3C 20 25 30 32 6 58 OA 00 00 021X lt gt 021X OxFE00B080 45 6E 74 72 79 20 70 6F 69 6E 74 20 25 70 2C Entry point p help Name help Display help on available commands Synopsis help topic Arguments Name Type Description Default topic String Which command to All commands provide help for
58. 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 gt lo 0 191 Chapter 5 Installation and Testing At this point the monitor is ready for input It will not return the prompt until the file has been downloaded 2 Use the terminal emulator s ASCII download feature or a simple clipboard copy paste operation to down load 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 99 Program the flash with the downloaded data EPPC Bug gt pflash 40000 60000 c000000 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 Special RedBoot Commands None Memory Maps Memory Maps RedBoot sets up the following memory map on the MBX board Physical Address Range Description 0x00000000 0x003fffff DRAM 0xfal00000 0xfa100003 LEDs O
59. FFF Ox81FFFFFF 0x85FFFFFF 0x86007FFF 0x86F90003 0x86FA0003 0x86FBOOI1F Chapter 5 Installation and Testing Description Cached Region Boot PROM System Flash 64Kbit Sys Config EEPROM 4x 7 segment LEDs Software DIP Switches PC16550 Debug Serial Port On Chip Memory repeated 16Kb SRAM SDRAM Paged PCI Memory Space PCI Local SRAM 32Mb PCI I O Space AM33 PCI Bridge Registers PCI Memory Page Register PCI Config Registers Uncached Mirror Region CPU Control Registers 64Mb The ASB2305 HAL makes use of the on chip memory in the following way 0x8C000000 0x8C000100 0x8C001000 0x8C0000FF 0x8C0001FF 0x8C003FFF hal_vsr_table hal_virtual_vector_table Linux command line RedBoot exec command Emergency DoubleFault Exception Stack Currently the CPU s interrupt table lies at the beginning of the RedBoot image which must therefore be aligned to a OXFF000000 mask Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET asb2305 export ARCH_DIR mn10300 export PLATFORM_DIR asb2305 The names of configuration files are listed above with the description of the associated modes ARM ARM7 ARM Evaluator7T Overview RedBoot supports both serial ports for communication and downloads The default serial port settings are 38400 8 N 1 The following RedBoot confi
60. GNUM HAL INTERRUPT WDOG 16 define CYGNUM HAL INTERRUPT AHB PMU 17 define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18 define CYGNUM_HAL_INTERRUPT_GPIO2 19 define CYGNUM_HAL_INTERRUPT_GPIO3 20 define CYGNUM HAL INTERRUPT GPIO4 21 define CYGNUM HAL INTERRUPT GPIO5 22 define CYGNUM HAL INTERRUPT GPIO6 23 define CYGNUM HAL INTERRUPT GPIO7 24 define CYGNUM HAL INTERRUPT GPIOB8 25 define CYGNUM HAL INTERRUPT GPIO9 26 define CYGNUM HAL INTERRUPT GPIO10 27 define CYGNUM HAL INTERRUPT GPIOl11 28 define CYGNUM HAL INTERRUPT GPIO12 29 define CYGNUM HAL INTERRUPT SW INT1 30 define CYGNUM HAL INTERRUPT SW INT2 31 The data passed to the ISR is pulled from a data table nal interrupt data which immediately follows the interrupt vector table With 32 interrupts the data table starts at address Ox8084 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 Memory Maps The RAM based page table is located at RAM start 0x4000 NOTE The virtual memory maps in this section use a C B and X column to indicate the caching policy for the region 169 Chapter 5 Installation and Testing Description 000 Uncached Unbuffered 0 0 1 Uncached Buffered 010 Cached Buffered Write Through Read Allocate 0 1 1 Cached Buffered Write Back
61. KKK Description SDRAM On chip SRAM Flash I O registers PLD B Description SDRAM On chip SRAM Flash I O registers PLD Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET excalibur_arm9 export ARCH_DIR arm export PLATFORM_DIR arm9 excalibur The names of configuration files are listed above with the description of the associated modes Chapter 5 Installation and Testing ARM StrongARM SA110 Intel EBSA 285 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method A linux application is used to program the flash over the PCI bus Sources and build instructions for this utility are located in the RedBoot sources in packages hal arm ebsa285 current support linux safl_util Communication Channels Serial Intel PRO 10 100 82559 PCI ethernet card Special RedBoot Commands
62. LCD buffer if configured 0xe0000000 Oxelffffff Y Y OR Flash EDB7211 EDB7212 0xe0000000 OxeOffffff Y Y OR Flash EDB7312 Oxf0000000 Oxflffffff Y Y AND Flash The flash based RedBoot image occupies virtual addresses 0xe0000000 Oxe003ffff Platform Resource Usage The EP7xxx timer 2 is used as a polled timer to provide timeout support for network and XModem file transfers Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET edb7211 export TARGET edb7212 export TARGET edb7312 export ARCH DIR arm export PLATFORM DIR edb7xxx Use one of the TARGET settings only The names of configuration files are listed above with the description of the associated modes 124 Chapter 5 Installation and Testing ARM ARM9 Agilent AAED2000 Overview RedBoot supports the serial and ethernet ports on the board The default serial port settings are 38400 8 N 1 RedBoot also supports flash management on the AAED2000 The following RedBoot configurations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from redboot_primary_ROMRAM ecm RAM but contained in the board s flash boot sector RAM RAM RedBoot running from redboot_primary_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method It is possible t
63. M However before programming the new image into Flash you must switch SW1 to lower mem EB40 or set JP1 to STD EB40A EB42 EB55 before writing to Flash Warning Failure to set SW1 to lower mem EB40 or JP1 to stp EB40A EB42 EB55 will cause the installation of RedBoot to overwrite Angel thus making the board unbootable Only hardware JTAG can restore the board once in this state ARM ARN7 Atmel JTST Evaluation Board AT572D740 DK1 Overview RedBoot support is available for the JTST board By default this board is shipped with 256Kbytes of external SRAM To minimize the amount of RAM used by RedBoot only very basic flash management is provided comprising of just the fis erase and fis write commands RedBoot supports two serial ports The default serial port settings for RedBoot are 115200 8 N 1 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Installing a RedBoot image on the JTST This development board comes with RedBoot installed on flash To install a new version of RedBoot or another binary image in flash you must start a GDB session setting a remote target and load and run the jtstflashd elf diopsis application This is a daemon that listens on JTST serial port 1 On the PC side
64. Method RedBoot must be installed at the A amp M factory Special RedBoot Commands None Memory Maps Memory Maps RedBoot sets up the following memory map on the MBX board Physical Address Range Description 0x00000000 0x007fffff DRAM 0xfe000000 OxfeOfffff flash AMD29LV8008B Oxff000000 OxffOfffff MPC registers Chapter 5 Installation and Testing Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET viper export ARCH_DIR powerpc export PLATFORM_DIR viper The names of configuration files are listed above with the description of the associated modes PowerPC MPC8XX Motorola MBX Overview RedBoot uses the SMC1 COM1 serial port The default serial port settings are 38400 8 N 1 Ethernet is also supported using the 10 base T connector Management of onboard flash is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method Device programmer is used to program the XUI socketed flash part AM29F040B with the ROM mode image of RedBoot Use the on board EPPC Bug monitor to update RedBoot This assumes that you have
65. RUPT_NFIQ DoF WN xxx XINT6 interrupts xxx define CYGNUM HAL INTERRUPT DMA 0 7 define CYGNUM HAL INTERRUPT DMA 1 8 define CYGNUM HAL INTERRUPT DMA 2 9 define CYGNUM HAL INTERRUPT GTSC 10 Global Time Stamp Counter define CYGNUM HAL INTERRUPT PEC 11 Performance Event Counter define CYGNUM HAL INTERRUPT AAIP 12 application accelerator unit xxx XINT7 interrupts xxx I2C interrupts define CYGNUM HAL INTERRUPT I2C TX EMPTY 13 define CYGNUM HAL INTERRUPT I2C RX FULL 14 define CYGNUM HAL INTERRUPT I2C BUS ERR 15 define CYGNUM HAL INTERRUPT I2C STOP 16 define CYGNUM HAL INTERRUPT I2C LOSS 17 151 Chapter 5 Installation and Testing define CYGNUM_HAL_INTERRUPT_I2C_ADDRESS 18 Messaging Unit interrupts define CYGNUM_HAL_INTERRUPT_MESSAGE_O 19 define CYGNUM_HAL_INTERRUPT_MESSAGE_1 20 define CYGNUM_HAL_INTERRUPT_DOORBELL 21 define CYGNUM_HAL_INTERRUPT_NMI_DOORBELL 22 define CYGNUM_HAL_INTERRUPT_QUEUE_POST 23 define CYGNUM_HAL_INTERRUPT_OUTBOUND_QUEUE_FULL 24 define CYGNUM_HAL_INTERRUPT_INDEX_REGISTER 25 PCI Address Translation Unit define CYGNU HAL INTERRUPT BIST 26 xxx External board interrupts XINT3 xxx define CYGNUM HAL INTERRUPT TIMER 27 external timer 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
66. RedBoot Commands None Memory Maps RedBoot sets up the following memory map on the Integrator 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 ARM7TDMI Physical Address Range C B Description 0x00000000 0x0007ffff N SSRAM 0x00080000 OxOfffffff N SDRAM depends on part fitted 0x10000000 Oxlfffffff N System control and peripheral registers 0x20000000 Ox23ffffff N Boot ROM contains boot Monitor 0x24000000 Ox27ffffff N FLASH ROM contains RedBoot 0x28000000 Ox2bffffff N SSRAM echo area 0x40000000 Ox5fffffff N PCI Memory access windows 0x60000000 Ox60ffffff N PCI IO access window 0x61000000 Ox61ffffff N PCI config space window 0x62000000 0x6200ffff N PCI bridge register window 0x80000000 Ox8fffffff N SDRAM echo area used for PCI accesses ARM966E Physical Address Range C B Description 0x00000000 Ox000fffff N SSRAM 0x00100000 OxOfffffff N SDRAM depends on part fitted 0x10000000 Ox1fffffff N System control and peripheral registers 0x20000000 Ox23ffffff N Boot ROM contains boot Monitor 0x24000000 Ox27ffffff N FLASH ROM contains RedBoot 0x28000000 Ox2bffffff N SSRAM echo area 0x40000000 Ox5fffffff N PCI Memory access windows 0x60000000 Ox60ffffff N PCI IO access window 0x61000000 Ox61ffffff N PCI config space window 0x62000000 0x6200ffff N PCI bridge regi
67. RedBoot User s Guide RedBoot User s Guide Copyright 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2009 Free Software Foundation Inc Documentation licensing terms 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 copyright 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 Trademarks Altera and Excalibur are trademarks of Altera Corporation AMD is a registered trademark of Advanced Micro Devices Inc ARM StrongARM Thumb ARM7 ARMOTM is a registered trademark of Advanced RISC Machines Ltd Cirrus Logic and Maverick are registered trademarks of Cirrus Logic Inc Cogent is a trademark of Cogent Computer Systems Inc Compaq is a registered trademark of the Compaq Computer Corporation Fujitsu is a registered trademark of Fujitsu Limited IBM and PowerPC are trademarks of International Business Machines Corporation IDT is a registered trademark of Integrated Device Technology Inc Intel i386 Pentium StrataFlash and XScale are trademarks of Intel Corporation Intri
68. Right 7 segment LED PBIU CS2 Oxfe8d0000 Oxfe8d0fff 0 0 0 Rotary Switch PBIU CS4 Oxfe8f0000 Oxfe8f0fff 0 0 0 Baterry Status PBIU CS5 Oxfff00000 Oxffffffff 0 0 0 Verde Memory mapped Registers Alternate Virtual Map Description 0x00000000 OxOO0fffff 1 1 1 Alias for lst MB of SDRAM 0x00100000 Ox7fffffff 0 0 0 ATU Outbound Direct Window 0x80000000 Ox900fffff 0 00 ATU Outbound Translate Windows 0xa0000000 Oxbfffffff 1 1 1 SDRAM 0xc0000000 Oxdfffffff 0 00 Uncached alias for SDRAM 0xe0000000 OxeO0fffff 1 1 1 Cache flush region no phys mem 0xf0000000 Oxf0800000 0 1 0 FLASH PBIU CSO Oxfe800000 Oxfe800fff 0 0 0 PBIU CS1 Oxfe840000 Oxfe840fff 0 00 Left 7 segment LED PBIU CS3 Oxfe850000 Oxfe850fff 0 0 0 Right 7 segment LED PBIU CS2 Oxfe8d0000 Oxfe8d0fff 0 0 0 Rotary Switch PBIU CS4 Oxfe8f0000 Oxfe8f0fff 0 0 0 Baterry Status PBIU CS5 Oxfff00000 Oxffffffff 0 0 0 Verde Memory mapped Registers 161 Chapter 5 Installation and Testing Platform Resource Usage The Verde programmable timer0 is used for timeout support for networking and XModem file transfers ARM Intel XScale IXDP425 Network Processor Evaluation Board 162 Overview RedBoot supports the builtin high speed and console UARTs and a PCI based 182559 ethernet card for com munication and downloads The default serial port settings are 115200 8 N 1 RedBoot also supports flash management for the 16MB boot flash on the mainboa
69. Sew tete uu ere Ded he Tate Gea rtu ebd tele 17 channel it tentata te IE 19 CKSUM pau Ir RR E 21 GISKS er dr Ar Races E Pa es Es e ener 23 CUM 3 sive A S 25 help cis esses sates eect REPRE met ii tds rU RR era 27 nee Rin et mn Hep meti 29 IOpOK 54 she estere RD e erm IRI ome tuit mee mbH 31 BUNZIP E coveaonoviviae sence 33 Ip Address Er ERI me nn RP de TR 35 load eade Datum AU RUE US 37 icu EE 41 INC OPY ee alien ion eva nn ts 43 nile UP mE E 45 PINS ick Cp S 47 a A ess e d e eor 49 NC ese 51 Flash Image System An RE BE BREI NDR In 53 TS AMIE re M 53 fis EST eo nare e be T So AEE a a EG 55 TS t Ee Ee eT 57 fis create c nn in ee eR ONU 59 AIS TOA m tues eves 61 A ERR DREW RSISIER GS 63 PSH OCK es sh eerte eere tete rer ot bebo ED a asi es 65 AIS CLASS nt ax bined dane 69 fis WIE sas nan apre A A nes 71 Fil system Interfaces e ne Hs ig rr e e ER ue e Eten 73 fs ME ED EE 73 ES ANOUME EC 75 77 IS CH seinen 79 fs mkdir n
70. Start up the eCos kernel or RedBoot 0001 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET ixdp425 export ARCH_DIR arm export PLATFORM_DIR xscale ixdp425 The names of configuration files are listed above with the description of the associated modes Interrupts RedBoot uses an interrupt vector table which is located at address 0x8004 Entries in this table are pointers to functions with this protoype int irq_handler unsigned vector unsigned data On the IXDP425 board the vector argument is one of many interrupts defined in hal arm xscale ixp425 current include hal_var_ints h define CYGNUM_HAL_INTERRUPT_NPEA define CYGNUM_HAL_INTERRUPT_NPEB define CYGNUM_HAL_INTERRUPT_NPEC define CYGNUM_HAL_INTERRUPT_OM1 define CYGNUM_HAL_INTERRUPT_OM2 define CYGNUM_HAL_INTERRUPT_TIMERO define CYGNUM_HAL_INTERRUPT_GPIOO DoF WN 163 Chapter 5 Installation and Testing define CYGNUM_HAL_INTERRUPT_GPIO1 7 define CYGNUM_HAL_INTERRUPT_PCI_INT 8 define CYGNUM HAL INTERRUPT PCI DMA1 9 define CYGNUM HAL INTERRUPT PCI DMA2 10 define CYGNUM HAL INTERRUPT TIMER1 11 define CYGNUM HAL INTERRUPT USB 12 define CYGNUM HAL INTERRUPT UART2 13 define CYGNUM HAL INTERRUPT TIMESTAMP 14 define CYGNUM HAL INTERRUPT UART1 15 define CYGNUM HAL INTERRUPT WDOG 16 define CYGNUM HAL INTERRUPT AHB PMU 17
71. TE 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 0x00000000 0x08000000 0x10000000 0x18000000 0x18400000 0x18800000 OX000fffff 0x083fffff Ox107fffff 0x180fffff 0x184fffff 0x188fffff Description Boot flash Application flash SA 1101 Board Registers Ct8020 DSP XBusReg SysRegA Chapter 5 Installation and Testing 0x18c00000 0Ox18cfffff SysRegB 0x19000000 Ox193fffff Spare CPLD A 0x19400000 Ox197fffff Spare CPLD B 0x20000000 Ox3fffffff PCMCIA 0x80000000 Oxbfffffff SA1100 Internal Registers 0xc0000000 0OxcO7fffff DRAM Bank O0 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range CB Description 0x00000000 0x007fffff Y Y DRAM Bank 0 0x08000000 0x083fffff Y Y Application flash 0x10000000 Ox100fffff SA 1101 Registers 0x18000000 0x180fffff Ct8020 DSP 0x18400000 0x184fffff XBusReg 0x18800000 0x188fffff SysRegA 0x18c00000 0Ox18cfffff SysRegB 0x19000000 Ox193fffff Spare CPLD A 0x19400000 Ox197fffff Spare CPLD B 0x20000000 Ox3fffffff PCMCIA 0x50000000 Ox500fffff Y Y Boot flash 0x80000000 Oxbfffffff SA1100 Internal Registers 0xc0000000 0OxcO7fffff Y DRAM Bank 0 0xe0000000 Oxe7ffffff Y Y Cache Clean Platform Resource Usage The SA11x0 OS timer is used as a polled timer to provide timeout support for XModem file transfers Rebuilding RedBoot These she
72. These are components CYGPKG_HAL_ARM hal arm arch CYGPKG HAL ARM SAI11X0 hal arm sal 1x0 var CYGPKG_HAL_ARM_SA11X0_NANO hal arm sal 1x0 nano respectively The target name is nano which includes all these plus the ethernet driver packages flash driver and so on Ethernet Driver The ethernet driver is in two parts A generic ether driver for Intel i8255x series devices specifically the 182559 15 devs eth intel i82559 Its package name is CYGPKG_DEVS_ETH_INTEL_182559 The platform specific ether driver is devs eth arm nano Its package is CYGPKG_DEVS_ETH_ARM_NANO This tells the generic driver the address in IO memory of the chip for example and other configuration details This driver picks up the ESA from RedBoot s configuration data unless configured to use a static ESA in the usual manner Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET nano export ARCH_DIR arm export PLATFORM DIR sallx0 nano The names of configuration files are listed above with the description of the associated modes ARM StrongARM SA11X0 Compaq iPAQ PocketPC Overview RedBoot supports the serial port via cradle or cable and Compact Flash ethernet cards if fitted for communi cation and downloads The LCD touchscreen may also be used for the console although by default RedBoot will switch exclusively to one chan
73. _HAL_INTERRUPT_CORELO 4 define CYGNUM_HAL_INTERRUPT_COMPARE 5 define CYGNUM_HAL_INTERRUPT_TIMER 6 define CYGNUM_HAL_INTERRUPT_KEYBOARD 7 define CYGNUM_HAL_INTERRUPT_CASCADE 8 define CYGNUM_HAL_INTERRUPT_TTY1 9 define CYGNUM_HAL_INTERRUPT_TTYO 10 define CYGNUM_HAL_INTERRUPT_11 1 define CYGNUM_HAL_INTERRUPT_FLOPPY 2 define CYGNUM_HAL_INTERRUPT_PARALLEL 3 define CYGNUM_HAL_INTERRUPT_REAL_TIME_CLOCK 4 define CYGNUM_HAL_INTERRUPT_I2C 5 define CYGNUM_HAL_INTERRUPT_PCI_AB 6 define CYGNUM_HAL_INTERRUPT_PCI_CD 7 define CYGNUM_HAL_INTERRUPT_MOUSE 8 define CYGNUM_HAL_INTERRUPT_19 19 define CYGNUM_HAL_INTERRUPT_IDE_PRIMARY 20 define CYGNU HAL INTERRUPT IDE SECONDARY 21 The data passed to the ISR is pulled from a data table hal_interrupt_data which immediately follows the interrupt vector table With 22 interrupts the data table starts at address 0x80000258 185 Chapter 5 Installation and Testing 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 Memory Maps Memory Maps RedBoot sets up the following memory map on the Malta 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 0x80000000 Ox
74. a different boot monitor or flash programming tools The platform specific information in Chapter 5 should be consulted as there may be other special instructions required to build RedBoot for particular platforms Rebuilding RedBoot using ecosconfig To rebuild RedBoot using the ecosconfig tool create a temporary directory for building RedBoot name it according to the desired configuration of RedBoot here RAM S mkdir tmp redboot_RAM S cd tmp redboot_RAM Create the build tree according to the chosen platform here using the Hitachi Solution Engine 7751 board as an example Note It is assumed that the environment variable ECOS_REPOSITORY points to the eCos RedBoot source tree ecosconfig new se7751 redboot CYGPKG_HAL_SH_7750 new inferred value 0 CYGPKG_HAL_SH_7751 new inferred value 1 CYGHWR_HAL_SH_IRO_USE_IROLVL new inferred value 1 CYGSEM_HAL_USE_ROM_MONITOR new inferred value 0 CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM new inferred value 0 CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS new inferred value 1 CYGFUN_LIBC_STRING_BSD_FUNCS new inferred value 0 101 Chapter 3 Rebuilding RedBoot 102 U CYGPKG_NS_DNS_BUILD new inferred value 0 Replace the platform name se7751 with the appropriate name for the chosen platform Then import the appropriate platform RedBoot configuration file here for RAM configuration ecosconfig import ECOS REPOSITORY hal sh se7751 VERSION misc redboot RAM
75. accomplished by prepending lt startup type gt to the commands which should be executed only by the RedBoot configured for the specified startup type The following boot script illustrates this concept by having the ROM based RedBoot load and run the RAM based RedBoot The RAM based RedBoot will then list flash images RedBoot gt fco Run script at boot false t Boot script Enter script terminate with empty line gt gt ROM fis load RedBoot RAM gt gt ROM go gt gt RAM fis li gt gt Boot script timeout 1000ms resolution 2 Use BOOTP for network configuration false 95 Update RedBoot non volatile configuration continue y n y Unlock from 0x007c0000 0x007e0000 Erase from 0x007c0000 0x007e0000 Program from 0xa0015030 0xa0016030 at 0x007df000 Lock from 0x007c0000 0x007e0000 RedBoot gt reset Resetting Ethernet eth0 MAC address 00 80 4d 46 01 05 IP 192 168 1 153 Default server 192 168 1 10 RedBoot tm bootstrap and debug environment ROM Red Hat certified release version Rl xx built 17 37 36 Aug 14 2001 Platform 1080310 XScale Copyright C 2000 2001 Free Software Foundation Inc RAM 0xa0000000 0xa2000000 Oxa001b088 Oxalfdf000 available FLASH 0x00000000 0x00800000 64 blocks of 0x00020000 bytes each Executing boot script in 2 000 seconds enter C to abort RedBoot gt fis load RedBoot RAM RedBoot gt go Ethernet eth0 MAC address 00 80 4d 46 01 05 IP 192 168 1 153 D
76. age of the kernel image and defaults to 0x8c 101000 i lt addr gt Start address of initrd image j size Size of initrd image C args Kernel arguments string m flags Mount rdonly flags If set to a non zero value the root partition will be mounted read only f flags RAM disk flags Should normally be 0x4000 r device number Root device specification dev ram is 0x0101 type Loader type Finally the kernel entry address can be specified as an optional argument The default is 0x8c102000 On the SE7751 Linux expects to be loaded at address 0x8c101000 with the entry point at 0x8c102000 This is configurable in the kernel using the CONFIG MEMORY START option Memory Maps RedBoot sets up the following memory map on the SE7751 board Physical Address Range Description 0x80000000 0x803fffff Flash MBM29LV160 0x81000000 0x813fffff EPROM M27C800 0x8c000000 Ox8fffffff SDRAM 0xb8000000 Oxb8ffffff PCMCIA MaruBun 0xb9000000 Oxb9ffffff Switches 0xba000000 Oxbaffffff LEDs 0xbA000000 Oxbdffffff PCI MEM space 0xbe200000 Oxbe23ffff PCI Ctrl space 0xbe240000 Oxbe27ffff PCI IO space Ethernet Driver The ethernet driver uses a hardwired ESA which can at present only be changed in CDL Chapter 5 Installation and Testing Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Cha
77. 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 Configurable and extensible specifically adapted to the target environment e Network bootstrap support including setup and download via BOOTP DHCP and TFTP e X YModem support for image download via serial Power On Self Test Although RedBoot is derived from eCos it may be used as a generalized system debug and bootstrap con trol software for any embedded s
78. and Hardware Revision Chapter 5 Installation and Testing 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 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET iq80310 export ARCH_DIR arm export PLATFORM_DIR iq80310 The names of configuration files are listed above with the description of the associated modes 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 unsigned vector unsigned data On an 1080310 board the vector argument is one of 49 interrupts defined in hal arm iq80310 current include hal_platform_ints h 80200 CPU xxx define CYGNUM_HAL_INTERRUPT_reserved0 define CYGNUM_HAL_INTERRUPT_PMU_PMNO_OVFL define CYGNUM_HAL_INTERRUPT_PMU_PMN1_OVFL Al Al See Ch 12 Performance Mon Al define CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL Al Al Al PMU counter 0 1 overflow PMU clock overflow See Ch 11 Bus Control Unit external IRQ external FIO define CYGNUM_HAL_INTERRUPT_BCU_INTERRUPT define CYGNUM_HAL_INTERRUPT_NIRQ define CYGNUM_HAL_INTER
79. ase see the board manual for information on Chapter 5 Installation and Testing using this utility In general the process involves programming one of the two flash based RedBoot images to flash The ROM mode RedBoot which runs from the flash boot sector should be programmed to flash address 0x00000000 The ROMA RedBoot mode which is started by the ARM bootloader should be programmed to flash address 0x00004000 To install RedBoot to run from the flash boot sector use the manufacturer s flash utility to install the ROM mode 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 ROMA mode 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 gt fis init About to initialize format flash image system continue y n y xxx 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 com
80. ause the nanoEngine contains immutable boot firmware at the start of flash RedBoot for this target is configured to reserve that area in the Flash Image System and to create by default an entry for the POST mode RedBoot RedBoot gt fis list Name FLASH addr Mem addr Length Entry point reserved 0x50000000 0 50000000 0x00040000 0x00000000 RedBoot post 0x50040000 0x00100000 0 00020000 0 50040040 RedBoot config 0x503E0000 0 503 0000 0x00010000 0 00000000 FIS directory 0x503F0000 0x503F0000 0x00010000 0 00000000 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 Special RedBoot Commands The nanoEngine commEngine has one or two Intel 182559 Ethernet controllers installed but these have no associated serial 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 gt 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
81. be on Connecting to the MDSboard with a terminal and typing enter should result in RedBoot reprinting the command prompt Special RedBoot Commands None Special Note on Serial Channel The MDSChip board uses a relatively slow microcontroller to provide the pseudo register interface to the core board This pseudo register interface provides access to the serial channel and write access to program memory Those interfaces are slow and the serial channel is easily overrun by a fast host For this reason GDB must be told to limit the size of code download packets to avoid serial overrun This is done with the following GDB command gdb set download write size 25 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET calm16 ceb export ARCH DIR calmrisc16 export PLATFORM DIR ceb 171 Chapter 5 Installation and Testing The names of configuration files are listed above with the description of the associated modes CalmRISC CalmRISC32 Samsung CalmRISC32 Core Evaluation Board 172 Overview The Samsung CalmRISC32 evaluation platform consists of two boards connected by a ribbon cable One board contains the CPU core and memory The other board is called the MDSChip board and provides the host interface The calmRISC32 is a harvard architecture with separate 32 bit program and data addresses The instruction
82. boot sector EDB7312 only 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 Special RedBoot Commands None Memory Maps The MMU page tables and LCD display buffer if enabled are located at the end of DRAM 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 123 Chapter 5 Installation and Testing Physical Address Range Description 0x00000000 Ox0O1ffffff NOR Flash EDB7211 EDB7212 0x00000000 OxOOffffff NOR Flash EDB7312 0x10000000 Oxllffffff NAND Flash 0x20000000 Ox2fffffff Expansion 2 0x30000000 Ox3fffffff Expansion 3 0x40000000 OxA4fffffff PCMCIA 0 0x50000000 Ox5fffffff PCMCIA 1 0x60000000 0x600007ff On chip SRAM 0x80000000 Ox8fffffff I O registers 0xc0000000 Oxclffffff DRAM EDB7211 EDB7212 0xc0000000 OxcOffffff DRAM EDB7312 Virtual Address Range CB Description 0x00000000 OxOl1ffffff Y Y DRAM 0x00000000 Ox00fcffff Y Y DRAM EDB7312 0x20000000 Ox2fffffff NN Expansion 2 0x30000000 Ox3fffffff NN Expansion 3 0x40000000 Ox4fffffff N N PCMCIA O 0x50000000 Ox5fffffff N N PCMCIA 1 0x60000000 0x600007ff Y Y On chip SRAM 0x80000000 Ox8fffffff N N I O registers 0xc0000000 OxcOO01ffff N Y
83. ce Chapter 1 Getting Started with RedBoot 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 fconfig command providing that persistent data storage in flash is present in the relevant RedBoot version See the Section called Configuring the RedBoot Environment for details 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 the board is reset or the channel is manually changed by the user If the platform has networking capabilities the RedBoot CLI 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 anywhere on a comma
84. col over a slow serial connection However the terminal emulator may report that the transfer is incomplete and has been cancelled Such messages are normal and may be ignored load Examples Download a Motorola S record or ELF image using TFTP specifying the base memory address RedBoot gt load redboot ROM b 0x8c400000 Address offset 0x0c400000 Entry point 0x80000000 address range 0x80000000 0x8000fe80 Download a Motorola S record or ELF image using HTTP specifying the host server address RedBoot gt load redboot ROM m HTTP h 192 168 1 104 Address offset 0x0c400000 Entry point 0x80000000 address range 0x80000000 0x8000fe80 Load an ELF file from dev hdal which should be an EXT partition RedBoot gt load mode disk hdal hello elf Entry point 0x00020000 address range 0x00020000 0x0002fd70 Load an ELF file from jffs2 applications which should be a directory in a JFFS2 filesystem RedBoot gt load mode file jffs2 applications hello elf Entry point 0x00020000 address range 0x00020000 0x0002fd70 39 load 40 mcmp Name mcmp Compare two segments of memory Synopsis mcmp s location1 d locationi 4 length 11 21 4 Arguments Name Type Description Default S locationl Memory address Location for start of data none d location2 Memory address Location for start of data none length Number Length of data none 1 Access one byte
85. configuration of RedBoot being used it may be necessary to issue the command again though Note Subsequent executions will cause loss of previously stored information in the FIS Examples Initialize the FIS directory RedBoot gt fis init About to initialize format flash image system continue y n y Initialize FLASH Image System 53 fis init Warning device contents not erased some blocks may not be usable Erase from 0x00070000 0x00080000 Program from 0x0606 000 0x0607 000 at 0x00070000 Initialize the FIS directory and all of flash memory except for first blocks of the flash where the boot monitor resides RedBoot gt fis init f About to initialize format flash image system continue y n y xxx Initialize FLASH Image System Erase from 0x00020000 0x00070000 Erase from 0x00080000 0x00080000 Erase from 0x00070000 0x00080000 Program from 0x0606 000 0x0607 000 at 0x00070000 54 fis list Name fis list List Flash Image System directory Synopsis fis list c a Arguments Name Type Description Default C Show image checksum instead of memory address column Mem addr is replaced by Checksum Show image data length instead of amount of flash occupied by image column Length is replaced by Datalen Description This command lists the images currently available in the FIS Certain images used by RedBoot have fixed name
86. contents it is considered in use 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 FIS directory 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 Examples Show free flash areas RedBoot gt fis free 0xA0040000 0xA07C0000 0xA0840000 OxAOFCOOO00 57 fis free 58 fis create Name fis create Create flash image Synopsis fis create b data address 1 length f flash address e entry r relocation address S data length n name Arguments Name Type Description Default b Number Address of data to be Address of last loaded written to the flash file If not set in a load operation it must be specified l Number Length of flash area to Length of area reserved occupy If specified and in FIS directory if the the named image already image already exists or exists the length must the length of the last match the value in the loaded file If neither are FIS directory set it must be specified f Number Address of flash area to The address of an area occopy reserved in the FIS directory for extant images Otherwise the first free block which is large enough will be used e Number Entry add
87. cution fis load command Description The go command causes RedBoot to give control of the target platform to another program This program must execute stand alone e g an eCos application or a Linux kernel If the w option is used RedBoot will print a message and then wait for a period of time before starting the execution This is most useful in a script giving the user a chance to abort executing a program and move on in the script Examples Execute a program no explicit output from RedBoot RedBoot gt go 0x40040 Execute a program with a timeout RedBoot gt go w 10 About to start execution at 0x00000000 abort with within 10 seconds NE RedBoot gt 97 80 98 Note that the starting address was implied 0x00000000 in this example The user is prompted that execution will commence in 10 seconds At anytime within that 10 seconds the user may type Ctrl C on the console and RedBoot will abort execution and return for the next command either from a script or the console exec Name exec Execute a Linux kernel Synopsis exec w timeout r ramdisk_address 5 ramdisk_length b load_address 1 1oad length c kernel_command_line entry point Arguments Name Type Description Default W timeout Number Time to wait before 0 starting execution T ramdisk_address Number Address in memory of None initrd style ramdisk passed to Linux kernel S ramdisk_
88. cy set by Aux Ctl Register 111 Cached Buffered Write Back Read Write Allocate Virtual Address Physical Address XCB Size MB Description 0x00000000 0x00000000 010 256 SDRAM cached 164 Chapter 5 Installation and Testing 0x10000000 0x10000000 010 256 SDRAM alias 0x20000000 0x00000000 000 256 SDRAM uncached 0x48000000 0x48000000 000 64 PCI Data 0x50000000 0x50000000 010 16 Flash CSO 0x51000000 0x51000000 000 14 2 CS1 CS7 0x60000000 0x60000000 000 64 Queue Manager 0xC0000000 0xC0000000 000 1 PCI Controller 0xC4000000 0xC4000000 000 Exp Bus Config 0xC8000000 0xC8000000 000 1 Misc IXP425 IO 0xCC000000 0xCC000000 000 1 SDRAM Config Platform Resource Usage The IXP425 programmable OStimer0 is used for timeout support for networking and XModem file transfers ARM Intel XScale Generic Residential Gateway Overview RedBoot supports the console UART and a PCI based 182559 ethernet card for communication and downloads The default serial port settings are 115200 8 N 1 RedBoot also supports flash management for the 16MB onboard flash The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot ROM ecm flash sector RAM RAM RedBoot running from redboot RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The GRG flash is socketed so initial installation may be done using an appropriate device pr
89. d In repeats command n string repeats most recent command starting with string RedBoot Startup Mode RedBoot can normally be configured to run in a number of startup modes or just modes for short deter mining its location of residence and execution ROM mode In this mode RedBoot both resides and executes from ROM memory flash or EPROM This mode is used when there are limited RAM resources The flash commands cannot update the region of flash where the RedBoot image resides In order to update the RedBoot image in flash it is necessary to run a RAM mode instance of RedBoot Chapter 1 Getting Started with RedBoot ROMRAM mode In this mode RedBoot resides in ROM memory flash or EPROM but is copied to RAM memory before it starts executing The RAM footprint is larger than for ROM mode but there are two advantages to make up for this it normally runs faster relevant only on slower boards and it is able to update the flash region where the image resides RAM mode In this mode RedBoot both resides and executes from RAM memory This is used for updating a primary ROM mode image in situ and sometimes as part of the RedBoot installation on the board when there s already an existing non RedBoot boot monitor available You can only use ROM and ROMRAM mode images for booting a board a RAM mode image cannot run unless loaded by another ROM monitor There is no need for this startup mode if a RedBoot ROM RAM mode ima
90. dBoot according to the procedure described in Chapter 3 export export export export TARGET atlas_mips32_4kc TARGET atlas_mips64_5kc ARCH_DIR mips PLATFORM_DIR atlas Use one of the TARGET settings only The names of configuration files are listed above with the description of the associated modes MIPS MIPS32 CoreLV 4Kc MIPS64 CoreLV 5Kc Malta Board Overview RedBoot supports both front facing serial ports 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector 183 Chapter 5 Installation and Testing 184 Initial Installation RedBoot is installed using the code download facility built into the Malta board See the Malta User manual for details and also the Malta download format in the Section called Malta download format Quick download instructions Here are quick start instructions for downloading the prebuilt RedBoot image Locate the prebuilt files in the bin directory de1etea11 f1 and redboot_ROM fl 2 Make sure switch S5 1 is ON Reset the board and verify that the LED
91. dBoot via the RAM mode RedBoot 109 Additional Commands TEE sens etn sette sen n sete nennen 110 Memory Maps metr repe eet RE Sr ettet e e dei Te fees 110 Rebuilding Red Boot eI Br BE ee Ree eee Ee 111 ARM ARMT ARM Eval atot7T at re een to e eec ple tege 111 OVA D AR prr E dete 111 Initial Install see Biometrie mete e tern 112 Quick download instructions issue 112 Special RedBoot COMMANDOS aceites 112 Memory M ps eee nern s 112 Rebuilding R dBoot e eee rn ungen E Use EU 113 ARM ARM7 ARM9 ARM Integrator inner 113 OVEIVIEWE RE 113 Initial Installation ueber le Pre rra Ee rene ere ee a been ere bs 114 Quick download instructions issu 114 Special RedBoot Commands ss 114 vi Memory Maps niet mena nn Mn RER NUR 115 Rebuilding RedBo6t id ta 115 ARM ARM7 ARM9 ARM PID Board and EPI Dev7 Dev9 116 OVerVIEW xi ertet erepti cud eed ia ii 116 Initial Installation Method ss 116 Special Red Boot COMMANDOS pe e net secs se A eite ete rry 116 Memory Maps unse pa 116 Rebuilding RedBOOt e err P TIRE ER ate press 117 ARM ARM7 Atmel AT91 Evaluation Boards ener enne 117 OVERVIEW iie teelte SEEE poen UE CR Deep 117 Initial Installation Method ss 117 Installing RedBoot on th
92. define CYGNUM HAL INTERRUPT XSCALE PMU 18 define CYGNUM HAL INTERRUPT GPIO2 19 define CYGNUM HAL INTERRUPT GPIO3 20 define CYGNUM HAL INTERRUPT_GPIO4 21 define CYGNUM HAL INTERRUPT GPIO5 22 define CYGNUM HAL INTERRUPT GPIO6 23 define CYGNUM HAL INTERRUPT GPIO7 24 define CYGNUM HAL INTERRUPT GPIO8 25 define CYGNUM HAL INTERRUPT GPIO9 26 define CYGNUM HAL INTERRUPT GPIO10 27 define CYGNUM_HAL_INTERRUPT_GPIO11 28 define CYGNUM_HAL_INTERRUPT_GPIO12 29 define CYGNUM_HAL_INTERRUPT_SW_INT1 30 define CYGNUM_HAL_INTERRUPT_SW_INT2 31 The data passed to the ISR is pulled from a data table hal_interrupt_data which immediately follows the interrupt vector table With 32 interrupts the data table starts at address 0x8084 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 Memory Maps The RAM based page table is located at RAM start 0x4000 NOTE The virtual memory maps in this section use a C B and X column to indicate the caching policy for the region Description 000 Uncached Unbuffered 0 0 1 Uncached Buffered 0 10 Cached Buffered Write Through Read Allocate 0 1 1 Cached Buffered Write Back Read Allocate 100 Invalid not used 101 Uncached Buffered No write buffer coalescing 110 Mini DCache Poli
93. des erento eee nte eget e 155 Special RedBoot Commands ss 157 Memory Tesls neget te o ERROR UROHE DE RI ee 157 Repeating Memory Tests ss 158 Repeat On Fail Memory Tests seen 158 Rotary S witch ST TEST nent tit 158 AP Segment LED A HH RUP ERREUR 158 182544 Ethernet Configuration ss 158 Battery Status Test eins ii a 158 Battery Backup SDRAM Memory Test 159 Timer tii eere meret eme eds 159 PCI BUS Test Be ben ee sitet 159 CPU Cache Lo0p 5 oce ge UTOR DEO mienne 159 Rebuilding RedBoot nahe eU be he nee Eon 159 Interr pts nn es m uo RUOTE das 159 Memory Maps eie eec edet er il an 160 Platform Resource Usage 3 2 ree ote ete e dette ri eiae 161 ARM Intel XScale IXDP425 Network Processor Evaluation Board 162 VEL VIEW een EPIO UR An RON 162 Initial Installation Method ss 162 LED COdeS tese OR eO D epp ie 162 Rebuilds eene en nue nie RD UU ME 163 Interrupts 2 o pere eem uoo epi pet pp KH Dee epa gres 163 Memory Maps ins ern a e S E E E E EE E E R E E ERA 164 Platform Resource Usage vreco s eeen eea eE Er RS e raa aE EAER TEIE N ero e EESE 165 ARM Intel XScale Generic Residential ss 165 OVELVIEW ea Rae Sait et eai em erunt ia Er eat 165 Initial Installation Method biie 165 Rebuilding RedBoot sosie 165 Hime A EEE EEE belt E E
94. display reads Flash DL 3 Make sure your parallel port is connected to the 1284 port Of the Atlas board 4 Send the deleteall fl file to the parallel port to erase previous images S cat deleteall fl gt dev 1p0 When this is complete the LED display should read Deleted Send the RedBoot image to the board 5 cat redboot_ROM fl gt dev 1p0 When this is complete the LED display should show the last address programmed This will be something like 1fc17000 Change switch S5 1 to OFF and reset the board The LED display should read RedBoot M Run the RedBoot fis init and fconfig commands to initialize the flash See the Section called Flash Image System FIS in Chapter 2 and the Section called Persistent State Flash based Configuration and Control in Chapter 2 for details Malta download format In order to download RedBoot to the Malta board it must be converted to the Malta download format The Atlas Malta Developer s Kit CD contains an srecconv pl utility which requires Perl This utility 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_ROM fl Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this architectur
95. done using Ctrl Z or terminated with Ctrl C or the Windows task manager Follow this by connecting to the board using a terminal emulator such as hyperterminal or minicom at 38400 8N1 At this point RedBoot will be running on the board in RAM RedBoot gt version RedBoot tm bootstrap and debug environment RAM Non certified release version UNKNOWN built 16 58 52 May 7 2003 Platform Atmel AT91 EB55 ARM7TDMI Copyright C 2000 2001 2002 Free Software Foundation Inc RAM 0x02000000 0x02040000 0x020068a8 0x0203 000 available FLASH 0x01010000 0x01200000 31 blocks of 0x00010000 bytes each RedBoot gt Now download the ROM mode image RedBoot gt load m ymodem b FREEMEMLO Use your terminal emulator to send the file redboot_ROM srec via YModem e g Transfer gt Send File in Hyperterminal or Ctr1 A sin minicom Finally program it to flash RedBoot gt fi wr f 0x01100000 b FREEMEMLO 1 0x10000 Set JP1 to the USER setting press the reset pushbutton and RedBoot should come up on the board 119 Chapter 5 Installation and Testing 120 Special RedBoot Commands None Memory Maps This processor has no MMU so the only memory map is for physical addresses The memory layout of the EB40 is as follows Physical Address Range Description 0x00000000 0x00000fff On chip SRAM 0x01000000 OxO101ffff Flash 0x02000000 0x0207ffff RAM Oxffe00000 Oxffffffff I O registers The flash based RedBo
96. e see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for MIPS boards are b lt addr gt Location to store command line and environment passed to kernel Chapter 5 Installation and Testing W lt time gt Wait time in seconds before starting kernel C params Parameters passed to kernel 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 call with prototype void Linux int argc char argv char xxenvp 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 Interrupts RedBoot uses an interrupt vector table which is located at address 0x80000200 Entries in this table are pointers to functions with this protoype int irq handler unsigned vector unsigned data On the malta board the vector argument is one of 22 interrupts defined in hal mips malta VERSION include plf intr h define CYGNUM HAL INTERRUPT SOUTH BRIDGE INTR 0 define CYGNUM HAL INTERRUPT SOUTH BRIDGE SMI 1 define CYGNUM_HAL_INTERRUPT_CBUS_UART 2 define CYGNUM_HAL_INTERRUPT_COREHI 3 define CYGNUM
97. e SDRAM SDRAM used for PCI window MB86943 PCI bridge SRAM Motherboard resources PCI I O space PCI Memory space Unused I O devices IC7 RedBoot FLASH IC8 unused FLASH Misc other I O via plugin DIMM NOTE The only configuration currently suppored requires a 64MiB SDRAM DIMM to be present on the CPU card No other memory configuration is supported at this time Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET mb93091 export ARCH_DIR frv export PLATFORM_DIR mb93091 The names of configuration files are listed above with the description of the associated modes Resource Usage The RedBoot image occupies flash addresses OxFF000000 OxFFO3FFFF To execute it copies itself out of there to RAM at 0x03E00000 RedBoot reserves memory from 0x00000000 to 0 0001 for its own use User programs can use memory from 0x00020000 to OxO3DFFFFF RAM based RedBoot configurations are designed to run from RAM at 0x00020000 Fujitsu FR V Portable Demonstration Kit MB93093 PD00 Overview RedBoot supports the serial port which is available via a special cable connected to the CON_UART connector on the board The default serial port settings are 115200 8 N 1 The serial port supports baud rates up to 460800 which can be set using the baud command as described in Chapter 2 176 Chapter 5 In
98. e 38400 8 N 1 FLASH management is also supported but only for the FLASH device in IC7 This arrangement allows for IC8 to retain either the original Fujitsu board firmware or some application specific contents The following RedBoot configurations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector 173 Chapter 5 Installation and Testing 174 Configuration Mode Description File RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method RedBoot can be installed by directly programming the FLASH device in IC7 or by using the Fujitsu pro vided software to download and install a version into the FLASH device Complete instructions are provided separately Special RedBoot Commands None Memory Maps The memory map of this platform is fixed by the hardware cannot be changed by software The only attributes which can be modified are control over cacheability as noted below Address Cache Resource 00000000 03EFFFFF Yes SDRAM via plugin DIMM 03F00000 03FFFFFF o SDRAM used for PCI window 10000000 1FFFFFFF o MB86943 PCI bridge 20000000 201FFFFF o SRAM 21000000 23FFFFFF Motherboard resources 24000000 25FFFFFF o PCI I O space 26000000 2FFFFFFF PCI Memory space 30000000 FDFFFFFF 2 Unused FE00000
99. e Configuration Tool as well as from the command line using ecosconfig Building RedBoot requires only a few steps selecting the platform and the RedBoot template importing a platform specific configuration file and finally starting the build The platform specific configuration file makes sure the settings are correct for building RedBoot on the given platform Each platform should provide at least two of these configuration files redboot_RAM ecm for a RAM mode RedBoot configuration and redboot_ROM ecm or redboot_ROMRAM ecm for a ROM or ROMRAM mode RedBoot configuration There may be additional configuration files according to the requirements of the par ticular platform The RedBoot build process results in a number of files in the install bin directory The ELF file redboot el is the pricipal result Depending on the platform CDL there will also be generated versions of RedBoot in other file formats such as redboot bin binary format good when doing an update of a primary RedBoot image see the Section called Update the primary RedBoot flash image in Chapter 4 redboot srec Motorola S record format good when downloading a RAM mode image for execution and redboot img stripped ELF format good when downloading a RAM mode image for execution smaller than the srec file Some platforms may provide additional file formats and also relocate some of these files to a particular address making them more suitable for downloading using
100. e EB40 ss 118 Installing RedBoot on the EB40A EB42 or EB55 119 Special RedBoot Commands siirsi sireisas sera 120 Memory Maps ie e Roe ete rti e ate BI noeh 120 Rebuilding RedBoot 1 iterat OP RR eei detti ee 120 ARM ARM7 Atmel JTST Evaluation Board AT572D740 DK1 sese 121 OVervVIEW oU CD o sabes nie T 121 Installing a RedBoot image on the JTST se 121 GDB console eode dte PUIOO ER PER PED HORE 122 PC console eee dia 122 Special RedBoot Commands ses non cnc ase scnvasssedecsoebessesbebvsesscunesgeedcesscivedeosess 122 Memory JE CC 122 ARM ARMT Cirrus Logic EP7xxx EDB7211 EDB7212 7312 esee 123 OVERVIEW tee E a aid 123 Initi l Installation AAA tette Vki ni else 123 Special RedBoot Commands ss 123 Memory Maps nnde Ge SR Ra Bir kann 123 Platform Resource Usage eee ee elite Cer ee asus 124 Rebuilding RedBo0t gi idos 124 ARM ARM9 Agilent AAED2000 nne nennen 124 OVELVIEW oae o OU TO RR ne mn tn oe pa de 125 Initial Installation Method ss 125 RedBoot as Primary Bootmonitor ss 125 Special RedBoot Commands ss 126 Memory re THES 127 Rebuilding RedBo te Terns ii de etg dire tdem yos 128 ARM ARM O Altera Excalibur
101. ecm ecosconfig tree Replace architecture sh platform se7751 and version VERSION with those appropriate for the chosen platform and the version number of its HAL package Also replace the configuration name redboot_RAM ecm with that of the appropriate configuration file RedBoot can now be built make The resulting RedBoot files will be in the associated install directory in this example install bin In Chapter 5 each platform s details are described in the form of shell variables Using those the steps to build RedBoot are export REDBOOT CFG redboot ROM export VERSION VERSION mkdir tmp REDBOOT_CFG cd tmp REDBOOT_CFG ecosconfig new TARGET redboot ecosconfig import ECOS_REPOSITORY hal ARCH_DIR PLATFORM_DIR VERSION misc REDBOOT_CFG ecosconfig tree make To build for another configuration simply change the REDB00T_cr definition accordingly Also make sure the VERSION variable matches the version of the platform package Rebuilding RedBoot from the Configuration Tool To rebuild RedBoot from the Configuration Tool open the template window Build gt Templates and select the appropriate Hardware target and in Packages select redboot Then press OK Depending on the platform a number of conflicts may need to be resolved before the build can be started select Continue Import the desired RedBoot configuration file from the platform HAL File gt Import Depending on the
102. ed Byte address bar test passed Memory test done Repeating Memory Tests The repeating memory tests are exactly the same as the above memory tests except that the tests are automat ically rerun after completion The only way out of this test is to reset the board Repeat On Fail Memory Tests This is similar to the repeating memory tests except that when an error is found the failing test continuously retries on the failing address Rotary Switch S1 Test This tests the operation of the sixteen position rotary switch When run this test will display the current position of the rotary switch on the LED display Slowly dial through each position and confirm reading on LED 7 Segment LED Tests This tests the operation of the seven segment displays When run each LED cycles through 0 through F and a decimal point i82544 Ethernet Configuration This test initializes the ethernet controller s serial EEPROM if the current contents are invalid In any case this test will also allow the user to enter a six byte ethernet MAC address into the serial EEPROM Enter the menu item number 0 to quit 6 Current MAC address 00 80 4d 46 00 02 Enter desired MAC address 00 80 4d 46 00 01 Writing to the Serial EEPROM Done Reset The Board To Have Changes Take Effect xxxxx xxx Battery Status Test This tests the current status of the battery First the test checks to see if the battery is installed and reports that findi
103. edBoot sets up the following memory map on the PID board Physical Address Range Description 0x00000000 0x0007ffff DRAM Chapter 5 Installation and Testing 0x04000000 0x04080000 flash 0x08000000 Ox09ffffff ASB Expansion 0x0a000000 OxObffffff APB Reference Peripheral 0x0c000000 OxOfffffff NISA Serial Parallel and PC Card ports Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET pid export ARCH_DIR arm export PLATFORM_DIR pid The names of configuration files are listed above with the description of the associated modes ARM ARM7 Atmel AT91 Evaluation Boards EBXX Overview RedBoot support is available for the EB40 EB40A EB42 and EB55 boards By default all these boards are shipped with only 256Kbytes of RAM To minimize the amount of RAM used by RedBoot only very basic flash management is provided comprising of just the fis erase and fis write commands RedBoot supports both serial ports On all AT91 evaluation boards serial port A requires a straight through cable to connect with a PC whereas serial port B requires a null modem cable If you fail to be able to connect to Angel in the instructions below when installing RedBoot be sure to verify you are using the appropriate cable for the serial port The default serial port settings for RedBoot are 38400 8 N 1 The following RedBoot con
104. eed ERE hd ee oat et 81 O E 83 da AA tus teach ee Le 85 ES MOVE c coat a EA ten ten EIE PU TERRE ERE ERR 87 ES VASE cscs Secs EC 89 ES WHMCS eripere EORR RED REB EE ET RE tt NUS 91 Persistent State Flash based Configuration and Control ss 93 Executing Programs from RedBoot ses 96 BO nes oe PV rte XE tn nn nt FREU UR meet NON 96 Dc ERE 99 3 Rebuilding RedBoot oiii seinen il sare neis 101 Introduction NN UTN 101 Rebuilding RedBoot using ecosconfig ss 101 Rebuilding RedBoot from the Configuration Tool 102 4 Updating RedBo0t ssssssessessssssesinesusssussssssensotsssnneninsseissustsesndnsnerssenentnnshinbensshen ehnetssensehssssiessatnssshehnsinsentehen 103 Introduction Ritter rS SERERE E RE E N senate eee 103 Load and start a RedBoot RAM instance seen 103 Update the primary RedBoot flash image entree 104 Reboot run the new RedBoot image ss 105 5 Installation and Testing csscscsssssscsccssscsscscsccsccssssscescsssceseesesssscsecssessessessseeseesscssecssssssssesssessessscsseeses 107 AM3x MN103E010 Matsushita MN103E010 AM33 2 0 ASB2305 107 OVERVIEW eon ARRIERE mn BSL E Lae Nr ne ne 107 Initial nstallat oien TAN 107 Preparing to program the board ss 107 Preparing to use the JTAG debugger ss 108 Loading the RAM based RedBoot via JTAG ss 108 Loading the boot PROM based Re
105. efault server 192 168 1 10 RedBoot tm bootstrap and debug environment RAM Red Hat certified release version R1 xx built 13 03 47 Aug 14 2001 Platform IO80310 XScale Copyright C 2000 2001 Free Software Foundation Inc RAM 0xa0000000 0xa2000000 Oxa0057fe8 Oxalfdf000 available FLASH 0x00000000 0x00800000 64 blocks of 0x00020000 bytes each Executing boot script in 2 000 seconds enter C to abort RedBoot gt fis li Name FLASH addr Mem addr Length Entry point RedBoot 0x00000000 0x00000000 0x00040000 0x00002000 RedBoot config 0x007DF000 0x007DF000 0 00001000 0 00000000 FIS directory 0x007E0000 0x007E0000 0 00020000 0x00000000 RedBoot gt 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 NOTE 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 96 go go Name go Execute a program Synopsis go w timeout c n start address Arguments Name Type Description Default W timeout Number How long to wait before 0 starting execution C Boolean Go with caches enabled caches off n Boolean Go with network network enabled interface stopped start_address Number Address in memory to Value set by last load or begin exe
106. es are listed above with the description of the associated modes Interrupts RedBoot uses an interrupt vector table which is located at address 0x8004 Entries in this table are pointers to functions with this protoype int irq_handler unsigned vector unsigned data 159 Chapter 5 Installation and Testing 160 On an define fine fine fine fine fine fine fine fine fine fine fine fine fine Ch Ch 05 0 0 02 DO Qu 1 0 Qv A fine fine Q fine fine fine fine fine fine fine fine fine Q0 Ch OF 0 0 Qv Q 0 0 fine fine fine on 00 D D 00 000 070000000 D D D MD D D D MD MD D MD MD 0 fine fine Q 1Q80321 CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN CYGN xxx 80200 CP prt ea e ca a Ua PE rc ae a er Ra cu argo a ds ec a board KKK L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT L INT TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR TERR the vector PT_DMAO_EOT PT_DM
107. es such as www redhat com if DNS support is enabled The b option is used to cause the target to perform a bootp or dhcp negotiation to get an IP address The 1 option is used to set the IP address used by the target device The network mask length can also be specified The n option is used to set the default server address such as is used by the load command The a option is used to set the default DNS server address which is used for resolving symbolic network addresses Note that an address of 0 0 0 0 will disable DNS lookups 35 ip_address 36 Examples Display the current network settings RedBoot gt ip_address IP 192 168 1 31 Default server 192 168 1 101 DNS server IP Change the DNS server address RedBoot gt ip_address d 192 168 1 101 IP 192 168 1 31 Default server 192 168 1 101 DNS server IP Change the DNS domain name RedBoot gt ip_address D example com IP 192 168 1 31 Default server 192 168 1 101 DNS server IP Change the default server address RedBoot gt ip_address h 192 168 1 104 IP 192 168 1 31 Default server 192 168 1 104 DNS server IP Set the IP address to something new with a 255 255 255 0 netmask RedBoot gt ip_address 1 192 168 1 32 24 IP 192 168 1 32 Default server 192 168 1 104 DNS server IP 0 0 0 0 DNS domain name 192168 61104 192 168 1 101 192 168 1 101 192 168 1 101 DNS domain name DNS domain name DNS domain na
108. et 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 provid ing that there is a Linux box connected to the network which is able to route to the TFTP server For ex ample proc sys net ipv4 conf lt interface gt proxy_arp Where lt interface gt should be replaced with whichever network interface is directly connected to the board Chapter 1 Getting Started with RedBoot 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 Once communication has been established try to ping a host using the RedBoot ping command both by IP address and hostname Try using the RedBoot load command to download a file from a host 10 Chapter 2 RedBoot Commands and Examples 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 enhanced sets of commands available The basic format for commands is RedBoot COMMAND s val operand Com
109. etails and also the Atlas download format in the Section called Atlas download format Quick download instructions Here are quick start instructions for downloading the prebuilt RedBoot image gt M Locate the prebuilt files in the bin directory de1etea11 d1 and redboot d1 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 Make sure your parallel port is connected to the 1284 port Of the Atlas board Send the deleteall di 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 Send the ROM mode 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 Change switch S5 1 to OFF and reset the board The LED display should read ReaBoot Run the RedBoot fis init and fconfig commands to initialize the flash See the Section called Additional config options the Section called Flash Image System FIS in Chapter 2 and the Section called Persistent State Flash based Configuration and Control in Chapter 2 for details Chapter 5 Installation and Testing Atlas download format In order to download RedBoot to the Atlas board it must be converted to the Atlas download format There are different ways of doing this depending on
110. etects or unless escaped via V 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 NOTE Multiple commands may be entered on a single line separated by the semi colon character The standard RedBoot command set is structured around the bootstrap environment These commands 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 Common Commands alias Name alias Manipulate command line aliases Synopsis alias name value Arguments Name Type Description Default name Name The name for this alias none value String Replacement value for none the alias Description 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 in a script the corresponding value will be substituted Aliases may be nested If no value is provided then the current value of the alias is displayed
111. 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 gt 139 Chapter 5 Installation and Testing 140 You should set them before running RedBoot or eCos applications with the board connected to a network The fconfig command can be used as for any configuration data item the entire ESA is entered in one line 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 0xOO3fffff 4Mb FLASH nCS0 0x18000000 Oxl8ffffff Internal PCI bus 2 x 182559 ethernet 0x40000000 Ox4Afffffff External IO or PCI bus 0x80000000 Oxbfffffff SA 1110 Internal Registers 0xc0000000 xcTTIftfff DRAM Bank 0 32Mb SDRAM 0xc8000000 Oxcfffffff DRAM Bank 1 empty 0xe0000000 Oxe7ffffff Cache Clean Virtual Address Range CB Description 0x00000000 Ox001fffff Y Y DRAM 8Mb to 32Mb 0x18000000 Ox180fffff NN Internal PCI bus 2 x i82559 ethernet 0x40000000 Ox4fffffff NN External IO or PCI bus 0x50000000 Ox51ffffff Y Y Up to 32Mb FLASH nCS0 0x80000000 Oxbfffffff NN SA 1110 Internal Registers 0xc0000000 OxcOffffff N Y DRAM Bank 0 8 or 16Mb 0xc8000000 Oxc8ffffff N Y DRAM Bank 1 8 or 16Mb
112. 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 Table of Contents 1 Getting Started With Red Boot eseeeneenenseeesenenneneneneensesssenensenesesesses 1 More information about RedBoot on the web ins 1 Installing RedBoot ace eee esa Ran ep E ns n pter 1 User Interface nein ae names ee eee 2 RedBoot Editing Commands sise 2 RedBoot Command History een ee tte e neta 3 RedBoot Startup Mod ne niran eee e Peer e ir mais ph 3 RedBoot Resource Usage eee Ut HR is e Vad tede 4 Flas RE OI OE S DR RINT 4 RAAM ReSOUFCSS eid dt dee tes e dde 5 Configuring the RedBoot Environment enne nennen tenerent ennt nennen 5 Target Network Confort 6 Host Network Configuration sise 6 Enable TFTP on Red Hat Linux 6 2 7 Enable TFTP on Red Hat Linux 7 or newer ss 7 Enable BOOTP DHCP server on Red Hat Linux eese eene y Enable DNS server on Red Hat Linux 8 RedBoot network gateway sind nest te iere 9 Verification MH 10 2 RedBoot Commands and Examples sccsccsccscsssssssssssccsscsscscscsscssescsscscssscescssssscssecsesssssessssessesseesseeee 11 IntroductiOTE siu nece at cce coe seach Caden ER ous Or REIR ie Ades aol ER A REN ees 11 Common Commands 4 5 f enini RUBRO 13 TAS PRI 13 A e M I I 15 Cacliga cete tei ate eia aq oe ete
113. fff SDRAM 0x10000000 OxlOffffff PCI I O space 0x12000000 Oxl3ffffff PCI Memory space 0x14000000 0x1400ffff Galileo system controller 0x1c000000 0x1c0000ff PLD board logic 0x1fc00000 Oxlfc7ffff flash Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET ocelot export ARCH DIR mips export PLATFORM DIR rm7000 ocelot The names of configuration files are listed above with the description of the associated modes MIPS VR4375 NEC DDB VRC4375 188 Overview RedBoot supports only serial port 1 which is connected to the upper of the stacked serial connectors on the board The default serial port settings are 38400 8 N 1 FLASH management is also supported The following RedBoot configurations are supported Mode ROMRAM Description File redboot ROMRAM ecm Configuration ROMRAM RedBoot running from RAM but contained in the board s flash boot sector RAM RAM redboot RAM ecm RedBoot running from RAM with RedBoot in the flash boot sector Initial Installation Method A device programmer should be used to program a socketed FLASH part AMD 29F040 The board as de livered is configured for a 512K EPROM To install a FLASH ROM Jumpers J30 J31 and J36 need to be changed as described in the board s User Manual Chapter 5 Installation and Testing Special RedBoo
114. figurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector 117 Chapter 5 Installation and Testing 118 Initial Installation Method RedBoot installation is essentially the same for all boards however the details differ slightly Please make sure you follow the directions from the correct section below Any errors could result in an unusable board Installing RedBoot on the EB40 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 to select which monitor to boot Once RedBoot is installed selecting SW1 to Lower mem will choose Angel whereas selecting SWI to upper mem will choose RedBoot Set SW to lower mem and connect serial port A to a host computer Using GDB from the host and Angel on the board download and run the RAM mode image of RedBoot to the board 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 Seria
115. file on the host Loading SREC or ELF versions of the image does not guarantee this since these formats may contain holes leaving bytes in these holes in an unknown state after the load and thus causing a likely cksum difference It is possible to use these but then the step verifying the cksum below may fail Chapter 4 Updating RedBoot Once the image is loaded into RAM it should be checksummed thus verifying that the image on the target is indeed the image intended to be loaded and that no corruption of the image has happened This is done using the cksum command RedBoot gt cksum Computing cksum for area 0x06046800 0x06062fe8 POSIX cksum 2535322412 116712 0x971df32c 0x0001c7e8 Compare the numbers with those for the binary version of the image on the host If they do not match try downloading the image again Assuming the cksum matches the next step is programming the image 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 locking simply ignore the fis unlock and fis lock steps the commands will not be recognized by RedBoot RedBoot gt fis unlock RedBoot Unlock from 0x00000000 0x00020000 RedBoot gt fis create RedBoot An image named RedBoot exists continue y n y x CAUTION about to program RedBoot at 0x00000000 0x0001c7e7 from 0x06046800 continue y n y Erase from 0x00000000 0x00020000
116. flash Address offset 0x00ff8000 Entry point 0x00008040 address range 0x00008000 0x0002da80 RedBoot gt fi cr RedBoot An image named RedBoot exists continue y n y x CAUTION about to program RedBoot at 0x60000000 0x6003ffff from 0x00100000 continue y n y Erase from 0x60000000 0x60040000 Program from 0x00100000 0x00140000 at 0x60000000 Erase from 0x61fe0000 0x62000000 Program from Ox01f5f000 0x01f7f000 at 0x61fe0000 Now reset the board You should see the RedBoot banner Special RedBoot Commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the AAED2000 are Chapter 5 Installation and Testing b lt addr gt Location Linux kernel was loaded to ien Length of kernel C params Parameters passed to kernel r addr initrd ramdisk location S lt len gt Length of initrd ramdisk The parameters for kernel image base and size are automatically set after a load operation So one way of starting the kernel would be RedBoot gt load r b 0x100000 zImage Raw file loaded 0x00100000 0x001a3d6c RedBoot gt exec c console ttyAC0 38400 Using base address 0x00100000 and length 0x000a3d6c Uncompressing Linux An image could also be put in flash and started directly RedBoot gt exec b 0x60040000 1 0xc0000 c
117. ge is the primary boot monitor When this startup mode is programmed into flash as a convenience as it s fast to load from flash it will generally be named as RedBoot RAM in the FIS directory The chosen mode has influence on flash and RAM resource usage see the Section called RedBoot Resource Usage and the procedure of an in situ update of RedBoot in flash see Chapter 4 The startup mode is controlled by the option CYG_HAL_STARTUP which resides in the platform HAL Some platforms provide only some of the RAM ROM and ROMRAM modes others provide additional modes To see mode of a currently executing RedBoot issue the version command which prints the RedBoot banner including the startup mode here ROM RedBoot gt version RedBoot tm bootstrap and debug environment ROM Non certified release version UNKNOWN built 13 31 57 May 17 2002 RedBoot Resource Usage RedBoot takes up both flash and RAM resources depending on its startup mode and number of enabled features There are also other resources used by RedBoot such as timers Platform specific resources used by RedBoot are listed in the platform specific parts of this manual Both flash and RAM resources used by RedBoot depend to some degree on the features enabled in the RedBoot configuration It is possible to reduce in particular the RAM resources used by RedBoot by removing features that are not needed Flash resources can also be reduced but due to the granularity of
118. ght 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 Installing RedBoot permanently Once you are satisfied with the setup and that RedBoot is operating properly in your environment you can set 143 Chapter 5 Installation and Testing up your iPAQ unit to have RedBoot be the bootstrap application 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 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 After each file is created copy the file 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 gt lo r b 0x100000 redboot_ROM bin RedBoot gt fi loc f 0x50000000 1 0x40000 RedBoot gt fis init RedBoot gt fi unl f 0x50040000 1 0x40000 RedBoot gt fi cr RedBo
119. gt 00200000 00200010 mfill b 0x100000 1 0x20 mfill b 0x200000 1 0x20 dump b 0x200000 1 0x20 0000 0000 0000 0000 0000 0000 0000 0000 2 p OxDEAD 2 p 0x0 2 0000 0000 0000 0000 0000 0000 0000 0000 mcopy s 0x100000 d 0x200000 2 1 0x20 dump b 0x200000 1 0x20 DEAD DEAD DEAD DEAD DEAD DEAD DEAD DEAD 2 DEAD DEAD DEAD DEAD DEAD DEAD DEAD DEAD 43 mcopy 44 mfill Name mfill Fill RAM with a specified pattern Synopsis mfill b location l length p value 1 1 2 1 4 Arguments Name Type Description Default b location Memory address Location in memory for none start of data length Number Length of data none P pattern Number Data value to fill with 0 1 Access one byte 8 bits 4 at a time Only the least significant 8 bits of the pattern will be used 2 Access two bytes 16 4 bits at a time Only the least significant 16 bits of the pattern will be used 4 Access one word 32 4 bits at a time Description Fills a range of memory with the given pattern Examples Fill a buffer with zeros RedBoot gt x b 0x100000 1 0x20 00100000 00 00 06 00 06 00 06 00 00 00 00 00 00 00 00 1 gt 00100010 00 00 00 78 00 70 00 60 00 60 00 60 00 60 00 60 x p N N N N RedBoot gt mfill b 0x100000 1 0x20 RedBoot gt x b 0x100000 1 0x20 00100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1
120. gunzip Uncompress GZIP compressed data Synopsis gunzip s source d destination Arguments Name Type Description Default s locationl Memory address Location of GZIP Value set by last load or compressed data to fis load command uncompress d location2 Memory address Destination to write none uncompressed data to Description Uncompress GZIP compressed data Examples Uncompress data at location 0x100000 to 0x200000 RedBoot gt gunzip s 0x100000 d 0x200000 Decompressed 38804 bytes 33 gunzip 34 ip_address Name ip_address Set IP addresses Synopsis ip_address b Fl local_IP_address netmask_length h server IP address d DNS server IP address Arguments Name Type Description Default b Boolean Obtain an IP address don t use BOOTP DHCP using BOOTP or DHCP 1 Numeric IP or DNS name The IP address RedBoot none local_IP_address netmask_length should use optionally with the network mask length h server_IP_address Numeric IP or DNS name The IP address of the none default server Use of this address is implied by other commands such as load d Numeric IP or DNS name The IP address of the none DNS_server_IP_address DNS server Description The ip_address command is used to show and or change the basic IP addresses used by RedBoot IP addresses may be given as numeric values e g 192 168 1 67 or as symbolic nam
121. gurations are supported Configuration Mode Description File 111 Chapter 5 Installation and Testing 112 Configuration Mode Description File ROM ROM RedBoot running from redboot_ROMA ecm flash address 0x20000 with ARM Boot Monitor in flash boot sector Initial Installation RedBoot is installed using the on board boot environment See the user manual for full details Quick download instructions Here are quick start instructions for downloading the prebuilt Redboot image 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 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 gt dev ttyS0 When complete you should see Loaded file redboot bin at address 000100000 size 41960 Boot Program the flash Boot flashwrite 01820000 10000 10000 And verify that the module is available Boot rommodules Header Base Limit 018057c8 01800000 018059e7 BootStrapLoader v1 0 Apr 27 2000 10 33 58 01828 24 01820000 0182a3e8 RedBoot Apr 5 2001 Reboot the
122. hat was used when mounting the filesystem This command will fail if the current directory is currently within the filesystem to be unmounted Examples Unmount a JFF2 partititon RedBoot gt fs info Filesystems available ramfs jffs2 Devices available dev flashl Mounted filesystems Device Filesystem Mounted on lt undefined gt ramfs dev flashl jffs2 flash RedBoot gt fs umount flash RedBoot gt fs info Filesystems available ramfs jffs2 Devices available dev flashl Mounted filesystems Device Filesystem Mounted on 77 fs umount lt undefined gt ramfs RedBoot gt 78 fs cd Name fs cd Change filesystem directory Synopsis fscd directory Arguments Name Type Description Default directory String Pathname to directory to Root directory change to Description This command changes the current filesystem directory Subsequent filesystem commands will be executed in the new directory If no argument is given then the current directory is set back to the root of the filesystem name space Examples Change current directory RedBoot gt fs list 212416 d 3 212416 d 3 211392 d 2 210368 1 RedBoot gt fs cd tests RedBoot gt fs list DCI CR e s 2 212416 d 3 5057602562 1 RedBoot gt size 128 size 126 size 96 tests size 4096 image size 96 size 128 size 16384 testl 79 fs cd 80
123. he following memory map on the iPAQ 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 0x00000000 0x000000 0x040000 0xf80000 0 0000 0 30000000 0 48000000 0 80000000 0xc0000000 0xe0000000 Range OxOlffffff 0x0003ffff 0x0007ffff Ox00fbffff OxOOffffff Ox3fffffff Ox4bffffff Oxbfffffff Oxclffffff Oxe 7ffffff Virtual Address Range 0x00000000 0x30000000 0x48000000 0x50000000 0x80000000 0xc0000000 0xe0000000 OxOlffffff Ox3fffffff Ox4bffffff Ox51ffffff Oxbfffffff Oxclffffff Oxe 7ffffff Q ve KZZKZZRK KKZKZZRK Description 16Mb to 32Mb FLASH nCS0 Parrot Loader RedBoot Fconfig data FIS directory Compact Flash iPAQ internal registers SA 1110 Internal Registers DRAM Bank 0 32Mb SDRAM Cache Clean Description DRAM 32Mb Compact Flash iPAQ internal registers Up to 32Mb FLASH nCS0 SA 1110 Internal Registers DRAM Bank 0 32Mb Cache Clean organized as below 145 Chapter 5 Installation and Testing Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET ipaq export ARCH DIR arm export PLATFORM DIR sallx0 ipaq The names of co
124. ilding RedBoot oso ape rerna tede Deere OI E ERR RS 135 ARM StrongARM SA1110 Intel SA1110 Assabet ss 135 OVERVIEW tiene td ed T ER E Rode en ne dut 135 Initial Installation Method cuina an 136 Special RedBoot Commands ete eee tates rute cone ie Canis 136 Memory Maps een E bec eae Aletha es Nake Macaca tae 136 Platform Resource Usage roe eet ete e etie rer dett D Re 137 Rebuilding RedBoot 5 n eee litis 137 ARM StrongARM SA11X0 Bright Star Engineering commEngine and nanoEngine 137 COV EL VIEW zitiert csetera cei rette ette e ties eek Re iet eu ben iii 137 Initial Installation 5 ses sets meet OR IP e ee ere e PD C OO eerte 138 Download Instructions be teen bett tete cc hin 138 Cohabiting with POST in Flash cut eere tire dans span etaed 138 Special RedBoot Commands sos 139 Memory Maps eren o PP ie edet ridere 140 Nano Pl tform POort eR e e Re dete Ree ie etes 140 Ethernet Driver coemeterium bte gap 141 Rebuildins R dBGOt ns mn C m 141 ARM StrongARM SA11X0 Compaq iPAQ PocketPC ss 141 OVELVI W ep eme p E LH RE UR E ER tints 141 Initial Installation ien pa iR pe ee pen 142 Installing RedBoot on the iPAQ using Windows CE 142 Installing RedBoot on the iPAQ using the Compaq boot loader 143 Setting
125. ing from redboot_RAM ecm RAM and able to access the boot PROM Initial Installation Unless a pre programmed system flash module is available to be plugged into a new board RedBoot must be installed with the aid of a JTAG interface unit To achieve this the RAM mode RedBoot must be loaded directly into RAM by JTAG and started and then that must be used to store the ROM mode RedBoot into the boot PROM These instructions assume that you have binary images of the RAM based and boot PROM based RedBoot images available Preparing to program the board If the board is to be programmed whether via JTAG or RedBoot some hardware settings need to be changed e Jumper across ST18 on the board to allow write access to the boot PROM Set DIP switch S1 3 to OFF to allow RedBoot to write to the system flash Set the switch S5 on the front of the board to boot from whichever flash is not being programmed Note that the RedBoot image cannot access the flash from which it is currently executing it can only access the 107 Chapter 5 Installation and Testing 108 other flash The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing TFTP services if that is how RedBoot should pick up the images it is going to program into the flash Alternatively the images can be passed by YMODEM over the serial link Preparing to use the JTAG debugger The JTAG debugger will also need set
126. itten 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 sync if install bin redboot bin of dev fd0H1440 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 a dev d0 user binmode If this line is not listed then mount the floppy drive using the command Chapter 5 Installation and Testing mount f b a dev fd0 To actually install the boot image on the floppy use the command dd conv sync if install bin redboot bin of dev fd0 Insert this floppy in the A drive of the PC to be used as a target and ensure that the BIOS is configured 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 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 fdformat command on Linux or format a u on DOS Windows Flash management PC RedBoot does not support any FLASH commands Special Red
127. ke b lt location gt 1 2 4 v value Set change IP addresses ip address 1 lt 1 1 ip address mask length h server address Load a file load r v d h lt host gt m TFTP HTTP x y MODEM c channel number j f flash address b base address file name Compare two blocks of memory s location d location 1 length 1 2 4 Fill a block of memory with a pattern mfill b location 1 length p pattern 11 21 4 Network connectivity test ping v n lt count gt 1 lt length gt t lt timeout gt r lt rate gt i lt IP_addr gt h lt IP_addr gt Reset the system reset Display RedBoot version information version Display hex dump a range of memory x b location 1 lt length gt s 11 21 4 Help about a command with sub commands RedBoot gt help fis Manage FLASH images fis cmds Create an image fis create b mem base 1 image length s lt data_length gt f flash addr e entry point r ram addr n lt name gt Display an image from FLASH Image System FIS fis delete name Erase FLASH contents fis erase f flash addr 1 length Display free available locations within FLASH Image System FIS fis free Initialize FLASH Image System FIS fis init f Display contents of FLASH Image System FIS fis list c d Load image from FLASH Image System FIS into RAM
128. ke 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 152 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 1 MB of flash The other second level table is at 0xa0008400 and maps the first IMB of SDRAM Chapter 5 Installation and Testing 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 0000 1000 2000 0000 0000 0000 0000 0000 00000 10000 20000 00000 00000 00000 0x00 0x00 0x00 Ox7f 0x83 0x87 0x8b 0x8f 0x90 0x90 Ox9f Oxbf Oxef OxEE 000ff 001ff 7ffff fffff Fffff Fffff fffff EFFET OOffE 01fff EFFET Fffff fffff EFFET Virtual Address Range 0x00000000 0x00001000 0x00002000 0x00800000 0x80000000 0x84000000 0x88000000 0x8c000000 0x90000000 0x90010000 0xa0000000 0xc0000000 0xd0000000 0xf0000000 0x00 0x00 0x00 0x7f 0x83 0x87 0x8b 0x8f 0x90 0x90 Oxbf Oxcf 0xd0 Oxff OOOfE 001f f TEETE fffff EFFET Fffff Fffff Fffff OO0fff Olfff EFFET Fffff 000ff Fffff Description flash Memory 80312 Internal Registers flash Memory PCI ATU Outbound Direct Window Primary PCI 32 bit Memory Primary PCI 64 bit Memory Secondary P
129. l Rate 9600 Connected to ARM RDI target gdb set cpsr 0xd3 gdb load Loading section rom_vectors size 0x40 lma 0x2020000 Loading section text size 0x7fd8 lma 0x2020040 Loading section rodata size 0x15a0 lma 0x2028018 Loading section data size 0x2e4 lma 0x20295b8 Start address 0x2020040 load size 39068 Transfer rate 6250 bits sec 500 bytes write gdb cont Continuing Once RedBoot is started the GDB session connected with Angel must be suspended this can be done using Ctrl Z or terminated with Ctrl C or the Windows task manager Follow this by connecting to the board using a terminal emulator such as hyperterminal or minicom at 38400 8N1 At this point RedBoot will be running on the board in RAM RedBoot gt version RedBoot tm bootstrap and debug environment RAM Non certified release version UNKNOWN built 14 09 27 Jul 20 2001 Platform Atmel AT91 EB40 ARM7TDMI Copyright C 2000 2001 Free Software Foundation Inc RAM 0x02000000 0x02080000 0x020116d8 0x0207fd00 available FLASH 0x01010000 0x01020000 256 blocks of 0x00000100 bytes each RedBoot Now download the ROM mode image RedBoot gt load m ymodem b FREEMEMLO Use your terminal emulator to send the file redboot_ROM srec via YModem e g Transfer gt Send File in Hyperterminal or Ctr1 A sin minicom Finally program it to flash RedBoot gt fi wr f 0x01010000 b FREEMEMLO 1 0xe100 Chapter 5 Installation and Testing
130. l addresses OxCooxxxxx Ethernet Driver The ethernet driver is in two parts A generic ether driver for the Intel 121143 device is located in devs eth intel i21143 Its package name is CYGPKG_DEVS_ETH_INTEL_121143 The platform specific ether driver is devs eth mips vrc4375 Its package is CYGPKG_DEVS_ETH_MIPS_VRC4375 This tells the generic driver the address in IO memory of the chip for example and other configuration details The ESA MAC address is by default collected from on board serial EEPROM unless configured statically within this package 189 Chapter 5 Installation and Testing Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET vrc4373 export ARCH_DIR mips export PLATFORM_DIR vrc4373 The names of configuration files are listed above with the description of the associated modes PowerPC MPC860T Analogue amp Micro PowerPC 860T 190 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 The following RedBoot configurations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from RAM but contained in the board s flash boot sector redboot ROMRAM ecm Initial Installation
131. length Number Length of ramdisk image None passed to Linux kernel b load_address Number Address in memory of Value set by load or fis the Linux kernel image load load_length Number Length of Linux kernel none image C String Command line to pass to None kernel command line the Linux kernel X Boot kernel with Boot kernel with same endianess opposite of endianess as RedBoot RedBoot endianess entry address Number Starting address for Implied by architecture Linux kernel execution Description The exec 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 environmental setups for example that the MMU is turned off etc The Linux kernel expects to have been loaded to a particular memory location which is architecture depen dent 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 99 exec about where a statically loaded ramdisk ini
132. ll variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET sall00mm export ARCH DIR arm export PLATFORM DIR sallx0 sall00mm The names of configuration files are listed above with the description of the associated modes ARM StrongARM SA1 110 Intel SA1110 Assabet 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 The following RedBoot configurations are supported 135 Chapter 5 Installation and Testing 136 Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector 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 Special RedBoot Commands None 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 b
133. lows for initial programming of RedBoot 1 Set switches SW4 3 and SW4 4 to ON boot from EPROM 2 Connect a serial cable to COM2 and power up the board 3 After the boot monitor banner invoke the flash download program command Ready f1 4 The monitor should now ask for input Flash ROM data copy to RAM Please Send A S format Record At this point copy the RedBoot ROM SREC file to the serial port cat redboot ROM eprom srec gt dev ttyS0 Eventually you should see something like Start Addrs A1000000 End Addrs Alxxxxxx Transfer complete from the monitor 5 Set switch SW4 3 to OFF boot from flash and reboot the board You should now see the RedBoot banner Special RedBoot Commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the SE77x9 are b lt addr gt Parameter block address This is normally the first page of the kernel image and defaults to 0x8c101000 i lt addr gt Start address of initrd image j size Size of initrd image C args Kernel arguments string 199 Chapter 5 Installation and Testing 200 m flags Mount rdonly flags If set to a non zero value the root partition will be mounted read only f flags RAM disk flags Should normally be 0x4000 f device number Root device specification dev
134. ly 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 fconfig 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 gt 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 DNS server IP address 192 168 1 1 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 The DNS server IP address option controls where RedBoot should make DNS lookups A setting of 0 0 0 0 will disable DNS lookups The DNS server IP address can also be set at runtime If the selection 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 is the GDB connection port RedBoot all
135. m flash RedBoot gt load r b FREEMEMLO tftpboot redboot ROM bin RedBoot gt fi write f 0x80000000 b FREEMEMLO 1 0x00020000 See the Section called Persistent State Flash based Configuration and Control in Chapter 2 for details on configuring the RedBoot in general and also the Section called Flash Image System FIS in Chapter 2 for more details on programming the system flash Additional Commands The exec command which allows the loading and execution of Linux kernels is supported for this architec ture see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for ASB2305 board are W lt time gt Wait time in seconds before starting kernel C params Parameters passed to kernel lt addr gt Kernel entry point defaulting to the entry point of the last image loaded The parameter string is stored in the on chip memory at location 0x8C001000 and is prefixed by cmdline if it was supplied Memory Maps RedBoot sets up the following memory map on the ASB2305 board NOTE The regions mapped between 0x80000000 0x9FFFFFFF are cached by the CPU However all those regions can be accessed uncached by adding 0x20000000 to the address Physical Address Range 0x80000000 0x80000000 0x84000000 0x86000000 0x86F90000 0x86FA0000 0x86FB0000 0x8C000000 0x90000000 0x98000000 0x9C000000 0x9E000000 0x9E040000 Ox9FFFFFF4 Ox9FFFFFF8 0xA0000000 0xC0000000 Ox9FFFF
136. mand RedBoot gt fconfig Run script at boot false Use BOOTP for network configuration false Local IP address 192 168 1 153 Default server IP address 192 168 1 10 GDB connection port 1000 etwork debug at boot time false Update RedBoot non volatile configuration continue y n y Unlock from 0x007c0000 0x007e0000 Erase from 0x007c0000 0x007e0000 Program from 0xa0013018 0xa0013418 at 0x007c0000 Lock from 0x007c0000 0x007e0000 Note When later updating RedBoot in situ it is important to use a matching ROM and RAM mode pair of images So use either RAM ROM or RAMA ROMA images Do not mix them Error codes RedBoot uses the two digit LED display to indicate errors during board initialization Possible error codes are 88 Unknown Error 55 I2C Error FF SDRAM Error 01 No Error 149 Chapter 5 Installation and Testing 150 Using RedBoot with ARM Bootloader RedBoot can coexist with ARM tools in flash on the 1080310 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 Special RedBoot Commands A special RedBoot command diag is used to access a set of hardware diagnostics provided
137. mands 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 Format Description Example S A boolean switch the behavior of the command will differ depending on the presence of the switch In this example the switch indicates that a complete initialization of the FIS data should be performed There may be many such switches available for any given command and any or all of them may be present in any order RedBoot gt fis init f S val A qualified value the letter s introduces the value qualifying it s meaning In the example b 0x100000 specifies where the memory dump should begin There may be many such switches available for any given command and any or all of them may be present in any order RedBoot gt dump b 0x100000 1 0x20 11 Chapter 2 RedBoot Commands and Examples 12 Format Description Example operand A simple value some commands RedBoot gt fis delete JFFS2 require a single parameter for which an additional x switch would be redundant In the example JFFS2 is the name of a flash image The image name is always required thus is no need to qualify it with a switch Note that any un qualified operand must always appear at the end of the command The list of available commands and their syntax can be
138. me DNS domain name ex load Name load Download programs or data to the RedBoot platform Synopsis load v d r m xmodem ymodem tftp disk file h server_Ip_address f location b location c channel file_name Arguments Name Type Description Default V Boolean Display a small spinner 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 quiet d Boolean Decompress data stream gzip data non compressed data r Boolean Raw or binary data b or f must be used formatted S records ELF image etc m tftp Transfer data via the network using TFTP protocol TFTP m http Transfer data via the network using HTTP protocol TFTP m xmodem Transfer data using X modem protocol TFTP m ymodem Transfer data using Y modem protocol TFTP m disk Transfer data from a local disk TFTP m file Transfer data from a local filesystem such as JFFS2 or FAT TFTP 37 load 38 Name Type Description Default h server_IP_address Numeric IP or DNS name The IP address of the TFTP or HTTP server Value set by ip_address b location Number Address in memory
139. me dump Display memory Synopsis dump b location l length s 1 2 1 4 Arguments Name Type Description Default b location Memory address Location in memory for none start of data length Number Length of data 32 S Boolean Format data using Motorola S records 1 Access one byte 8 bits 1 at a time Only the least significant 8 bits of the pattern will be used 2 Access two bytes 16 1 bits at a time Only the least significant 16 bits of the pattern will be used 4 Access one word 32 1 bits at a time Description Display a range of memory on the system console The x is a synonym for dump Note that this command 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 Examples Display a buffer one byte at a time RedBoot gt mfill b 0x100000 1 0x20 p OxDEADFACE 25 dump 26 RedBoot gt x b 0x100000 00100000 CE FA AD DE CE FA AD DE FA AD DE CE FA AD DE 00100010 CE FA AD DE CE FA AD DE CE FA AD DE CE FA AD DE Display a buffer one short 16 bit word at a time Note in this case that the ASCII interpretation is suppressed RedBoot gt dump b 0x100000 2 00100000 FACE DEAD FACE DEAD FACE DEAD FACE DEAD 00100010 FACE DEAD FACE DEAD FACE DEAD FACE
140. mer0 is used for timeout support for networking and XModem file transfers 167 Chapter 5 Installation and Testing Motorola PrPMC1100 CPU card 168 Overview RedBoot supports the builtin high speed and console UARTs The console UART is the default and feeds the front panel COMI connector The high speed UART signals are only available from the PN4 IO connec tor Therefore usability of this port depends on the carrier board used The default serial port settings are 115200 8 N 1 RedBoot also supports flash management for the 16MB boot flash on the mainboard The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm flash sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The PrPMC1100 flash is socketed so initial installation may be done using an appropriate device programmer JTAG based flash programming may also be used In either case the ROM mode RedBoot is programmed into the boot flash at address 0x00000000 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 should be configured for use by RedBoot Even if this message is not seen it is recommended that the fconfig be run to initialize the flash configuration area See
141. mode RedBoot is up and running it can be communicated with by way of the serial port Commands can now be entered directly to RedBoot for flashing the boot PROM 1 Instruct RedBoot to initialise the boot PROM RedBoot gt fi init 2 Write the previously loaded redboot prom image into the boot PROM RedBoot gt fi write f 0x80000000 b 0x91020000 1 0x00020000 3 Check that RedBoot has written the image RedBoot gt dump b 0x91020000 RedBoot gt dump b 0x80000000 Barring the difference in address the two dumps should be the same 4 Close the JTAG software and power cycle the board The RedBoot banners should be displayed again over the serial port followed by the RedBoot prompt The boot PROM based RedBoot will now be running 109 Chapter 5 Installation and Testing 110 5 Power off the board and unjumper ST18 to write protect the contents of the boot PROM Then power the board back up 6 Run the following command to initialise the system flash RedBoot gt fi init Then program the system flash based RedBoot into the system flash RedBoot gt load r b FREEMEMLO redboot_FLASH bin RedBoot gt fi write f 0x84000000 b FREEMEMLO 1 0x00020000 NOTE RedBoot arranges the flashes on booting such that they always appear atthe same addresses no matter which one was booted from 7 A similar sequence of commands can be used to program the boot PROM when RedBoot has been booted from an image stored in the syste
142. mory card Once this completes RedBoot 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 envi ronment 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 Using ActiveSync copy the file OSloader to your iPAQ Using ActiveSync copy the file redboot_WinCE bin to the iPAQ as bootldr in its root directory Note this is not the top level folder displayed by Windows Mobile Device but rather the My Pocket PC folder within it Execute OSloader If you didn t create a shortcut then you will have to poke around for it using the WinCE file explorer Choose the Tools gt BootLdr gt Run after loading from file menu item Chapter 5 Installation and Testing 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 Installing RedBoot on the iPAQ using the Compaq boot loader This method of installation is no longer supp
143. n appropriately Examples Show the current cache state RedBoot gt cache Data cache On Instruction cache On Disable the caches RedBoot gt cache off RedBoot gt cache Data cache Off Instruction cache Off Enable the caches RedBoot gt cache on RedBoot gt cache Data cache On Instruction cache On 17 cache 18 channel Name channel Select the system console channel Synopsis channel 1 channel_number Arguments Name Type Description Default 1 Reset the console channel none channel_number Number Select a channel none Description With no arguments the channel command displays the current console channel number When passed an argument of 0 upward this command switches the console channel to that channel num ber The mapping between channel numbers and physical channels is platform specific but will typically be something like channel 0 is the first serial port channel 1 is the second etc 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 Examples Show the current channel RedBoot gt channel Current console channel id 0 Change to an invalid channel RedBoot gt channel 99 bad channel number 99 Revert to the default channel setting any console mode 19 channel RedBoot gt channel 1 20 cksum
144. n the obvious manner thus RedBoot gt fco d bootp bootp false true Update RedBoot non volatile configuration continue y n y Unlock from RedBoot gt _ 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 gt 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 DNS server IP address 192 168 1 1 DNS domain name example com 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 Chapter 2 RedBoot Commands and Examples Boot script Enter script terminate with empty line gt gt fi li Boot script timeout 0 10 Use BOOTP for network configuration false Update RedBoot non volatile configuration continue y n y Erase from 0xa0fc0000 0xa0fe0000 Program from 0 8 021 60 0 8 022360 at Oxa0fc0000 RedBoot gt RedBoot tm debug environment built 08 22 24 Aug 23 2000 Copyright C 2000 Free Software Foundation Inc RAM 0x8c000000 0x8c800000 flash 0xa0000000 0xa1000000 128
145. nd line unless escaped using the V character 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 RedBoot Editing Commands RedBoot uses the following line editing commands NOTE In this description A means the character formed by typing the letter A while holding down the control key Delete 0x7F or Backspace 0x08 erases the character to the left of the cursor A or HOME moves the cursor insertion point to the beginning of the line K erases all characters on the line from the cursor to the end Eor END positions the cursor to the end of the line D or DELETE erases the character under the cursor F or RIGHT ARROW moves the cursor one character to the right B or LEFT ARROW moves the cursor one character to the left P or UP ARROW replaces the current line by a previous line from the history buffer A small number of lines can be kept as history Using P and N the current line can be replaced by any one of the previously typed lines N or DOWN ARROW replaces the cur
146. nel 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 The following RedBoot configurations are supported 141 Chapter 5 Installation and Testing 142 Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector WinCE RAM RedBoot running from redboot_WinCE ecm RAM started from OSloader Initial Installation RedBoot ROM and WinCE mode images are needed by the installation process 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 resetting 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 NOTE We have only tested this operation with a 32Mbyte CF memory card Given that the backup will take 16MBytes 1KByte something more than a 16MByte card will be required Use the r2c command to dump Flash contents to the CF me
147. neric method described in Chapter 4 in order that the Flash Image System contains an appropriate description of the flash entries Chapter 5 Installation and Testing Cohabiting with POST in Flash The configuration file named redboot_POST ecm configures RedBoot to build for execution at address 0x50040000 or during bootup 0x00040000 This is to allow power on self test POST code or immutable firmware to live in the lower addresses of the flash and to run before RedBoot gets control The assumption is that RedBoot will be entered at its base address in physical memory that is 0x00040000 Alternatively for testing you can call it in an already running system by using go 0x50040040 at another RedBoot prompt or a branch to that address The address is where the reset vector points It is reported by RedBoot s load command and listed by the fis list command amongst other places Using the POST configuration enables a normal config option which causes linking and initialization against ram in the include pkgconf directory memory layout files called post rather than rom or Specifically include pkgconf mlt arm sallx0 nano post h include pkgconf mlt arm sallx0 nano post ldi include pkgconf mlt arm sallx0 nano post mlt It is these you should edit if you wish to move the execution address from 0x50040000 in the POST configu ration Startup mode naturally remains ROM in this configuration Bec
148. nfiguration files are listed above with the description of the associated modes ARM StrongARM SA11X0 Intrinsyc CerfCube 146 Overview RedBoot supports the serial port and the builtin ethernet connection 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation The original boot loader supplied with the CerfCube can be used to install RedBoot Connect to the device using a serial port at 38400 8N1 Copy the binary RedBoot ROM mode image to an available TFTP server Issue these commands to the Instrinsyc loader download tftp x x x x redboot_ROM bin 0xc0000000 flashloader 0x00000000 0xc0000000 0x20000 where x x x x is the IP address of the TFTP server NOTE Other installation methods may be available via the Intrinsyc loader Contact Intrinsyc for details Chapter 5 Installation and Testing Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the CerfC
149. ng If the battery is installed the test further determines whether the battery status is one or more of the following e Battery is charging Chapter 5 Installation and Testing e Battery is fully discharged Battery voltage measures within normal operating range Battery Backup SDRAM Memory Test This tests the battery backup of SDRAM memory This test is a three step process 1 Select Battery backup test from main diag menu then write data to SDRAM 2 Turn off power for 60 seconds then repower the board 3 Select Battery backup test from main diag menu then check data that was written in step 1 Timer Test This tests the internal timer by printing a number of dots at one second intervals PCI Bus Test This tests the secondary PCI X bus and socket This test requires that an IQ80310 board be plugged into the secondary slot of the IOP80321 board The test assumes at least 32MB of installed memory on the IQ80310 That memory is mapped into the IOP80321 address space and the memory tests are run on that memory CPU Cache Loop This test puts the CPU into a tight loop run entirely from the ICache This should prevent all external bus accesses Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET iq80321 export ARCH_DIR arm export PLATFORM DIR xscale iq80321 The names of configuration fil
150. nism to write to program memory The serial channel is fixed at 57600 8 N 1 by the firmware The CalmBreaker firmware also provides a serial protocol which allows a host to download a program and to start or stop the core board The following RedBoot configurations are supported Configuration Mode Description File 170 Chapter 5 Installation and Testing Configuration Mode Description File ROM ROM RedBoot running via the redboot ROM ecm MDSChip board Initial Installation Method The CalmRISC16 core is controlled through the MDSChip board There is no non volatile storage available for RedBoot so RedBoot must be downloaded to the board on every power cycle A small utility program is used to download S record files to the eval board Sources and build instructions for this utility are located in the RedBoot sources in packages hal calmriscl6 ceb current support To download the RedBoot image first press the reset button on the MDSChip board The green Run LED on the core board should go off Now use the utility to download the RedBoot image with calmbreaker p dev term b reset srec code f redboot elf Note that the p dev term b specifies the serial port to use and will vary from system to system The download will take about two minutes After it finishes start RedBoot with calmbreaker p dev term b run The Run LED on the core board should
151. nsyc and Cerf are trademarks of Intrinsyc Software Inc Linux is a registered trademark of Linus Torvalds Matsushita and Panasonic are trademarks of the Matsushita Electric Industrial Corporation Microsoft Windows Windows NT and Windows XP are registered trademarks of Microsoft Corporation Inc MIPS MIPS32 MIPS64 4K 5K Atlas and Malta are trademarks of MIPS Technologies Inc Motorola ColdFire is a trademark of Motorola Inc NEC V800 V850 V850 SA1 V850 SB1 VR4300 and VRC4375 are trademarks of NEC Corporation PMC Sierra RM7000 and Ocelot are trademarks of PMC Sierra Incorporated Red Hat eCos RedBoot GNUPro and Insight are trademarks of Red Hat Inc Samsung and CalmRISC are trademarks or registered trademarks of Samsung Inc Sharp is a registered trademark of Sharp Electronics Corp SPARC is a registered trademark of SPARC International Inc and is used under license by Sun Microsystems Inc Sun Microsystems and Solaris are registered trademarks of Sun Microsystems Inc SuperH and Renesas are trademarks owned by Renesas Technology Corp Texas Instruments OMAP and Innovator are trademarks of Texas Instruments Incorporated Toshiba is a registered trademark of the Toshiba Corporation UNIX is a registered trademark of The Open Group All other brand and product names trademarks and copyrights are the proper
152. nual for information on using this utility In general the process involves programming the ROM mode RedBoot image to flash RedBoot should be programmed to flash address 0x00000000 using the DOS utility 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 gt fis init About to initialize format FLASH image system continue y n y xxx Initialize FLASH Image System Warning device contents not erased some blocks may not be usable Unlock from 0xf 07e0000 0x 0800000 Erase from 0xf07e0000 0xf0800000 Program from 0x01ddf000 0x01ddf400 at Oxf07e0000 Lock from 0xf07e0000 0xf0800000 Switch Settings The 80321 board is highly configurable through a number of switches and jumpers RedBoot makes some assumptions about board configuration and attention must be paid to these assumptions for reliable RedBoot Chapter 5 Installation and Testing operation The onboard ethernet and the secondary slot may be placed in a private space so that they are not seen by a PC BIOS If the board is to be used in a PC with BIOS then the ethernet should be placed in this private space so that RedBoot and the BIOS do not conflict e RedBoot ass
153. o install RedBoot in one of two ways Either as the primary bootmonitor on the board installed to blocks 0 1 of the flash or as the secondary bootmonitor on the board installed to blocks 1 2 of the flash Presently only the former method is supported RedBoot as Primary Bootmonitor RedBoot is installed in flash using the on board ARM Boot Monitor Boot the board while pressing SPACE This should bring up the Boot Monitor ARM bootPROM Version 1 3 Rebuilt on Jul 16 2001 at 16 21 36 Running on a P920 board Evaluation Board Board Revision V1 0 ARM920T processor Processor Memory Size is 32MBytes Flash Size is 32MBytes Copyright c ARM Limited 1999 2001 All rights reserved Board designed by ARM Limited Hardware support provided at http www arm com For help on the available commands type or h boot Monitor gt Download the RAM mode image of RedBoot configured as a primary bootmonitor using the ARM bootmoni tor s SREC download command boot Monitor gt m Load Motorola S Record image into memory and execute it The S Record loader only accepts input on the serial port Record addresses must be between 0x00008000 and Ox01E0F510 Type Ctrl C to exit loader Use the terminal emulator s ASCH upload command or on Linux simply cat the file to the serial port cat redboot primary RAM redboot srec gt dev ttyS1 125 Chapter 5 Installation and Testing 126 You should see RedBoot start up FLASH configu
154. o mount fstype Number Filesystem type mountpoint String Pathname for filesystem root Description This command is used make a filesystem available for access with the filesystem access commands Three things need to be defined to do this First the name of the device on which the filesystem is stored needs to be given to the a option Secondly the type of filesystem it is needs to be given to the t option Finally the pathname by which the new filesystem will be accessed needs to be supplied Following a successful mount the root of the filesystem will be accessible at the mountpoint Examples Mount a JFF2 partititon RedBoot gt fs info Filesystems available ramfs jffs2 Devices available dev flashl Mounted filesystems Device Filesystem Mounted on lt undefined gt ramfs RedBoot gt fs mount d dev flashl t jffs2 flash RedBoot gt fs info Filesystems available ramfs jffs2 75 fs mount 76 Devices available dev flashl Mounted filesystems Device Filesystem Mounted on lt undefined gt ramfs dev flashl jffs2 flash RedBoot gt fs umount Name fs umount Unmount filesystem Synopsis fs umount mountpoint Arguments Name Type Description Default mountpoint String Mountpoint of filesystem to unmount Description This command removes a filesystem from being accessible using the filesystem commands The single argu ment needs to be the mountpoint t
155. obtained by typing help 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 lt channel number gt Display disk partitions disks Display hex dump a range of memory dump b lt location gt 1 lt length gt s Manage flash images fis cmds Manage configuration kept in FLASH memory fconfig i 1 n f d d nickname value Execute code at a location go w lt timeout gt c n entry Help about help help lt topic gt Set change IP addresses ip_address 1 lt local_ip_address gt lt mask_length gt h lt server_address gt Load a file load r v d c lt channel gt h lt host gt m TFTP HTTP x y MODEM disk b lt base_address gt lt file_name gt Network connectivity test ping v n lt count gt t lt timeout gt i lt IP_addr h lt host gt Reset the system reset Display RedBoot version information version Display hex dump a range of memory x b lt location gt 1 lt length gt s 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 fe but f would be ambiguous with fis There is one additional special command When RedBoot d
156. ogrammer JTAG based initial may also be used In either case the ROM mode RedBoot is programmed into the boot flash at address 0x00000000 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 should be configured for use by RedBoot See the Section called Persistent State Flash based Configuration and Control in Chapter 2 for more details 165 Chapter 5 Installation and Testing 166 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET grg export ARCH_DIR arm export PLATFORM_DIR xscale grg The names of configuration files are listed above with the description of the associated modes Interrupts RedBoot uses an interrupt vector table which is located at address 0x8004 Entries in this table are pointers to functions with this protoype int irq handler unsigned vector On the fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine fine Qu Qu Pi Our Qu Qu Ov Qe 0 0 Qs PERL 0 Os Pr Qu Qo Qu 0 0 0 PERL Qu 0 0 OG 0o 000 D D D D D MD D D D D D D MD 0000 0000000000 0 fine GRG board hal arm xscale ixp42
157. olv conf Example 1 2 Sample etc named conf for Red Hat Linux 7 x A ae J t named Cont a Henn generated by named bootconf pl options directory var named If there is a firewall between you and nameservers you want to talk to you might need to uncomment the query source directive below Previous versions of BIND always asked Chapter 1 Getting Started with RedBoot questions using port 53 but BIND 8 1 uses an unprivileged port by default x query source address port 53 forward first forwarders 212 242 40 3 212 242 40 51 a caching only nameserver config Uncomment the following for Red Hat Linux 7 2 or above controls F inet 127 0 0 1 allow localhost keys rndckey Y include etc rndc key zone IN type hint file named ca zone localhost IN type master file localhost zone allow update none zone 0 0 127 in addr arpa IN type master file named local allow update none Make sure the server is started with the command service named start and is started on next reboot with the command chkconfig named on Finally you may wish to change etc resolv conf to use 127 0 0 1 as the nameserver for your local machine RedBoot network gateway RedBoot cannot communicate with machines on different subnets because it does not support routing It al ways assumes that it can g
158. ommand which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the HS7729PCI are b lt addr gt Parameter block address This is normally the first page of the kernel image and defaults to 0x8c101000 i lt addr gt Start address of initrd image j size Size of initrd image C args Kernel arguments string m flags Mount rdonly flags If set to a non zero value the root partition will be mounted read only f flags RAM disk flags Should normally be 0x4000 f device number Root device specification dev ram is 0x0101 l t ype gt Loader type Finally the kernel entry address can be specified as an optional argument The default is 0x8c102000 On the HS7729PCI Linux expects to be loaded at address 0x8c101000 with the entry point at 0 8 102000 This is configurable in the kernel using the CONFIG_MEMORY_START option 197 Chapter 5 Installation and Testing Memory Maps RedBoot sets up the following memory map on the HS7729PCI board Physical Address Range Description 0x80000000 Ox803fffff Flash MBM29LV160 0x80400000 0x807fffff EPROM M27C800 0x82000000 Ox82ffffff SRAM 0x89000000 Ox89ffffff SRAM 0x8c000000 Ox8fffffff SDRA 0xa8000000 0xa800ffff SuperIO FDC37C935A 0xa8400000 Oxa87fffff USB function ML60851C 0xa8800000 Oxa8bfffff USB host SL11HT 0xa8c
159. on Description Chapter 5 Installation and Testing 000 Uncached Unbuffered 001 Uncached Buffered 010 Cached Buffered Write Through Read Allocate 0 1 1 Cached Buffered Write Back Read Allocate 100 Invalid not used 1 0 1 Uncached Buffered No write buffer coalescing 110 Mini DCache Policy set by Aux Ctl Register 1 1 1 Cached Buffered Write Back Read Write Allocate Physical Address Range Description 0x00000000 Ox7ffffff 0x80000000 0Ox900ffff ATU Outbound Direct Window ATU Outbound Translate Windows 0xa0000000 Oxbffffff SDRAM 0xf0000000 0xf080000 FLASH PBIU CSO 0xfe800000 Oxfe800ff UART PBIU CSI Oxfe840000 Oxfe840ff Oxfe850000 Oxfe850ff Oxfe8d0000 Oxfe8d0ff Oxfe8f0000 Oxfe8f0ff Oxfff00000 Oxfffffff Right 7 segment LED PBIU CS2 Rotary Switch PBIU CS4 Baterry Status PBIU CS5 Verde Memory mapped Registers Left 7 segment LED PBIU CS3 Fh Fh Fh Fh Fh Fh Fh Fh Fh Default Virtual Map X C B Description 0x00000000 Ox1fffffff 1 1 1 SDRAM 0x20000000 Ox9fffffff 0 00 ATU Outbound Direct Window 0xa0000000 Oxb00fffff 0 00 ATU Outbound Translate Windows 0xc0000000 Oxdfffffff 0 0 0 Uncached alias for SDRAM 0xe0000000 Oxe00fffff 1 1 1 Cache flush region no phys mem 0xf0000000 0xf0800000 0 1 0 FLASH PBIU CSO Oxfe800000 Oxfe800fff 0 0 0 UART PBIU CS1 Oxfe840000 Oxfe840fff 0 0 0 Left 7 segment LED PBIU CS3 Oxfe850000 Oxfe850fff 0 0 0
160. oot ROM SA 1100 Internal Registers Cache Clean Platform Resource Usage The SA11x0 OS timer is used as a polled timer to provide timeout support for XModem file transfers Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET brutus export ARCH_DIR arm export PLATFORM_DIR sallx0 brutus 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 133 Chapter 5 Installation and Testing The names of configuration files are listed above with the description of the associated modes ARM StrongARM SA1100 Intel SA1100 Multimedia Board 134 Overview RedBoot supports both board serial ports The default serial port settings are 38400 8 N 1 flash management is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method A device programmer is used to program socketed flash parts Special RedBoot Commands None Memory Maps The first level page table is located at physical address 0xc0004000 No second level tables are used NO
161. or absent 0xe0000000 Oxe7ffffff Y Y Cache Clean The ethernet devices use a PCI window to communicate with the CPU This is 1Mb 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 0x01efffff This can be modified and indeed must be if less than 32Mb of SDRAM is installed via the memory layout tool or by moving the section 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 means one device in each DRAM Bank 1 x 8Mb 8Mb 2x8Mb 16Mb 1 x 16Mb 16Mb 2 x 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 Chapter 5 Installation and Testing Nano Platform Port The nano is in the set of SA1 1 X0 based platforms It uses the arm architectural HAL the sa11x0 variant HAL plus the nano platform hal
162. ort cat redboot SE7709RP ROM eprom srec gt dev ttyS0 Eventually you should see something like Start Addrs A1000000 End Addrs Alxxxxxx Transfer complete from the monitor 5 Set switch SW4 1 to OFF boot from flash and reboot the board You should now see the RedBoot banner Chapter 5 Installation and Testing Special RedBoot Commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the SE77x9 are b lt addr gt Parameter block address This is normally the first page of the kernel image and defaults to 0x8c 101000 i lt addr gt Start address of initrd image j size Size of initrd image C args Kernel arguments string m flags Mount rdonly flags If set to a non zero value the root partition will be mounted read only f flags RAM disk flags Should normally be 0x4000 f device number Root device specification dev ram is 0x0101 type Loader type Finally the kernel entry address can be specified as an optional argument The default is 0x8c102000 For the the SE77x9 Linux by default expects to be loaded at 0x8c001000 which conflicts with the data space used by RedBoot To work around this either change the CONFIG MEMORY START kernel option to a higher address or use the compressed kernel image and load it at a higher
163. orted 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 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 seconds 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 RedBoot tm bootstrap and debug environment ROM Non certified release version UNKNOWN built 06 17 41 Mar 19 2001 Platform Compaq iPAQ Pocket PC StrongARM 1110 Copyright C 2000 2001 Free Software Foundation Inc RAM 0x00000000 0x01fc0000 0x0001f 200 0x01f 70000 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 ri
164. ot b 0x100000 RedBoot gt fi loc f 0x50040000 1 0x40000 RedBoot gt 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 Restoring Windows CE To restore Windows CE from the backup taken in the Section called Installing RedBoot permanently visit http www handhelds org projects wincerestoration html for directions Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the iPAQ are b lt addr gt Location Linux kernel was loaded to 144 ien Length of kernel C params Parameters passed to kernel r lt addr gt initrd ramdisk location S lt len gt Length of initrd ramdisk Chapter 5 Installation and Testing 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 elinux 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 sal1x0 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 0 0008000 Memory Maps RedBoot sets up t
165. ot image occupies virtual addresses 0x01010000 0x0101dfff The memory layout of the EB40A is as follows Physical Address Range Description 0x00000000 0x0003ffff On chip SRAM 0x01000000 OxO11fffff Flash 0x02000000 OxO2ffffff External SRAM optional Oxffe00000 Oxffffffff I O registers The flash based RedBoot image occupies virtual addresses 0x01100000 0x01 1 0ffff The memory layout of the EB42 and EBSS is as follows Physical Address Range Description 0x00000000 0x00001fff On chip SRAM 0x01000000 OxO11fffff Flash 0x02000000 0x0203ffff RAM Oxffe00000 Oxffffffff I O registers The flash based RedBoot image occupies virtual addresses 0x01100000 0x01 LOffff Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export ARCH_DIR arm export TARGET eb40 PLATFORM DIR at91 eb40 ct ct expor export TARGET eb40a PLATFORM DIR at91 eb40a ct Act expor export TARGET eb42 PLATFORM DIR at91 eb42 ct ct expor export TARGET eb55 Chapter 5 Installation and Testing export PLATFORM_DIR at91 eb55 Use just one of the TARGET and PLATFORM_DIR variable pairs only The names of configuration files are listed above with the description of the associated modes When reprogramming RedBoot using RedBoot itself you should load a RedBoot RAM image as normal and load the new ROM image into RA
166. ownload format ses 180 Flash management ee Henne tei nei es 181 Additional config Options sos 181 Additional commands et ete o eec n asia Aer ita 181 IMC dmn esse aka re eee ee ees ee BEI 182 Memory Maps er t pert eet be re etie eite eet de ETUR REUS 182 Rebuilding RedBoot nennen enne 183 MIPS MIPS32 CoreLV 4Kc MIPS64 CoreLV 5Kc Malta Board 183 VEL VIEW ns Em Biene E E AIA ERE ee erbe bea beer Eee 183 Initial Installation etre Rt rt On Hu Diem Ebo to is 183 Quick download instructions sise 184 Malta download format 184 Additional command Srni ensen eitri nl han st 184 Interr pts zz Re En a Re d B ee ioe 185 Memory Maps ie reb bee rede nt sn 186 Rebuilding nee te ea I I 186 MIPS RM7000 PMC Sierra OCelot 2 0 2 eei e eet eee peret eret 186 OVEIVIEW iste det etr ra E eret eerte d Dire OG rt eee EH e Eee 186 Additional commands u ii ree rr ter EPOR Fe PEERS SE Pen RUN 187 Memory Maps iii Sein tel ceil e be te roe tee E E ERE eee ns oles 187 Rebuilding RedBoot eene ien teet up nine ier RH etes 188 MIPS VR4375 NEC DDB VRCA37S5 iae aie tei tenete ci ati In 188 OVERVIEW EE RE ESSERE HON 188 Initial Installation Method esee a a tenen nest nennen 188 Special RedBoot Commands ses ete selecti e it peer eot ie eG bien 188 Memory Maps te en rti dieta diet eere t e In iei po Beni 189 Ethernet Driver ze
167. ows 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 Chapter 1 Getting Started with RedBoot Host Network Configuration RedBoot may require three different classes of service from a network host e dynamic IP address allocation using BOOTP TFTP service for file downloading DNS server for hostname lookups Depending on the host system these services may or may not be available or enabled by default See your system documentation for more details 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 Enable TFTP on Red Hat Linux 6 2 Ensure that you have the tftp server RPM package installed By default this installs the TFTP server in a disabled state These steps will enable it 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
168. ows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the Excalibur are b lt addr gt Location Linux kernel was loaded to ien Length of kernel C params Parameters passed to kernel r lt addr gt initrd ramdisk location S lt len gt Length of initrd ramdisk The parameters for kernel image base and size are automatically set after a load operation So one way of starting the kernel would be RedBoot gt load r b 0x100000 zImage Raw file loaded 0x00100000 0x001a3d6c RedBoot gt exec c console ttyUA0 57600 Using base address 0x00100000 and length 0x000a3d6c Uncompressing Linux 129 Chapter 5 Installation and Testing 130 An image could also be put in flash and started directly RedBoot gt exec b 0x40400000 1 0xc0000 c console ttyUA0 57600 Uncompressing Linux Memory Maps The MMU page tables are located at 0x4000 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 0x00000000 0x08000000 0x40000000 Ox7fffc000 0x80000000 OxO7ffffff 0x0805ffff OxX40ffffff Ox7fffffff 0x8001ffff Virtual Address Range 0x00000000 0x08000000 0x40000000 Ox7fffc0O00 0x80000000 OxO7ffffff 0x0805ffff Ox403fffff Ox7fffffff 0x8001ffff Z222KK Z2
169. p to 32Mb FLASH nCS0 SA 1110 Internal Registers DRAM Bank 0 32Mb 147 Chapter 5 Installation and Testing 0xe0000000 Oxe7ffffff Y Y Cache Clean Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET cerf export ARCH DIR arm export PLATFORM DIR sallx0 cerf The names of configuration files are listed above with the description of the associated modes ARM XScale Cyclone IQ80310 148 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 The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot RAM ecm RAM with RedBoot in the flash boot sector ROMA ROM RedBoot running from redboot ROMA ecm flash address 0x40000 with ARM bootloader in flash boot sector RAMA RAM RedBoot running from redboot RAMA ecm RAM with ARM bootloader in flash boot sector 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 Ple
170. pe Description Default file String Pathname of file to delete Description This command deletes a file from the filesystem Examples Change current directory RedBoot gt fs list tests 211392 de o 2 size 96 212416 d 3 size l28 Go 203780 eem 1 size 16384 testl RedBoot gt fs del tests testl RedBoot gt fs list tests 211392 qp 2 size 9e 212216 dem 3 size 128 us RedBoot 85 fs del 86 fs move Name fs move Move file Synopsis fs move source dest Arguments Name Type Description Default source String Pathname of file to move dest String Pathname to new file location Description This command moves a file within a filesystem This command will fail if the destination file already exists or is in a different filesystem Examples Rename a file RedBoot gt list tests 211392 de 2 size 96 212416 d 3 size 128 205760 1 size 12288 testl RedBoot gt fs move tests testl tests test2 RedBoot gt fs list tests 211392 eee 2 size 128 212416 d 3 size 128 205 760 1 size 12288 test2 RedBoot gt 87 fs move 88 fs list Name fs list List filesystem directory Synopsis fs list directory Arguments Name Type Description Default directory String Pathname to directory to Current directory list Description This command prints a list of the conten
171. psis fis erase f 1ash address l length Arguments Name Type Description Default flash address Number Address of area to be erased length Number Length of area to be erased Description This command is used to erase a portion of flash memory forcibly There is no cross checking to ensure that the area being erased does not correspond to an existing image Examples Erase an area of the flash RedBoot gt fis erase f 0xa0040000 1 0x20000 Erase from 0xa0040000 0xa0060000 69 fis erase 70 fis write Name fis write Write flash area Synopsis fis write b mem address l length f flash_address Arguments Name Type Description Default mem_address Number Address of data to be written to flash length Number Length of data to be writtem flash_address Number Address of flash to write to Description This command is used to write data from memory to flash There is no cross checking to ensure that the area being written to does not correspond to an existing image Examples Write an area of data to the flash RedBoot gt fis write b 0x0606 000 1 0x1000 f 0x00020000 x CAUTION about to program FLASH at 0x00020000 0x0002ffff from 0x0606 000 continue y n y Erase from 0x00020000 0x00030000 Program from 0x0606 000 0x0607 000 at 0x00020000 71 fis write 72 Filesystem Interface If the platform has access to seconda
172. pter 3 export TARGET se7751 export ARCH_DIR sh export PLATFORM_DIR se7751 The names of configuration files are listed above with the description of the associated modes 203 Chapter 5 Installation and Testing 204
173. pts the data table starts at address 0x8084 Chapter 5 Installation and Testing 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 Memory Maps The RAM based page table is located at RAM start 0x4000 NOTE The virtual memory maps in this section use a C B and X column to indicate the caching policy for the region Description 000 Uncached Unbuffered 0 0 1 Uncached Buffered 0 10 Cached Buffered Write Through Read Allocate 0 1 1 Cached Buffered Write Back Read Allocate 100 Invalid not used 1 0 1 Uncached Buffered No write buffer coalescing 1 1 0 Mini DCache Policy set by Aux Ctl Register 1 1 1 Cached Buffered Write Back Read Write Allocate Virtual Address Physical Address XCB Size MB Description 0x00000000 0x00000000 010 32 SDRAM cached 0x10000000 0x00000000 010 32 SDRAM alias 0x20000000 0x00000000 000 32 SDRAM uncached 0x48000000 0x48000000 000 64 PCI Data 0x50000000 0x50000000 010 16 Flash CSO 0x51000000 0x51000000 000 112 CS1 CS7 0x60000000 0x60000000 000 64 Queue Manager 0xC0000000 0xC0000000 000 1 PCI Controller 0xC4000000 0xC4000000 000 1 Exp Bus Config 0xC8000000 0xC8000000 000 1 Misc IXP425 IO 0xCC000000 0xCC000000 000 1 SDRAM Config Platform Resource Usage The IXP425 programmable OSti
174. r it is needed If the RedBoot image takes up a fraction of an extra flash block it may be possible to reduce the image size enough to free this block by removing some features RAM Resources RedBoot reserves RAM space for its run time data and such things as CPU exception interrupt tables It normally does so at the bottom of the memory map It may also reserve space at the top of the memory map for configurable RedBoot features such as the net stack and zlib decompression support To see the actual amount of reserved space issue the version command which prints the RedBoot banner including the RAM usage RedBoot gt version RedBoot tm Non certified release bootstrap and debug environment ROM version UNKNOWN built 13 31 57 May 17 2002 Platform Copyright C FooBar SH 7615 2000 2001 2002 Free Software Foundation Inc RAM 0x06000000 0x06080000 0x06012498 0x06061000 available FLASH 0x00000000 0x00080000 8 blocks of 0x00010000 bytes each To simplify operations that temporarily need data in free memory the limits of free RAM are also available as aliases aligned to the nearest kilo byte limit These are named FREEMEMLO and FREEMEMHI and can be used in commands like any user defined alias RedBoot gt load r b FREEMEMLO file Raw file loaded 0x06012800 0x06013e53 assumed entry at 0x06012800 RedBoot gt x b FREEMEMHI 06061000 86 F5 EB D8 3D 11 51 F2 96 FA B2 DC 76 76 8F 77 Q vv w
175. ration checksum error or invalid key Ethernet eth0 MAC address 00 30 d3 03 04 99 IP 192 168 42 111 Default server 192 168 42 3 RedBoot tm bootstrap and debug environment RAM Non certified release version UNKNOWN built 13 15 40 Nov 9 2001 Platform AAED2000 system ARM9 Primary Copyright C 2000 2001 Free Software Foundation Inc RAM 0x00000000 0x01f80000 0x0006f 208 0x01f 51000 available FLASH 0x60000000 0x62000000 256 blocks of 0x00020000 bytes each RedBoot gt As can be seen from the output above the network has been configured to give the board an IP address and information about the default server If things are not set up on your network you can still continue but use the Y modem download method when loading the RedBoot ROMRAM mode image Now initialize RedBoot s FIS RedBoot gt fis init About to initialize format FLASH image system continue y n y Initialize FLASH Image System Warning device contents not erased some blocks may not be usable Erase from 0x61fe0000 0x62000000 Program from 0 01 5 000 0 01 5 300 at 0x61fe0000 Download the ROMRAM mode image of RedBoot via ethernet RedBoot gt load b FREEMEMLO redboot primary ROMRAM redboot srec or using serial Y modem protocol RedBoot gt load mode ymodem b FREEMEMLO Use the terminal emulator s Y modem upload command to send the file redboot primary ROMRAM redboot srec When the image has been downloaded program it into
176. rations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Since the normal RedBoot configuration does not use the FLASH ROM except during startup it is unnecessary to load aRAM based RedBoot before reprogramming the FLASH Initial Installation Method RedBoot can be installed by directly programming the FLASH device in IC7 or by using the Fujitsu pro vided software to download and install a version into the FLASH device Complete instructions are provided separately Special RedBoot Commands The exec command as described in Chapter 2 is supported by RedBoot on this target for executing Linux kernels Only the command line and timeout options are relevant to this platform Memory Maps The memory map of this platform is fixed by the hardware cannot be changed by software The only attributes 175 Chapter 5 Installation and Testing which can be modified are control over cacheability as noted below Address 00000000 03EFFFFF 03F00000 03FFFFFF 10000000 1FFFFFFF 20000000 201FFFFF 21000000 23FFFFFF 24000000 25FFFFFF 26000000 2FFFFFFF 30000000 FDFFFFFF FE000000 FEFFFFFF FF000000 FFIFFFFF FF200000 FF3FFFFF FF400000 FFFFFFFF Cache Yes OO OO J 0000 Resourc
177. rd The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm flash sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The IXDP425 flash is socketed so initial installation may be done using an appropriate device programmer JTAG based initial may also be used In either case the ROM mode RedBoot is programmed into the boot flash at address 0x00000000 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 should be configured for use by RedBoot See the Section called Persistent State Flash based Configuration and Control in Chapter 2 for more details LED Codes RedBoot uses the 4 digit LED display to indicate status during board initialization Possible codes are LED Actions Power On Reset Set the CPSR Enable coprocessor access Drain write and fill buffer Setup expansion bus chip selects Chapter 5 Installation and Testing 1001 Enable Icache 1002 Initialize SDRAM controller 1003 Switch flash CSO from 0x00000000 to 0x50000000 1004 Copy MMU table to RAM 1005 Setup TTB and domain permissions 1006 Enable MMU 1007 Enable DCache 1008 Enable branch target buffer 1009 Drain write and fill buffer Flush caches 100A
178. re starting kernel C params Parameters passed to kernel addr Kernel entry point defaulting to the entry point of the last image loaded 181 Chapter 5 Installation and Testing 182 Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to call with prototype void Linux int argc char argv char xxenvp RedBoot will place the appropriate data at the offset specified by the 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 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 irq_handler unsigned vector unsigned data On an atlas board the vector argument is one of 25 interrupts defined in hal mips atlas 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 B define CYGNUM_HAL_INTERRUPT_RTC 4 define CYGNUM_HAL_INTERRUPT_COREHI 2 define CYGNUM HAL INTERRUPT CORELO 6 define CYGNUM HAL INTERRUPT 7 d define CYGNUM HAL INTERRUPT PCIA 8 define CYGNUM HAL INTERRUPT PCIB 9 define CYGNUM HAL INTERRUPT PCIC 10 define CYGNUM HAL INTERRUPT PCID
179. rent line by the next line from the history buffer Chapter 1 Getting Started with RedBoot In the case of the fconfig command additional editing commands are possible As data are entered for this command the current previous value will be displayed and the cursor placed at the end of that data The user may use the editing keys above to move around in the data to modify it as appropriate Additionally when certain characters are entered at the end of the current value i e entered separately certain behavior is elicited caret switch to editing the previous item in the fconfig 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 Note P and AN do not have the same meaning while editing fconfig data and should not be used e period stop editing any further items This does not change the current item e Return 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 RedBoot Command History RedBoot provides support for listing and repeating previously entered commands A list of previously entered commands may be obtained by typing history at the command line RedBoot gt history 0 fis list 1 tcontig 1 2 load m ymodem 3 history The following history expansions may be used to execute commands in the history list repeats last comman
180. ress for an The entry address of last executable image used loaded file by the fis load command r Number Address where the image The load address of the should be relocated to by last loaded file the fis load command This is only relevant for images that will be loaded with the fis load command S Number Actual length of data It defaults to the length of written to image This is the last loaded file used to control the range over which the checksum is made 59 fis create 60 Name Type Description Default n When set no image data will be written to the flash Only the FIS directory will be updated name String Name of flash image Description 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 file into RAM and then the fis create command to write it to a flash image Examples Trying to create an extant image will require the action to be verified RedBoot gt fis create RedBoot f 0xa0000000 b 0x8c400000 1 0x20000 An image named RedBoot exists continue y n n Create a new test image let the command find a suitable place RedBoot gt fis create junk b 0x8c400000 1 0x20000 Erase from 0xa0040000 0xa0060000 Program from 0x8c400000 0x8c420000 at 0xa0040000 Erase from 0xa0fe0000 0xa1000000 Program from 0 8 740000 0 8
181. ror will result in one of the following error codes on the LEDs 77 BAD EEPROM checksum 55 I2C protocol error FF bank size error Setup DDR memory interface Enable branch target buffer Drain the write amp fill buffers Flush Icache Dcache and BTB Flush instuction and data TLBs Drain the write amp fill buffers ECC Scrub Loop Clean drain flush the main Dcache Clean drain flush the mini Dcache Flush Dcache Drain the write amp fill buffers Enable ECC Save SDRAM size Move MMU tables into RAM Clean drain flush the main Dcache Clean drain flush the mini Dcache Drain the write amp fill buffers Set the TTB register to DRAM mmu_table Set mode to IRQ mode Move SWI amp Undefined vectors to RAM at 0x0 Switch to supervisor mode Move remaining vectors to RAM at 0x0 Copy DATA to RAM Chapter 5 Installation and Testing Initialize interrupt exception environment Initialize stack Clear BSS section A3 Call platform specific hardware initialization A2 Run through static constructors Al Start up the eCos kernel or RedBoot Special RedBoot Commands A special RedBoot command diag is used to access a set of hardware diagnostics To access the diagnostic menu enter diag at the RedBoot prompt RedBoot gt diag Entering Hardware Diagnostics Disabling Data Cache 1080321 Hardware Tests Memory Tests Repeating Memory Tests Repeat On Fail Memory Tests Rotary Switch S1 Test 7
182. rrectly initialized FIS directory allows RedBoot to au tomatically determine the flash parameters Additionally executing the steps below as stated without loading other data or using other flash commands than possibly fis list allows RedBoot to automatically determine the image location and size parameters This greatly reduces the risk of potential critical mistakes due to typo graphical errors It is still always possible to explicitly specify parameters and indeed override these but it is not advised Note If the new RedBoot image has grown beyond the slot in flash reserved for it it is necessary to change the RedBoot configuration option CYGBLD REDBOOT MIN IMAGE SIZE so the FIS is created with adequate space reserved for RedBoot images In this case it is necessary to re initialize the FIS directory as described above using a RAM mode RedBoot compiled with the updated configuration Using the load command download the new flash based image from the host relocating the image to RAM RedBoot gt load r b FREEMEMLO redboot ROM bin Raw file loaded 0x06046800 0x06062fe8 assumed entry at 0x06046800 Note This command loads the RedBoot image using the TFTP protocol via a network connection Other methods of loading are available refer to the load command for more details Note Note that the binary version of the image is being downloaded This is to ensure that the memory after the image is loaded should match the contents of the
183. ry storage then RedBoot may be able to access a filesystem stored on this device RedBoot can access FAT filesystems stored on IDE disks or CompactFlash devices and can use JFFS2 filesystems stored in FLASH memory The fs command is used to manipulate files on filesystems Applications may be loaded into memory using the file mode of the load command fs info Name fs info Print filesystem information Synopsis fs info Arguments The command takes no arguments Description This command prints information about the filesystems that are available Three lists are produced The first is a list of the filsystem implementations available in RedBoot names from this list may be used in the t option to the fs mount command The second list describes the block devices that are available for mounting a filesystem names from this list may be used in the a option to the fs mount command The last list describes the filesystems that are already mounted Examples RedBoot gt fs info Filesystems available ramfs jffs2 Devices available dev flashl Mounted filesystems Device Filesystem Mounted on lt undefined gt ramfs dev flashl jffs2 flash RedBoot gt 73 fs info 74 fs mount Name fs mount Mount a filesystem Synopsis fs mount d device t fstype mountpoint Arguments Name Type Description Default device Number Device containing undefined filsystem t
184. s and have reserved slots in the FIS these can be seen after using the fis init command Other images can be manipulated by the user Note The images are listed in the order they appear in the FIS directory not by name or creation time Examples List the FIS directory RedBoot gt fis list Name RedBoot RedBoot config FIS directory FLASH addr 0x00000000 0x0007F000 0x00070000 Mem addr 0x00000000 0x0007F000 0x00070000 Length Entry point 0x00020000 0x00000000 0x00001000 0x00000000 0x0000F000 0x00000000 55 fis list 56 List the FIS directory with image checksums substituted for memory addresses RedBoot gt fis list c Name RedBoot RedBoot config FIS directory FLASH addr 0x00000000 0x0007F000 0x00070000 Checksum 0x00000000 0x00000000 0x00000000 Length 0x00020000 0x00001000 0x0000F000 Entry point 0x00000000 0x00000000 0x00000000 List the FIS directory with image data lengths substituted for flash block reservation lengths RedBoot gt fis list d Name RedBoot RedBoot config FIS directory FLASH addr 0x00000000 0x0007F000 0x00070000 Mem addr 0x00000000 0x0007F000 0x00070000 Datalen 0x00000000 0x00000000 0x00000000 Entry point 0x00000000 0x00000000 0x00000000 fis free Name fis free Free flash image Synopsis fis free Description This command shows which areas of the flash memory are currently not in use When a block contains non erased
185. stallation and Testing FLASH management is also supported Two basic RedBoot configurations are supported Configuration Mode Description File ROMRAM ROMRAM RedBoot running from redboot_ROMRAM ecm RAM but contained in the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Since the normal RedBoot configuration does not use the FLASH ROM except during startup it is unnecessary to load aRAM based RedBoot before reprogramming the FLASH Initial Installation Method The Portable Demonstration Kit should have been shipped with an existing version of RedBoot which can be upgraded to the current version using the instructions below Special RedBoot Commands The exec command as described in Chapter 2 is supported by RedBoot on this target for executing Linux kernels Only the command line and timeout options are relevant to this platform Memory Maps The memory map of this platform is fixed by the hardware cannot be changed by software The only attributes which can be modified are control over cacheability as noted below Address Cache Resource 00000000 03EFFFFF Yes SDRAM via plugin DIMM 03F00000 03FFFFFF Unused SDRAM 10000000 1FFFFFFF AX88796 Ethernet 20000000 2FFFFFFF o System FPGA 30000000 3FFFFFFF MB93493 companion chip unused 40000000 FCFFFFFF TT Unused FD000000 FDFFFFFF 27 FLASH ROM3 ROM4 unused FE00
186. start RedBoot with calmbreaker p dev term b run The Run LED on the core board should be on Connecting to the MDSboard with a terminal and typing enter should result in RedBoot reprinting the command prompt Chapter 5 Installation and Testing Special RedBoot Commands None Special Note on Serial Channel The MDSChip board uses a relatively slow microcontroller to provide the pseudo register interface to the core board This pseudo register interface provides access to the serial channel and write access to program memory Those interfaces are slow and the serial channel is easily overrun by a fast host For this reason GDB must be told to limit the size of code download packets to avoid serial overrun This is done with the following GDB command gdb set download write size 25 Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET calm32_ceb export ARCH_DIR calmrisc32 export PLATFORM_DIR ceb The names of configuration files are listed above with the description of the associated modes FRV FRV400 Fujitsu FR V 400 MB 93091 Overview RedBoot supports both serial ports which are available via the stacked serial connectors on the mother board The topmost port is the default and is considered to be port 0 by RedBoot The bottommost port is serial port 1 The default serial port settings ar
187. ster window 0x80000000 Ox8fffffff N SDRAM echo area used for PCI accesses Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET integrator export ARCH DIR arm 115 Chapter 5 Installation and Testing export PLATFORM_DIR integrator The names of configuration files are listed above with the description of the associated modes ARM ARM7 ARM9 ARM PID Board and EPI Dev7 Dev9 116 Overview RedBoot uses either of the serial ports The default serial port settings are 38400 8 N 1 Management of on board flash is also supported The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector 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 mode image of RedBoot and run it Initialize the flash image directory fis init Then download the ROM version of RedBoot and program it into flash RedBoot gt load b FREEMEMLO m ymodem RedBoot gt fi cr RedBoot Special RedBoot Commands None Memory Maps R
188. t Be Birne Re 189 Rebuilding tao uem et een 189 PowerPC MPC860T Analogue amp Micro PowerPC 860T sess 190 OVEIVIEW E M 190 Initial Installation Method o irte Rn SR e EP IO nn 190 Special RedBoot Commands ss 190 Memory Maps troia o eem oem aee tete etie qune eed 190 Rebuilding RedBoot ie sense uno en bee 190 PowerPC MPC8XX Motorola MBX 191 OVEIVIEW suc cese ERN ER RU a oh ae A 191 Initial Installation Method 580 58er gesehene snennopsinmeikn 191 Special RedBoot Commands sos 192 Memory Maps eerte POP sibs entr ee deter Re 192 Rebuilding RedBoot ge ee dete RE pee ett 192 SuperH SH3 SH7708 Hitachi EDK7708 sn 192 OVEIVIEW ER dis RER nn nes tee ca A RUN 192 Initial Installation Method energie een 193 Memory Maps eite bebe PE D P HERES UR EP UR RD UU ME 193 GAR A petra p Rasse pen 193 SuperH SH3 SH7709 Hitachi Solution Engine 77009 sess 193 COVER VIEW eher ette DRE ne ren term en ee ent EFIE RO TIRE ae 194 Initial Installation Method ecd on eter nete He eet eerte pee bebe ee darts 194 Special RedBoot Commands ss 194 Mem ory Maps rere eR eee tre ungen MR I ERREUR 195 Ethernet Driver i Site a Le ee nie SERE Een 196 Rebuilding REGB Ob eti eai aede pete deii yore 196 SuperH SH3 SH7729 Hitachi HS7729PCl
189. t Commands None Memory Maps RedBoot sets up the memory map primarily as described in the board s User Manual There are some minor differences noted in the following table Physical Virtual Resource Addresses Addresses 00000000 01FFFFFF 80000000 81FFFFFF Base SDRAM cached 00000000 01FFFFFF A0000000 ALFFFFFF Base SDRAM uncached 0C000000 0COBFFFF AC000000 ACOB0000 PCI IO space 0F000000 0F0001FF AF000000 AF0001FF VRC4375 Registers 1C000000 1COFFFFF BC000000 BCOFFFFF VRC4372 Registers 1C100000 1DFFFFFF BC100000 BDFFFFFF PCI Memory space 1FC00000 1FC7FFFF BFC00000 BFC7FFFF FLASH ROM 80000000 8000000D C0000000 C000000D RTC 8000000E 80007FFF C000000E C0007FFF NVRAM 81000000 81FFFFFF C1000000 C1FFFFFF Z85C30 DUART 82000000 82FFFFFF C2000000 C2FFFFFF 28536 Timer 83000000 83FFFFFF c3000000 C3FFFFFF 8255 Parallel port 87000000 87FFFFFF C7000000 C7FFFFFF Seven segment display NOTE By default the VRC4375 SIMM control registers are not programmed since the values used must depend on the SIMMs installed If SIMMs are to be used correct values must be placed in these registers before accessing the SIMM address range NOTE The allocation of address ranges to devices in the PCI IO and memory spaces is handled by the eCos PCI support library They do not correspond to those described in the board User Manual NOTE The MMU has been set up to relocate the VRC4372 supported devices mapped at physical ad dresses 0x8xxxxxxx to virtua
190. ted The following RedBoot configurations are supported Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm RAM with RedBoot in the flash boot sector Initial Installation Method The Solution Engine ships with the Hitachi boot monitor in EPROM which allows for initial programming of RedBoot 1 Set switches SW5 3 and SW5 4 to ON boot from EPROM 2 Connect a serial cable to COMI and power up the board 3 After the boot monitor banner invoke the flash download program command Ready f1 4 The monitor should now ask for input Flash ROM data copy to RAM Please Send A S format Record At this point copy the RedBoot ROM SREC file to the serial port cat redboot ROM eprom srec gt dev ttyS0 Eventually you should see something like Start Addrs A1000000 End Addrs Alxxxxxx Transfer complete from the monitor 5 Set switch SW5 3 to OFF boot from flash and reboot the board You should now see the RedBoot banner Special RedBoot Commands The exec command which allows the loading and execution of Linux kernels is supported for this board see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for the SE7751 are 201 Chapter 5 Installation and Testing 202 b lt addr gt Parameter block address This is normally the first p
191. tform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET assabet export ARCH DIR arm export PLATFORM DIR sallx0 assabet The names of configuration files are listed above with the description of the associated modes ARM StrongARM SA11X0 Bright Star Engineering commEngine and nanoEngine 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 The following RedBoot configurations are supported Configuration Mode Description File POST ROM RedBoot running from redboot ROM ecm the first free flash block at 0x40000 RAM RAM RedBoot running from redboot RAM ecm RAM with RedBoot in the flash boot sector 137 Chapter 5 Installation and Testing 138 Initial Installation Unlike other targets the nanoEngine comes equipped with boot firmware which you cannot modify See chap ter 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 a special configuration of the ROM mode starting at offset 0x40000 in the flash Briefly the POST configuration RedBoot image lives in flash following the BSE firmware The BSE firmware is
192. tftpd If it 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 Enable TFTP on Red Hat Linux 7 or newer 1 2 3 Ensure that the xinetd RPM is installed Ensure that the tftp server RPM is installed 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 If you are using Red Hat 8 or newer you may need to configure the built in firewall to allow through TFTP Either edit etc sysconfig iptables or run redhat config securitylevel on the command line or from the menu as System Settings gt Security Settings to lower the security level You should only do this with the permission of your systems administrator and if you are already behind a separate firewall NOTE Under Red Hat 7 you must address files by absolute pathnames for example t ttpboot boot img not boot img as you may have done with other implementations On systems newer than Red Hat 7 7 1 and beyond filenames are once again relative to the t ftpboot directory Chapter 1 Getting Started with RedBoot Enable BOOTP DHCP server on Red Hat Linux First ensure that you have the proper package dhcp not dhcpa installed The DHCP server provides Dynamic Host Configuration that is IP address and other data to hos
193. the go command Examples Load and run RedBoot RAM image RedBoot gt fis load RedBoot RAM fis load RedBoot gt go 62 fis delete Name fis delete Delete flash image Synopsis fis delete name Arguments Name Type Description Default name Number Name of image that should be deleted Description 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 Note Certain images are reserved by RedBoot and cannot be deleted RedBoot will issue a warning if this is attempted Examples RedBoot gt fis list Name RedBoot RedBoot config FIS directory junk flash addr 0xA0000000 OxAOFCOOOO OxAOFEO0000 0xA0040000 RedBoot gt fis delete junk Delete image junk continue Mem addr 0xA0000000 OxAOFCOO00 OxAOFEO000 0x8C400000 y n y Erase from 0xa0040000 0xa0060000 Erase from 0xa0fe0000 0xa1000000 Program from 0x8c7d0000 0x8c7 0000 at Length 0x020000 0x020000 0x020000 0x020000 Entry point 0x80000000 0x00000000 0x00000000 0x80000000 0xa0fe0000 63 fis delete 64 fis lock Name fis lock Lock flash area Synopsis fis lock f 1ash address 1 length Arguments Name Type Description Default flash_address Number Address of area to be locked length Number Length of area to be
194. ting up 1 on Install the debugger software WICE103E on a PC running Windows WinNT is probably the best choice for this in C PanaX Install the Matsushita provided project into the C Panax wicelO3e prj directory Install the RedBoot image files into the C Panax wice103e prj directory under the names redboot ram and redboot prom Make sure the PC s BIOS has the parallel port set to full bidirectional mode Connect the JTAG debugger to the PC s parallel port Connect the JTAG debugger to the board Set the switch on the front of the board to boot from boot PROM Power up the JTAG debugger and then power up the board Connect the board s Debug Serial port to a computer by a null modem cable Start minicom or some other serial communication software and set for 115200 baud 1 N 8 with hardware RTS CTS flow control Loading the RAM based RedBoot via JTAG To perform the first half of the operation the following steps should be followed 1 2 Start the JTAG debugger software Run the following commands at the JTAG debugger s prompt to set up the MMU registers on the CPU ed 0xc0002000 0x12000580 ed 0xd8c00100 0x8000fe01 ed 0xd8c00200 0x21111000 ed 0xd8c00204 0x00100200 ed 0xd8c00208 0x00000004 Q ed 0xd8c00110 0x8400fe01 0 8 00210 0x21111000 0 8 00214 0x00100200 Oxd8c00218 0x00000004 Q e Q e Q
195. to load the data Formatted data streams will have an implied load address which this option may override Depends on data format f location Number Address in flash to load the data Formatted data streams will have an implied load address which this option may override Depends on data format C channel Number Specify which I O channel to use for download This option is only supported when using either xmodem or ymodem protocol Depends on data format file name String The name of the file on the TFTP or HTTP 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 None Description The load command is used to download data into the target system Data can be loaded via a network con nection using either the TFTP or HTTP protocols or the console serial connection using 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 ELF executable program format Motorola S record SREC format or raw data Note When downloading an ELF image RedBoot will forcibly terminate the transfer once all the relevant loadable ELF sections have been received This behaviour reduces download time when using the X Y modem proto
196. trd is located The c option can be used to pass textual command line information to the kernel If the command line data contains any punctuation spaces etc then it must be quoted using the double quote character If the quote character is required it should be written as V The x option is optionally available on some bi endian platforms It is used to boot a kernel built with an endianess opposite of RedBoot Examples Execute a Linux kernel passing a command line which needs relocation The result from RedBoot is normally quiet with the target platform being passed over to Linux immediately RedBoot gt exec b 0x100000 1 0x80000 c noinitrd root dev mtdblock3 console ttySA0 Execute a Linux kernel default entry address and no relocation required with a timeout The emphasized lines are output from the loaded kernel RedBoot gt exec c console ttyS0 38400 ip dhcp nfsroot export elfs sh w 5 Now booting linux kernel Base address 0x8c001000 Entry 0x8c210000 Cmdline console ttyS0 38400 ip dhcp nfsroot export elfs sh About to start execution at 0x8x210000 abort with C within 5 seconds Linux version 2 4 10 pre6 gcc version 3 1 stdsh 010931 3 Thu Sep 27 11 04 23 BST 2001 100 Chapter 3 Rebuilding RedBoot Introduction RedBoot is built as an application on top of eCos The makefile rules for building RedBoot are part of the eCos CDL package so it s possible to build eCos from th
197. ts of the named directory Each line of the listing starts with the file s inode number which is its address in the filesystem Following is a set of UNIX like access flags the first character of this will be a d if this entry is a directory The third item indicates the number of links to the file Following this is the size of the file in bytes and the last item is its name Examples List the current directory RedBoot gt fs list 212416 d 212416 d 2113 92 SSS 206784 d RedBoot List a subdirectory RedBoot fs list 206784 d 212416 d 205760 RedBoot 3 size 128 3 size 128 1 size 4096 image 2 size 96 tests tests 2 size 96 3 size 128 1 size 16384 testl 89 fs list 90 fs write Name fs write Write to filesystem Synopsis fs write b mem_address 1 length name Arguments Name Type Description Default mem_address Number Address of data to be Address of last loaded written to flash file If not set by a load operation it must be specified length Number Length of data to be Length of last loaded file written name String Name of file to create Description This command is used to write data from memory to a file If the file does not exist it will be created If it does exist then it will be overwritten with the new contents Examples Write an area of data to a file RedBoot gt fs
198. ts 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 configuration file shown does both Refer to the DHCP documentation for more details Example 1 1 Sample DHCP configuration file POSSE pase Yetchdhepdconf rene nee 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 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 time 1 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 Enable DNS server on Red Hat Linux First ensure that you have the proper RPM package caching nameserver installed Then change the con figuration in etc named conf so that the forwarders point to the primary nameservers for your machine normally using the nameservers listed in etc res
199. ty of their respective owners Warranty eCos and RedBoot are open source software covered by a modified version of the GNU General Public Licence http www gnu org copyleft gpl html and you are welcome to change it and or distribute copies of it under certain conditions See http ecos sourceware org license overview html for more information about the license eCos and RedBoot software have 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 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
200. ube are b lt addr gt Location Linux kernel was loaded to ien Length of kernel C params Parameters passed to kernel r lt addr gt initrd ramdisk location S lt len gt Length of initrd ramdisk Memory Maps RedBoot sets up the following memory map on the CerfCube 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 0x00000000 0x000000 0x020000 0 0000 0xfe0000 0 0 000000 0 10000000 0 20000000 0 80000000 0xc0000000 0xe0000000 OXO1f fffff 0x0001ffff 0x0003ffff 0Ox00fdffff OxOOffffff OxOfffffff Oxl7ffffff Ox3fffffff Oxbfffffff Oxclffffff Oxe 7ffffff Virtual Address Range 0x00000000 0x08000000 0x10000000 0x20000000 0x50000000 0x80000000 0xc0000000 OxOlffffff OxOfffffff Oxl7ffffff Ox3fffffff Ox51ffffff Oxbfffffff Oxclffffff e w ZZ uuu KZKZZZRK De scription b to 32Mb FLASH nCS0 organized as below RedBoot RedBoot RAM version Fconfig data FIS directory Onboard ethernet CerfCube internal registers PC CIA Compact Flash SA 1110 Internal Registers DRAM Bank 0 32Mb SDRAM Cache Clean Description DRAM 32Mb Onboard ethernet controller CerfCube internal registers PCMCIA Compact Flash U
201. uffered B Physical Address Range 0x000 00000 0x08000000 0x10000000 0x180 00000 0x20000000 0x30000000 0x400 00000 0x48000000 0x80000000 0xc00 0xc80 0xd00 0xd80 0xe00 00000 00000 00000 00000 00000 OxO7fffff OxOffffff Oxl7fffff Oxlffffff Ox2ffffff Ox3ffffff OxA7fffff Ox4bfffff Oxbffffff Oxc7fffff Oxcffffff Oxd7fffff Oxdffffff Oxe7fffff Virtual Address Range 0x000 0x080 0x100 0x180 00000 00000 00000 00000 Description E flash f SA 1111 Board flash f Board Registers f Ethernet f SA 1111 Board PCMCIA f Compact Flash f SA 1111 Board f GFX f SA 1110 Internal Registers DRAM Bank 0 f DRAM Bank 1 f DRAM Bank 2 E DRAM Bank 3 f Cache Clean C B Description Ox01ffffff Y Y DRAM Bank 0 OxOfffffff Y Y SA 1111 Board flash Oxl7ffffff N Board Registers Oxlfffffff NN Ethernet Chapter 5 Installation and Testing 0x20000000 Ox2fffffff N N SA 1111 Board PCMCIA 0x30000000 Ox3fffffff NN Compact Flash 0x40000000 Ox47ffffff NN SA 1111 Board 0x48000000 Ox4bffffff NN GFX 0x50000000 Ox57ffffff Y Y flash 0x80000000 Oxbfffffff NN SA 1110 Internal Registers 0xc0000000 Oxclffffff N Y DRAM Bank 0 0xe0000000 Oxe7ffffff Y Y Cache Clean Platform Resource Usage The SA11x0 OS timer is used as a polled timer to provide timeout support for network and XModem file transfers Rebuilding RedBoot These shell variables provide the pla
202. umes that the board is plugged into a PC with BIOS This requires RedBoot to detect when the BIOS has configured the PCI X secondary bus If the board is placed in a backplane RedBoot will never see the BIOS configure the secondary bus To prevent this wait set switch S7E1 3 to ON when using the board in a backplane For the remaining switch settings the following is a known good configuration S1D1 All OFF S7E1 7 is ON all others OFF S8El 2 3 5 6 are ON all others OFF S8E2 2 3 are ON all others OFF S9E1 3 is ON all others OFF SADI 1 3 are ON all others OFF J9E1 2 3 jumpered JoF1 2 3 jumpered J3F1 Nothing jumpered J3G1 2 3 jumpered J1G2 2 3 jumpered LED Codes RedBoot uses the two digit LED display to indicate status during board initialization Possible codes are LED Actions Power On Reset 88 Setthe CPSR Enable coprocessor access Drain write and fill buffer Setup PBIU chip selects Al Enable the Icache A2 Move FLASH chip select from 0x0 to OXF0000000 Jump to new FLASH location A3 Setup and enable the MMU A4 I2C interface initialization 90 155 Chapter 5 Installation and Testing 156 91 92 93 94 AS A6 SL SE A7 A8 A9 AA AB AC AD A7 A6 AS A4 Wait for I2C initialization to complete Send address via I2C to the DIMM Wait for transmit complete Read SDRAM PD data from DIMM Read remainder of EEPROM data An er
203. ution of Linux kernels is supported for this architecture see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for MIPS boards are b lt addr gt Location to store command line and environment passed to kernel W lt time gt Wait time in seconds before starting kernel C params Parameters passed to kernel 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 call with prototype void Linux int argc char xxargv char xenvp 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 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 187 Chapter 5 Installation and Testing Physical Address Range Description 0x00000000 OxOffff
204. was made For example RedBoot gt fconfig 1 n boot_script false bootp false bootp_my_ip 10 16 19 176 bootp_server_ip 10 16 19 66 dtis ipi 10 16 19 1 gdb port 9000 net debug false RedBoot gt 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 continue y n y Unlock from 0x507c0000 0x507e0000 Erase from 0x507c0000 0x507e0000 Program from 0x0000a8d0 0x0000acd0 at 0x507c0000 Lock from 0x507c0000 0x507e0000 93 Chapter 2 RedBoot Commands and Examples 94 RedBoot gt Additionally nicknames can be used like aliases via the format nickname This allows the values stored by fconfig to be used directly by scripts and commands Depending on how your terminal program is connected and its capabilities you might find that you are unable to use line editing to delete the old value when using the default behaviour of fconfig nickname or just plain fconfig as shown in this example RedBoot gt fco bootp bootp false_ The user deletes the word false and enters true so the display looks like this RedBoot gt fco bootp bootp true Update RedBoot non volatile configuration continue y n y Unlock from RedBoot gt _ To edit when you cannot backspace use the optional flag a for dumb terminal to provide a simpler interface thus RedBoot gt fco d bootp bootp false _ and you enter the value i
205. 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 record file srec2flash EL S29 redboot srec redboot dl The Arlas Malta Developer s Kit CD contains an srecconv pl 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_ROM fl Flash management Additional config options The ethernet MAC address is stored in flash manually using the fconfig 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 is the hex representation of the board serial number Additional commands The exec command which allows the loading and execution of Linux kernels is supported for this architecture see the Section called Executing Programs from RedBoot in Chapter 2 The exec parameters used for MIPS boards are b addr Location to store command line and environment passed to kernel W time Wait time in seconds befo
206. xfe000000 Oxfe07ffff flash AMD29F040B Oxff000000 OxffOfffff MPC registers Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET mbx export ARCH DIR powerpc export PLATFORM DIR mbx The names of configuration files are listed above with the description of the associated modes SuperH SH3 SH7708 Hitachi EDK7708 Overview RedBoot uses the serial port The default serial port settings are 38400 8 N 1 192 Chapter 5 Installation and Testing Management of onboard flash is also supported The following RedBoot configurations are supported RAM with RedBoot in the flash boot sector Configuration Mode Description File ROM ROM RedBoot running from redboot_ROM ecm the board s flash boot sector RAM RAM RedBoot running from redboot_RAM ecm Initial Installation Method Program the ROM RedBoot image into flash using an eprom programmer Memory Maps RedBoot sets up the following memory map on the EDK7708 board Physical Address Range Description 0x80000000 0x8001ffff Flash 0x88000000 0x881fffff DRAM 0xa4000000 Oxa40000ff LED ON 0xb8000000 Oxb80000ff LED ON Rebuilding RedBoot These shell variables provide the platform specific information needed for building RedBoot according to the procedure described in Chapter 3 export TARGET edk7708
207. ystem 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 More information about RedBoot on the web The RedBoot Net Distribution web site http sources redhat com redboot contains downloadable sources and documentation for all publically released targets including the latest features and updates Installing RedBoot To install the RedBoot package follow the procedures detailed in the accompanying README Although there are other possible configurations 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 pla

Download Pdf Manuals

image

Related Search

Related Contents

Trust Universal Power Adapter PW-2999p UK  Worldwide Homefurnishings 502-747 Instructions / Assembly  Afficher - Services  DSA-1000 Hardware Manual  取扱説明書    MillPlus IT  USER MANUAL - WiFiRanger  PlugIn Installation Manual - Link Engine Management  

Copyright © All rights reserved.
Failed to retrieve file