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 >MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</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="Installation and Testing"
23 HREF="installation-and-testing.html"><LINK
25 TITLE="IA32/x86 x86-Based PC"
26 HREF="x86pc.html"><LINK
28 TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board "
29 HREF="malta.html"></HEAD
40 SUMMARY="Header navigation table"
49 >eCos Reference Manual</TH
65 >Chapter 5. Installation and Testing</TD
85 NAME="ATLAS">MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</H1
91 NAME="AEN6659">Overview</H2
93 >RedBoot supports the DgbSer
94 serial port and the built in ethernet port for communication and downloads.
95 The default serial port settings are 115200,8,N,1. RedBoot runs from and supports
96 flash management for the system flash region.</P
98 >The following RedBoot configurations are supported:
101 CLASS="INFORMALTABLE"
141 >RedBoot running from the board's flash boot
160 >RedBoot running from RAM with RedBoot in the
161 flash boot sector.</TD
179 NAME="AEN6688">Initial Installation</H2
181 >RedBoot is installed using the code download facility built into the
182 Atlas board. See the Atlas User manual for details, and also the Atlas download
184 HREF="atlas.html#ATLAS-DOWNLOAD-FORMAT"
185 >the Section called <I
186 >Atlas download format</I
194 NAME="AEN6692">Quick download instructions</H3
196 >Here are quick start instructions for downloading the prebuilt RedBoot
204 >Locate the prebuilt files in the bin directory: <TT
214 >Make sure switch S1-1 is OFF and switch S5-1 is ON. Reset
215 the board and verify that the LED display reads <TT
216 CLASS="COMPUTEROUTPUT"
222 >Make sure your parallel port is connected to the 1284 port
223 Of the Atlas board. </P
231 parallel port to erase previous images:
243 >cat deleteall.dl >/dev/lp0</B
250 When this is complete, the LED display should read
252 CLASS="COMPUTEROUTPUT"
258 >Send the ROM mode RedBoot image to the board:
270 >cat redboot.dl >/dev/lp0</B
277 When this is complete, the LED display should show the last
278 address programmed. This will be something like: <TT
279 CLASS="COMPUTEROUTPUT"
285 >Change switch S5-1 to OFF and reset the board. The LED display
287 CLASS="COMPUTEROUTPUT"
300 > commands to initialize the flash.
302 HREF="atlas.html#ATLAS-ADDITIONAL-FCONFIG-OPTIONS"
303 >the Section called <I
304 >Additional config options</I
307 HREF="flash-image-system.html"
308 >the Section called <I
309 >Flash Image System (FIS)</I
313 HREF="persistent-state-flash.html"
314 >the Section called <I
315 >Persistent State Flash-based Configuration and Control</I
326 NAME="ATLAS-DOWNLOAD-FORMAT">Atlas download format</H3
328 >In order to download RedBoot to the Atlas board, it must be converted
329 to the Atlas download format. There are different ways of doing this depending
330 on which version of the developer's kit is shipped with the board. </P
334 >Atlas Developer's Kit</I
335 > CD contains an <SPAN
338 > utility. The source code for this utility is part
341 >yamon/yamon-src-01.01.tar.gz</TT
343 on the Dev Kit CD. The path in the expanded tarball is <TT
350 > to convert the S-record file:
362 >srec2flash -EL -S29 redboot.srec >redboot.dl</B
371 >Atlas/Malta Developer's Kit</I
376 > utility which requires
377 Perl. This utilty is part of the <TT
379 >yamon/yamon-src-02.00.tar.gz</TT
381 tarball on the Dev Kit CD. The path in the expanded tarball
388 > to convert the S-record file:
400 >cp redboot_ROM.srec redboot_ROM.rec</B
406 >srecconv.pl -ES L -A 29 redboot_ROM</B
413 The resulting file is named <TT
424 NAME="AEN6746">Flash management</H2
430 NAME="ATLAS-ADDITIONAL-FCONFIG-OPTIONS">Additional config options</H3
432 >The ethernet MAC address is stored in flash manually using the <B
435 > command. You can use the YAMON <B
439 > command to print out the board ethernet address.
440 Typically, it is: <TABLE
463 > is the hex representation of the
464 board serial number.</P
472 NAME="AEN6756">Additional commands</H2
477 > command which allows the
478 loading and execution of Linux kernels, is supported for this architecture
480 HREF="executing-programs.html"
481 >the Section called <I
482 >Executing Programs from RedBoot</I
488 > parameters used for MIPS boards are:</P
503 >Location to store command line and environment passed to kernel</P
514 >Wait time in seconds before starting kernel</P
525 >Parameters passed to kernel</P
536 >Kernel entry point, defaulting to the entry point of the last image
542 >Linux kernels on MIPS platforms expect the entry point to be called with arguments
543 in the registers equivalent to a C call with prototype:
551 CLASS="PROGRAMLISTING"
552 >void Linux(int argc, char **argv, char **envp);</PRE
558 >RedBoot will place the appropriate data at the offset specified by the
564 > parameter, or by default at address 0x80080000, and will set the
565 arguments accordingly when calling into the kernel.</P
567 >The default entry point, if no image with explicit entry point has been loaded and
568 none is specified, is 0x80000750.</P
575 NAME="AEN6788">Interrupts</H2
577 >RedBoot uses an interrupt vector table which is located at address 0x80000400.
578 Entries in this table are pointers to functions with this protoype: <TABLE
585 CLASS="PROGRAMLISTING"
586 >int irq_handler( unsigned vector, unsigned data )</PRE
591 board, the vector argument is one of 25 interrupts defined in <TT
592 CLASS="COMPUTEROUTPUT"
598 >/include/plf_intr.h</TT
606 CLASS="PROGRAMLISTING"
607 >#define CYGNUM_HAL_INTERRUPT_SER 0
608 #define CYGNUM_HAL_INTERRUPT_TIM0 1
609 #define CYGNUM_HAL_INTERRUPT_2 2
610 #define CYGNUM_HAL_INTERRUPT_3 3
611 #define CYGNUM_HAL_INTERRUPT_RTC 4
612 #define CYGNUM_HAL_INTERRUPT_COREHI 5
613 #define CYGNUM_HAL_INTERRUPT_CORELO 6
614 #define CYGNUM_HAL_INTERRUPT_7 7
615 #define CYGNUM_HAL_INTERRUPT_PCIA 8
616 #define CYGNUM_HAL_INTERRUPT_PCIB 9
617 #define CYGNUM_HAL_INTERRUPT_PCIC 10
618 #define CYGNUM_HAL_INTERRUPT_PCID 11
619 #define CYGNUM_HAL_INTERRUPT_ENUM 12
620 #define CYGNUM_HAL_INTERRUPT_DEG 13
621 #define CYGNUM_HAL_INTERRUPT_ATXFAIL 14
622 #define CYGNUM_HAL_INTERRUPT_INTA 15
623 #define CYGNUM_HAL_INTERRUPT_INTB 16
624 #define CYGNUM_HAL_INTERRUPT_INTC 17
625 #define CYGNUM_HAL_INTERRUPT_INTD 18
626 #define CYGNUM_HAL_INTERRUPT_SERR 19
627 #define CYGNUM_HAL_INTERRUPT_HW1 20
628 #define CYGNUM_HAL_INTERRUPT_HW2 21
629 #define CYGNUM_HAL_INTERRUPT_HW3 22
630 #define CYGNUM_HAL_INTERRUPT_HW4 23
631 #define CYGNUM_HAL_INTERRUPT_HW5 24</PRE
636 passed to the ISR is pulled from a data table (<TT
637 CLASS="COMPUTEROUTPUT"
638 >hal_interrupt_data</TT
639 >) which immediately follows the interrupt vector table. With
640 25 interrupts, the data table starts at address 0x80000464 on atlas.</P
642 >An application may create a normal C function with the above prototype
643 to be an ISR. Just poke its address into the table at the correct index and
644 enable the interrupt at its source. The return value of the ISR is ignored
652 NAME="AEN6797">Memory Maps</H2
654 >Memory Maps RedBoot sets up the following memory map on the Atlas board.
662 CLASS="PROGRAMLISTING"
663 >Physical Address Range Description
664 ----------------------- -------------
665 0x00000000 - 0x07ffffff SDRAM
666 0x08000000 - 0x17ffffff PCI Memory Space
667 0x18000000 - 0x1bdfffff PCI I/O Space
668 0x1be00000 - 0x1bffffff System Controller
669 0x1c000000 - 0x1dffffff System flash
670 0x1e000000 - 0x1e3fffff Monitor flash
671 0x1f000000 - 0x1fbfffff FPGA</PRE
682 NAME="AEN6801">Rebuilding RedBoot</H2
684 >These shell variables provide the platform-specific information
685 needed for building RedBoot according to the procedure described in
687 HREF="rebuilding-redboot.html"
697 CLASS="PROGRAMLISTING"
698 >export TARGET=atlas_mips32_4kc
699 export TARGET=atlas_mips64_5kc
701 export PLATFORM_DIR=atlas</PRE
707 Use one of the TARGET settings only. </P
709 >The names of configuration files are listed above with the
710 description of the associated modes.</P
718 SUMMARY="Footer navigation table"
757 >IA32/x86 x86-Based PC</TD
763 HREF="installation-and-testing.html"
771 >MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</TD