📄 installation-and-testing.html
字号:
>ed 0xd8c00140, 0x9800f801</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xd8c00240, 0x00140000</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xd8c00244, 0x11011100</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xd8c00248, 0x01000001</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xda000000, 0x55561645</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xda000004, 0x000003c0</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xda000008, 0x9000fe01</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xda00000c, 0x9200fe01</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ed 0xda000000, 0xa89b0654</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
address space it can access:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
><TT
CLASS="USERINPUT"
><B
>ex 0x80000000,0x81ffffff,/mexram</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ex 0x84000000,0x85ffffff,/mexram</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ex 0x86000000,0x867fffff,/mexram</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ex 0x86800000,0x87ffffff,/mexram</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ex 0x8c000000,0x8cffffff,/mexram</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>ex 0x90000000,0x93ffffff,/mexram</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Instruct the debugger to load the RAM RedBoot image into RAM:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
><TT
CLASS="USERINPUT"
><B
>_pc=90000000</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>u_pc</B
></TT
>
<TT
CLASS="USERINPUT"
><B
>rd redboot.ram,90000000</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Load the boot PROM RedBoot into RAM:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
><TT
CLASS="USERINPUT"
><B
>rd redboot.prom,91020000</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Start RedBoot in RAM:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
><TT
CLASS="USERINPUT"
><B
>g</B
></TT
></PRE
></TD
></TR
></TABLE
><P
>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 “rh
8”.</P
></LI
></OL
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN4973">Loading the boot PROM-based RedBoot via the RAM mode RedBoot</H3
><P
>Once the RAM 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.</P
><P
></P
><OL
TYPE="1"
><LI
><P
>Instruct RedBoot to initialise the boot PROM:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>fi init</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Write the previously loaded redboot.prom image into the boot PROM:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>fi write -f 0x80000000 -b 0x91020000 -l 0x00020000</B
></TT
></PRE
></TD
></TR
></TABLE
></LI
><LI
><P
>Check that RedBoot has written the image:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>dump -b 0x91020000</B
></TT
>
RedBoot> <TT
CLASS="USERINPUT"
><B
>dump -b 0x80000000</B
></TT
></PRE
></TD
></TR
></TABLE
><P
>Barring the difference in address, the two dumps should be the same.</P
></LI
><LI
><P
>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.</P
></LI
><LI
><P
>Power off the board and unjumper ST18 to write-protect the contents of the boot
PROM. Then power the board back up.</P
></LI
><LI
><P
>Run the following command to initialise the system flash:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>fi init</B
></TT
></PRE
></TD
></TR
></TABLE
><P
>Then program the system flash based RedBoot into the system flash:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>load -r -b %{FREEMEMLO} redboot_FLASH.bin</B
></TT
>
RedBoot> <TT
CLASS="USERINPUT"
><B
>fi write -f 0x84000000 -b %{FREEMEMLO} -l 0x00020000</B
></TT
></PRE
></TD
></TR
></TABLE
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>NOTE: </B
>RedBoot arranges the flashes on booting such that they always appear at the same addresses,
no matter which one was booted from.</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
>A similar sequence of commands can be used to program the boot PROM when RedBoot has been
booted from an image stored in the system flash.</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SCREEN"
>RedBoot> <TT
CLASS="USERINPUT"
><B
>load -r -b %{FREEMEMLO} /tftpboot/redboot_ROM.bin</B
></TT
>
RedBoot> <TT
CLASS="USERINPUT"
><B
>fi write -f 0x80000000 -b %{FREEMEMLO} -l 0x00020000</B
></TT
></PRE
></TD
></TR
></TABLE
><P
>See <A
HREF="persistent-state-flash.html"
>the Section called <I
>Persistent State Flash-based Configuration and Control</I
> in Chapter 2</A
> for details on configuring the RedBoot in
general, and also <A
HREF="flash-image-system.html"
>the Section called <I
>Flash Image System (FIS)</I
> in Chapter 2</A
> for more details on programming the system
flash.</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN5014">Additional Commands</H2
><P
>The <B
CLASS="COMMAND"
>exec</B
> command which allows the loading and execution of
Linux kernels, is supported for this architecture (see <A
HREF="executing-programs.html"
>the Section called <I
>Executing Programs from RedBoot</I
> in Chapter 2</A
>). The
<B
CLASS="COMMAND"
>exec</B
> parameters used for ASB2305 board are:</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>-w <TT
CLASS="REPLACEABLE"
><I
><time></I
></TT
></DT
><DD
><P
>Wait time in seconds before starting kernel</P
></DD
><DT
>-c <TT
CLASS="REPLACEABLE"
><I
>"params"</I
></TT
></DT
><DD
><P
>Parameters passed to kernel</P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
><addr></I
></TT
></DT
><DD
><P
>Kernel entry point, defaulting to the entry point of the last image
loaded</P
></DD
></DL
></DIV
><P
>The parameter string is stored in the on-chip memory at location 0x8C001000, and is prefixed
by “cmdline:” if it was supplied.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN5037">Memory Maps</H2
><P
>RedBoot sets up the following memory map on the ASB2305 board.</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>NOTE: </B
>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.</P
></BLOCKQUOTE
></DIV
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>Physical Address Range Description
----------------------- -----------
0x80000000 - 0x9FFFFFFF Cached Region
0x80000000 - 0x81FFFFFF Boot PROM
0x84000000 - 0x85FFFFFF System Flash
0x86000000 - 0x86007FFF 64Kbit Sys Config EEPROM
0x86F90000 - 0x86F90003 4x 7-segment LEDs
0x86FA0000 - 0x86FA0003 Software DIP Switches
0x86FB0000 - 0x86FB001F PC16550 Debug Serial Port
0x8C000000 - 0x8FFFFFFF On-Chip Memory (repeated 16Kb SRAM)
0x90000000 - 0x93FFFFFF SDRAM
0x98000000 - 0x9BFFFFFF Paged PCI Memory Space (64Mb)
0x9C000000 - 0x9DFFFFFF PCI Local SRAM (32Mb)
0x9E000000 - 0x9E03FFFF PCI I/O Space
0x9E040000 - 0x9E0400FF AM33-PCI Bridge Registers
0x9FFFFFF4 - 0x9FFFFFF7 PCI Memory Page Register
0x9FFFFFF8 - 0x9FFFFFFF PCI Config Registers
0xA0000000 - 0xBFFFFFFF Uncached Mirror Region
0xC0000000 - 0xDFFFFFFF CPU Control Registers</PRE
></TD
></TR
></TABLE
><P
>The ASB2305 HAL makes use of the on-chip memory in the following way:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>0x8C000000 - 0x8C0000FF hal_vsr_table
0x8C000100 - 0x8C0001FF hal_virtual_vector_table
0x8C001000 - Linux command line (RedBoot exec command)
- 0x8C003FFF Emergency DoubleFault Exception Stack</PRE
></TD
></TR
></TABLE
><P
>Currently the CPU's interrupt table lies at the beginning of the RedBoot image, which must
therefore be aligned to a 0xFF000000 mask.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN5047">Rebuilding RedBoot</H2
><P
>These shell variables provide the platform-specific information
needed for building RedBoot according to the procedure described in
<A
HREF="rebuilding-redboot.html"
>Chapter 3</A
>:
<TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>export TARGET=asb2305
export ARCH_DIR=mn10300
export PLATFORM_DIR=asb2305</PRE
></TD
></TR
></TABLE
></P
><P
>The names of configuration files are listed above with the
description of the associated modes.</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="updating-redboot.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ecos-ref.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="e7t.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Updating RedBoot</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="redboot.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>ARM/ARM7 ARM Evaluator7T</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -