1 <!-- Copyright (C) 2003 Red Hat, Inc. -->
2 <!-- This material may be distributed only subject to the terms -->
3 <!-- and conditions set forth in the Open Publication License, v1.0 -->
4 <!-- or later (the latest version is presently available at -->
5 <!-- http://www.opencontent.org/openpub/). -->
6 <!-- Distribution of the work or derivative of the work in any -->
7 <!-- standard (paper) book form is prohibited unless prior -->
8 <!-- permission is obtained from the copyright holder. -->
12 >Installation and Testing</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
22 TITLE="RedBoot™ User's Guide"
23 HREF="redboot.html"><LINK
25 TITLE="Updating RedBoot"
26 HREF="updating-redboot.html"><LINK
28 TITLE="ARM/ARM7 ARM Evaluator7T"
29 HREF="e7t.html"></HEAD
40 SUMMARY="Header navigation table"
49 >eCos Reference Manual</TH
57 HREF="updating-redboot.html"
84 NAME="INSTALLATION-AND-TESTING">Chapter 5. Installation and Testing</H1
94 HREF="installation-and-testing.html#ASB2305"
95 >AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</A
100 >ARM/ARM7 ARM Evaluator7T</A
104 HREF="integrator.html"
105 >ARM/ARM7+ARM9 ARM Integrator</A
110 >ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</A
115 >ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</A
120 >ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</A
125 >ARM/ARM9 Agilent AAED2000</A
129 HREF="excaliburarm9.html"
130 >ARM/ARM9 Altera Excalibur</A
135 >ARM/StrongARM(SA110) Intel EBSA 285</A
140 >ARM/StrongARM(SA1100) Intel Brutus</A
145 >ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</A
150 >ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</A
155 >ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</A
160 >ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</A
165 >ARM/StrongARM(SA11X0) Intrinsyc CerfCube</A
170 >ARM/Xscale Cyclone IQ80310</A
175 >ARM/Xscale Intel IQ80321</A
179 HREF="calmrisc16.html"
180 >CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</A
184 HREF="calmrisc32.html"
185 >CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</A
190 >FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</A
195 >IA32/x86 x86-Based PC</A
200 >MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</A
205 >MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</A
210 >MIPS/RM7000 PMC-Sierra Ocelot</A
215 >MIPS/VR4375 NEC DDB-VRC4375</A
220 >PowerPC/MPC860T Analogue & Micro PowerPC 860T</A
225 >PowerPC/MPC8XX Motorola MBX</A
230 >SuperH/SH3(SH7708) Hitachi EDK7708</A
235 >SuperH/SH3(SH7709) Hitachi Solution Engine 7709</A
239 HREF="hs7729pci.html"
240 >SuperH/SH3(SH7729) Hitachi HS7729PCI</A
245 >SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</A
250 >SuperH/SH4(SH7751) Hitachi Solution Engine 7751</A
259 NAME="ASB2305">AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</H1
265 NAME="AEN4839">Overview</H2
268 RedBoot supports the debug serial port and the built in ethernet port for communication and
269 downloads. The default serial port settings are 115200,8,N,1 with RTS/CTS flow control. RedBoot can
270 run from either flash, and can support flash management for either the boot PROM or the system
273 >The following RedBoot configurations are supported:
276 CLASS="INFORMALTABLE"
316 >RedBoot running from the boot PROM and able to
317 access the system flash.</TD
335 >RedBoot running from the system flash and able to
336 access the boot PROM.</TD
340 >redboot_FLASH.ecm</TD
354 >RedBoot running from RAM and able to access the
373 NAME="AEN4873">Initial Installation</H2
375 >Unless a pre-programmed system flash module is available to be plugged into a new board,
376 RedBoot must be installed with the aid of a JTAG interface unit. To achieve this, the RAM mode
377 RedBoot must be loaded directly into RAM by JTAG and started, and then <SPAN
384 must be used to store the ROM mode RedBoot into the boot PROM.</P
386 >These instructions assume that you have binary images of the RAM-based and boot PROM-based
387 RedBoot images available.</P
393 NAME="AEN4878">Preparing to program the board</H3
395 >If the board is to be programmed, whether via JTAG or RedBoot, some hardware settings need to
402 >Jumper across ST18 on the board to allow write access to the boot PROM.</P
406 >Set DIP switch S1-3 to OFF to allow RedBoot to write to the system flash.</P
410 >Set the switch S5 (on the front of the board) to boot from whichever flash is
417 > being programmed. Note that the RedBoot image cannot access the flash from
418 which it is currently executing (it can only access the other flash).</P
422 >The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing
423 TFTP services if that is how RedBoot should pick up the images it is going to program into the
424 flash. Alternatively, the images can be passed by YMODEM over the serial link.</P
431 NAME="AEN4890">Preparing to use the JTAG debugger</H3
433 >The JTAG debugger will also need setting up:</P
440 >Install the JTAG debugger software (WICE103E) on a PC running Windows (WinNT is
441 probably the best choice for this) in “C:/PanaX”.</P
445 >Install the Matsushita provided “project” into the
446 “C:/Panax/wice103e/prj” directory.</P
450 >Install the RedBoot image files into the “C:/Panax/wice103e/prj”
451 directory under the names redboot.ram and redboot.prom.</P
455 >Make sure the PC's BIOS has the parallel port set to full bidirectional
460 >Connect the JTAG debugger to the PC's parallel port.</P
464 >Connect the JTAG debugger to the board.</P
468 >Set the switch on the front of the board to boot from “boot
473 >Power up the JTAG debugger and then power up the board.</P
477 >Connect the board's Debug Serial port to a computer by a null modem cable.</P
481 >Start minicom or some other serial communication software and set for 115200 baud,
482 1-N-8 with hardware (RTS/CTS) flow control.</P
491 NAME="AEN4914">Loading the RAM-based RedBoot via JTAG</H3
493 >To perform the first half of the operation, the following steps should be followed:</P
500 >Start the JTAG debugger software.</P
504 >Run the following commands at the JTAG debugger's prompt to set up the MMU registers on the
517 >ed 0xc0002000, 0x12000580</B
524 >ed 0xd8c00100, 0x8000fe01</B
530 >ed 0xd8c00200, 0x21111000</B
536 >ed 0xd8c00204, 0x00100200</B
542 >ed 0xd8c00208, 0x00000004</B
549 >ed 0xd8c00110, 0x8400fe01</B
555 >ed 0xd8c00210, 0x21111000</B
561 >ed 0xd8c00214, 0x00100200</B
567 >ed 0xd8c00218, 0x00000004</B
574 >ed 0xd8c00120, 0x8600ff81</B
580 >ed 0xd8c00220, 0x21111000</B
586 >ed 0xd8c00224, 0x00100200</B
592 >ed 0xd8c00228, 0x00000004</B
599 >ed 0xd8c00130, 0x8680ff81</B
605 >ed 0xd8c00230, 0x21111000</B
611 >ed 0xd8c00234, 0x00100200</B
617 >ed 0xd8c00238, 0x00000004</B
624 >ed 0xd8c00140, 0x9800f801</B
630 >ed 0xd8c00240, 0x00140000</B
636 >ed 0xd8c00244, 0x11011100</B
642 >ed 0xd8c00248, 0x01000001</B
649 >ed 0xda000000, 0x55561645</B
655 >ed 0xda000004, 0x000003c0</B
661 >ed 0xda000008, 0x9000fe01</B
667 >ed 0xda00000c, 0x9200fe01</B
673 >ed 0xda000000, 0xa89b0654</B
682 >Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
683 address space it can access:</P
695 >ex 0x80000000,0x81ffffff,/mexram</B
701 >ex 0x84000000,0x85ffffff,/mexram</B
707 >ex 0x86000000,0x867fffff,/mexram</B
713 >ex 0x86800000,0x87ffffff,/mexram</B
719 >ex 0x8c000000,0x8cffffff,/mexram</B
725 >ex 0x90000000,0x93ffffff,/mexram</B
734 >Instruct the debugger to load the RAM RedBoot image into RAM:</P
758 >rd redboot.ram,90000000</B
767 >Load the boot PROM RedBoot into RAM:</P
779 >rd redboot.prom,91020000</B
788 >Start RedBoot in RAM:</P
807 >Note that RedBoot may take some time to start up, as it will attempt to query a BOOTP or DHCP
808 server to try and automatically get an IP address for the board. Note, however, that it should send
809 a plus over the serial port immediately, and the 7-segment LEDs should display “rh
819 NAME="AEN4973">Loading the boot PROM-based RedBoot via the RAM mode RedBoot</H3
821 >Once the RAM mode RedBoot is up and running, it can be communicated with by way of the serial
822 port. Commands can now be entered directly to RedBoot for flashing the boot PROM.</P
829 >Instruct RedBoot to initialise the boot PROM:</P
850 >Write the previously loaded redboot.prom image into the boot PROM:</P
862 >fi write -f 0x80000000 -b 0x91020000 -l 0x00020000</B
871 >Check that RedBoot has written the image:</P
883 >dump -b 0x91020000</B
889 >dump -b 0x80000000</B
896 >Barring the difference in address, the two dumps should be the same.</P
900 >Close the JTAG software and power-cycle the board. The RedBoot banners should be
901 displayed again over the serial port, followed by the RedBoot prompt. The boot PROM-based RedBoot
902 will now be running.</P
906 >Power off the board and unjumper ST18 to write-protect the contents of the boot
907 PROM. Then power the board back up.</P
911 >Run the following command to initialise the system flash:</P
930 >Then program the system flash based RedBoot into the system flash:</P
942 >load -r -b %{FREEMEMLO} redboot_FLASH.bin</B
948 >fi write -f 0x84000000 -b %{FREEMEMLO} -l 0x00020000</B
961 >RedBoot arranges the flashes on booting such that they always appear at the same addresses,
962 no matter which one was booted from.</P
968 >A similar sequence of commands can be used to program the boot PROM when RedBoot has been
969 booted from an image stored in the system flash.</P
981 >load -r -b %{FREEMEMLO} /tftpboot/redboot_ROM.bin</B
987 >fi write -f 0x80000000 -b %{FREEMEMLO} -l 0x00020000</B
995 HREF="persistent-state-flash.html"
996 >the Section called <I
997 >Persistent State Flash-based Configuration and Control</I
999 > for details on configuring the RedBoot in
1000 general, and also <A
1001 HREF="flash-image-system.html"
1002 >the Section called <I
1003 >Flash Image System (FIS)</I
1005 > for more details on programming the system
1016 NAME="AEN5014">Additional Commands</H2
1021 > command which allows the loading and execution of
1022 Linux kernels, is supported for this architecture (see <A
1023 HREF="executing-programs.html"
1024 >the Section called <I
1025 >Executing Programs from RedBoot</I
1031 > parameters used for ASB2305 board are:</P
1035 CLASS="VARIABLELIST"
1046 >Wait time in seconds before starting kernel</P
1057 >Parameters passed to kernel</P
1068 >Kernel entry point, defaulting to the entry point of the last image
1074 >The parameter string is stored in the on-chip memory at location 0x8C001000, and is prefixed
1075 by “cmdline:” if it was supplied.</P
1082 NAME="AEN5037">Memory Maps</H2
1084 >RedBoot sets up the following memory map on the ASB2305 board.</P
1092 >The regions mapped between 0x80000000-0x9FFFFFFF are cached by the CPU. However, all those
1093 regions can be accessed uncached by adding 0x20000000 to the address.</P
1103 CLASS="PROGRAMLISTING"
1104 >Physical Address Range Description
1105 ----------------------- -----------
1106 0x80000000 - 0x9FFFFFFF Cached Region
1107 0x80000000 - 0x81FFFFFF Boot PROM
1108 0x84000000 - 0x85FFFFFF System Flash
1109 0x86000000 - 0x86007FFF 64Kbit Sys Config EEPROM
1110 0x86F90000 - 0x86F90003 4x 7-segment LEDs
1111 0x86FA0000 - 0x86FA0003 Software DIP Switches
1112 0x86FB0000 - 0x86FB001F PC16550 Debug Serial Port
1113 0x8C000000 - 0x8FFFFFFF On-Chip Memory (repeated 16Kb SRAM)
1114 0x90000000 - 0x93FFFFFF SDRAM
1115 0x98000000 - 0x9BFFFFFF Paged PCI Memory Space (64Mb)
1116 0x9C000000 - 0x9DFFFFFF PCI Local SRAM (32Mb)
1117 0x9E000000 - 0x9E03FFFF PCI I/O Space
1118 0x9E040000 - 0x9E0400FF AM33-PCI Bridge Registers
1119 0x9FFFFFF4 - 0x9FFFFFF7 PCI Memory Page Register
1120 0x9FFFFFF8 - 0x9FFFFFFF PCI Config Registers
1121 0xA0000000 - 0xBFFFFFFF Uncached Mirror Region
1122 0xC0000000 - 0xDFFFFFFF CPU Control Registers</PRE
1127 >The ASB2305 HAL makes use of the on-chip memory in the following way:</P
1135 CLASS="PROGRAMLISTING"
1136 >0x8C000000 - 0x8C0000FF hal_vsr_table
1137 0x8C000100 - 0x8C0001FF hal_virtual_vector_table
1138 0x8C001000 - Linux command line (RedBoot exec command)
1139 - 0x8C003FFF Emergency DoubleFault Exception Stack</PRE
1144 >Currently the CPU's interrupt table lies at the beginning of the RedBoot image, which must
1145 therefore be aligned to a 0xFF000000 mask.</P
1152 NAME="AEN5047">Rebuilding RedBoot</H2
1154 >These shell variables provide the platform-specific information
1155 needed for building RedBoot according to the procedure described in
1157 HREF="rebuilding-redboot.html"
1167 CLASS="PROGRAMLISTING"
1168 >export TARGET=asb2305
1169 export ARCH_DIR=mn10300
1170 export PLATFORM_DIR=asb2305</PRE
1176 >The names of configuration files are listed above with the
1177 description of the associated modes.</P
1186 SUMMARY="Footer navigation table"
1197 HREF="updating-redboot.html"
1206 HREF="ecos-ref.html"
1225 >Updating RedBoot</TD
1239 >ARM/ARM7 ARM Evaluator7T</TD