This guide describes how to run the ChorusOSTM 4.0 product for the MPC8xx processor family.
ChorusOS 4.0 MPC8xx specific information is provided in the following major sections:
"Development Environment", includes supported hosts, host operating systems and development systems.
"ChorusOS 4.0 Supported Features", includes kernel components and POSIX components.
"Utilities", includes host and target utilities.
"Reference Hardware", includes supported reference platforms, supported devices, and validated reference platforms.
Appendix A, ChorusOS 4.0 for MPC8xx Product Packages and Part Numbers, details the list of Solaris packages in the product components, and the associated part numbers.
See the ChorusOS 4.0 Installation Guide for Solaris Hosts for a description of the installation process of the ChorusOS 4.0 product on a host workstation running the SolarisTM operating environment. This document also describes how to set up a boot server running the Solaris operating environment.
See the ChorusOS 4.0 Introduction for a complete description of the ChorusOS 4.0 features.
The following table describes the typographic changes used in this book.
Table 1-1 Typographical Conventions
Typeface or Symbol |
Meaning |
Example |
---|---|---|
AaBbCc123 | The names of commands, files, and directories; on-screen computer output |
Edit your .login file. Use ls -a to list all files. machine_name% you have mail. |
AaBbCc123 | What you type, contrasted with on-screen computer output | machine_name% su Password: |
AaBbCc123 | Command-line placeholder: replace with a real name or value |
To delete a file, type rm filename. |
AaBbCc123 |
Book titles, new words or terms, or words to be emphasized. |
Read Chapter 6 in User's Guide. These are called class options. You must be root to do this. |
The following table shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.
Table 1-2 Shell Prompts
Shell |
Prompt |
---|---|
C shell prompt | machine_name% |
C shell superuser prompt | machine_name# |
Bourne shell and Korn shell prompt | $ |
Bourne shell and Korn shell superuser prompt | # |
Fatbrain.com, an Internet professional bookstore, stocks selected product documentation from Sun Microsystems, Inc.
For a list of documents and how to order them, visit the Sun Documentation Center on Fatbrain.com at http://www1.fatbrain.com/documentation/sun.
The docs.sun.comSM Web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. The URL is http://www.oracle.com/technetwork/indexes/documentation/index.html.
Sun Support Access offerings are available exclusively to members of the Sun Developer Connection Program. To get free membership in the Sun Developer Connection Program, go to http://www.sun.com/developers. For more information or to purchase Sun Support Access offerings, visit: http://www.sun.com/developers/support or contact the Sun Developer Connection Program office near you.
The ChorusOS 4.0 product provides a host-target development environment. Applications are developed on a workstation (the host), and then downloaded and executed on a specific board (the target).
A cross development system is needed to build the applications that execute on the target board (see Section "Utilities").
Prerequisites for the Solaris host reference configuration are the following:
Sun SPARCstationTM
Solaris 2.6, or Solaris 7
JDKTM 1.1.3 to 1.1.8, for the installation tool
JDK 1.2, for the graphical configuration tool
This development environment component is bundled with the ChorusOS 4.0 for MPC8xx product:
Chorus Cross Development System 5.0, target PowerPC ELF
The Chorus Cross Development System is based on the Experimental GNU Compiler System egcs 1.1.2 and binutils 2.9.1 and additional patches.
This development environment component is bundled with the ChorusOS 4.0 for MPC8xx product:
XRAY Debugger from Mentor Graphics, target PowerPC ELF version 4.4crb and additional patches.
The following table shows the ChorusOS kernel and operating system optional features that are available for the MPC8xx processor family. The availability status of a feature, can be one of:
The feature is supported, and is configurable with the configurator(1CC) command, or with the ews GUI configuration tool.
Please refer to the note at the end of the table for information about specific conditions, or restrictions, for a given supported feature.
Some of the features (such as MSDOSFS, FLASH, FS_MAPPER, for example) require specific low-level drivers. These features operate only on platforms which provide these drivers.
The feature is not supported.
The ChorusOS operating system provides the elementary libraries indicated in the following list:
The following utilities may be run on the target ChorusOS operating system:
The following utilities may be run on the host machine:
ChorusOS 4.0 targets are described in this section from three different points of view:
This subsection describes the processors on which the ChorusOS 4.0 product can run as well as the details of the BSPs included in the delivery.
This section describes all the target platforms which can be used as references in the context of Sun support contracts.
This section describes the precise platforms used to run the Sun QA tests; this may be useful, in case of bugs, as a hint or guide to help in identifying issues which are closely hardware related.
The ChorusOS 4.0 system for MPC8xx supports the following processors:
Motorola PowerPC MPC860
Motorola PowerPC MPC821
Motorola PowerPC MPC823
The ChorusOS 4.0 system for MPC8xx supports the following reference BSP:
mpc8xxADS Reference BSP
The mpc8xxADS reference BSP supports the following boards:
The mpc8xxADS reference BSP supports the following MPC860/821 FADS on board devices:
Device Id |
ChorusOS Driver |
---|---|
cpu (time base and decrementer) |
sun:powerpc-(tb,dec)-timer |
flash (FLASH memory) |
sun:bus-amd29xxx-flash |
quicc-8xx (QUICC bus) |
sun:powerpc-mpc8xx-(bus, quicc) |
quicc-8xx/smc-1 (RS232) |
sun:-smc-dbglink (console) |
quicc-8xx/smc-2 (RS232) |
sun:quicc-smc-uart |
quicc-8xx/scc-1 (Ethernet 10BT) |
sun:quicc-scc-ether |
quicc-8xx/scc-2 |
not supported |
quicc-8xx/scc-3 |
not supported |
quicc-8xx/scc-4 |
not supported |
The mpc8xxADS reference BSP supports the following MPC823 FADS on board devices:
Device Id |
ChorusOS Driver |
---|---|
cpu (time base and decrementer) |
sun:powerpc-(tb,dec)-timer |
flash (FLASH memory) |
sun:bus-amd29xxx-flash |
quicc-8xx (QUICC bus) |
sun:powerpc-mpc8xx-(bus, quicc) |
quicc-8xx/smc-1 (RS232) |
sun:-smc-dbglink (console) |
quicc-8xx/smc-2 |
not supported |
quicc-8xx/scc-1 (USB) |
not supported |
quicc-8xx/scc-2 (Ethernet 10BT) |
sun:quicc-scc-ether |
This section describes all the target platforms which can be used as references in the context of Sun support contracts.
Evaluation/Development Board
MPC821/823 (50 Mhz)
16-32 MB
Asynchronous serial ports (38.4 Kbaud), 10BaseT Ethernet, Timers, Flash memory (AMD 29040 chip)
mpc8bug v1.5 (via ADI Port)
Evaluation/Development Board
MPC860 PowerQUICC (50 Mhz)
16-32 MB
Asynchronous serial ports (38.4 Kbaud), 10BaseT Ethernet, Timers, Flash memory (AMD 29040 chip)
mpc8bug v1.5 (via ADI Port)
This section describes the precise platforms used to run the Sun QA tests.
MPC821/823 FADS: MPC8xxFADS Rev. PILOT with MPC821/823FADSDB Rev. PILOT
MPC860 FADS: MPC8xxFADS Rev. PILOT with MPC860FADSDB Rev. PILOT
The following procedure assumes that the ChorusOS 4.0 product has already been correctly installed on the host workstation. See the ChorusOS 4.0 Installation Guide for Solaris Hosts.
Create and change to a build directory where you will build system images:
$ mkdir build_dir $ cd build_dir |
Set an environment variable to use with the configure(1CC) command as a shortcut to the base directory.
For example:
Set the environment variable... |
To the family-specific product directory. The default value is... |
---|---|
DIR |
/opt/SUNWconn/SEW/4.0/chorus-mpc860 |
Make sure your PATH has been set correctly to include the directory install_dir/4.0/chorus-mpc860/tools/host/bin, where the default install_dir is /opt/SUNWconn/SEW. Also make sure that your PATH includes /usr/openwin/bin, which contains the imake utility.
Configure the build directory, using the configure(1CC) command:
If you are building from a binary distribution:
$ configure -b $DIR/kernel \ $DIR/os \ $DIR/tools \ -s $DIR/src/nucleus/bsp/drv \ $DIR/src/nucleus/bsp/powerpc \ $DIR/src/nucleus/bsp/powerpc/mpc8xxADS \ $DIR/src/iom |
The above command configures the build directory to include components installed during a "Default Install". It does not include optional components, such as the X library or code examples, that you may choose to install separately on Solaris host workstations. For example, in order to include everything in your build environment:
$ configure -b $DIR/kernel \ $DIR/os \ $DIR/opt/X11 \ $DIR/tools \ -s $DIR/src/nucleus/bsp/drv \ $DIR/src/nucleus/bsp/powerpc \ $DIR/src/nucleus/bsp/powerpc/mpc8xxADS \ $DIR/src/iom \ $DIR/src/opt/examples |
If you are building from the source distribution, see the ChorusOS 4.0 Production Guide.
As a result of configuration, build_dir now contains a Makefile, which is used to generate the build environment, and a Paths file, which specifies paths to files required by and created in the build environment.
Generate the build environment:
$ make |
Build a system image:
$ make chorus |
The resulting system image file is located in the build directory, build_dir and is called chorus.RAM.
You can also make a smaller system image that includes only the operating system kernel:
$ make kernonly |
See the ChorusOS 4.0 Installation Guide for Solaris Hosts for instructions on how to configure the boot server.
Copy the system image to the boot server.
For example, on a Solaris host workstation:
$ rcp chorus.RAM boot_server:/tftpboot |
Verify that everyone has at least read access to the system image on the boot server.
For example:
$ rlogin boot_server Password: password_for_user $ ls -l /tftpboot/chorus.RAM -rwxr-xr-x 1 user group 1613824 Dec 15 17:33 chorus.RAM* |
(Optional) While logged in to the boot server, create a configuration file for the target.
For a target system with IP address 129.157.173.199 using a boot server with IP address 129.157.173.144, the configuration file contains the following:
AUTOBOOT=YES BOOTFILE=chorus.RAM BOOTSERVER=129.157.173.144
The configuration file is named /tftpboot/819DADC7.ChorusOS.4.0, which is constructed from the target system IP address 129.157.173.199 as a concatenation of the following:
129 in decimal translates to 81 in hexadecimal
157 in decimal translates to 9D in hexadecimal
173 in decimal translates to AD in hexadecimal
199 in decimal translates to C7 in hexadecimal
(optional) .ChorusOS.4.0 identifies the release, and is appended to the concatenation of the IP address expressed in hexadecimal.
The system first attempts to find the configuration file with the .ChorusOS.4.0 extension. If it fails to find one, however, it attempts to find a configuration file without the .ChorusOS.4.0 extension.
mpc8bug
Host Debuggermpc8bug
Host DebuggerThe following procedure concerns mpc8xx FADS target systems reference platforms.
Install Motorola's ADI host debugger (mpc8bug
) on the boot host.
The MPC8XX ADS Software(MPC8bug v 1.5) package
contains the mpc8bug
monitoring tool, configuration
files for all reference targets, and documentation explaining how to install
and use the tool.
See the mpc8bug
installation
manual for details about installation.
Append a "ChorusOS load" macro to the .mpctcl.cfg configuration file.
The following TCL macro should be appended at the
end of the .mpctcl.cfg file that is provided as part
of the mpc8bug
package:
a chload reset :h \; load \$1 \; rms der decie 0 \; rms der extie 0 \; rms der prie 0 \; rms der sysie 0 \; rms der trie 0 \; rms der mcie 0 \; rms der itlbmse 0 \; rms der dtlbmse 0 \; rms der itlbere 0 \; rms der dtlbere 0 \; go
The above rms der xx 0 commands allow the ChorusOS kernel to handle the coresponding exceptions.
Connect the Host ADI and Target Debug ports.
The MPC8xx[F]ADS board must be installed and configured to operate in Host Controlled configuration mode via its ADI port. Therefore, you must plug an ADI board into one of the SBus or ISA slots of the boot host and connect to the MPC8xx[F]ADS through a 37-pin flat cable.
See the section "Installation Instructions" in the MPC8xx[F]ADS User's Manual for details about installing the ADI board and configuring the target to boot from the Debug port.
Once this is done, you can start the mpc8bug
monitor utility on the boot host as follows:
Connect the target system and boot system RS232 ports.
Connect the target system RS232 port on SMC1 to the boot system serial port for the ChorusOS debug agent link and system console.
Restart the target system.
Start the mpc8bug
monitor:
$ mpc8bug ADI ADS |
ADI is the number, from 0 to 3, of the SBus expanstion slot for the ADI board on the SPARCstation host system, or the address of the ADI card divided by 0x100 for a PC/AT host.
ADS is the ADI address, from 0 to 3, of the MPC8xx[F]ADS target board, as determined by the ADDR switches on the DS1 Dip-Switch of the MPC8xx[F]ADS board.
When started, the mpc8bug
monitor automatically executes the commands included in the configuration
files:
mpc8bug version 1.5 May 18 98 Copyright 1998 Motorola, Inc. All Rights Reserved. Initializing memory controller and UPM for 50MHZ DRAM delay set to 60ns DRAM size set to 16Mbytes Executing .mpctcl.cfg file from the current directory. Executing .mpc8xx.cfg file from the current directory. Executing .mpc860.cfg file from the current directory. Executing .mpcsdram.cfg file from the current directory. f860Bug> |
Make sure the MPC8xx[F]ADS hardware is in a working state by running the diagnostic tests T1, T2, T3 and T4 that are provided by the mpc8bug monitor.
See the mpc8bug
documentation
for details about using mpc8bug
and associated diagnostic programs.
Load the system image through mpc8bug
:
f860Bug> chload chorus.RAM ( reset :h ; load chorus.RAM ; rms der decie 0 ; rms der extie 0 ; rms der prie 0 ; rms der sysie 0 ; rms der trie 0 ; rms der mcie 0 ; rms der itlbmse 0 ; rms der dtlbmse 0 ; rms der itlbere 0 ; rms der dtlbere 0 ; go ) Initializing memory controller and UPM for 50MHZ DRAM delay set to 60ns DRAM size set to 16Mbytes Loading ELF file . . . Entry point set to 001cf000 Loading section 1 (.ChorusO) : 001ce000 bytes at 00004000 Heap start address set to 00000001 No symbol table r3 and r5 are set to 0 Use Ctrl-C to abort execution ! |
The following messages are displayed on the target system console:
..... Booting Chorus ..... ChorusOS r4.0.0 for PowerPC - Motorola MPC8xx[F]ADS Copyright (c) 1999 Sun Microsystems, Inc. All rights reserved. Kernel modules : CORE SCHED_FIFO SEM MIPC IPC_L MEM_PRM KDB TICK MON ENV ETIMER LOG LAPSAFE MUTEX EVENT UI DATE PERF TIMEOUT LAPBIND DKI MEM: memory device 'sys_bank' vaddr 0x7ec22000 size 0x1ce000 /cpu: sun:powerpc-(timebase,dec)-timer driver started /quicc-8xx: sun:powerpc-mpc8xx-(bus,quicc) driver started /quicc-8xx/smc-2: sun:quicc-smc-uart driver started /quicc-8xx/scc-1: sun:quicc-scc-ether driver started /quicc-8xx/scc-1: Ethernet address 08:00:3e:00:00:06 /quicc-8xx/on-board-flash: error -- wrong (unsupported) CHIP/VENDOR ID /flash-emul: started as 'One bank of AMD29F040x4 (64k erase block)' DATE: warning -- svDeviceLookup(rtc) failed (-7) IOM: SOFTINTR DISABLED (-31). Using an Interrupt thread IOM Init cluster space from: 0x7ebff000 to: 0x7ec1f800 [65 items of size: 2048] IOM Init io-buf pool from: 0x7ec1f850 to: 0x7ec1fd70 [8 items of size: 164] IOM Init raw io-buffer pool from: 0x7ec1fd70 to: 0x7ec211f0 [32 items of size: 164] Copyright (c) 1992-1998 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. max disk buffer space = 0x10000 /rd: sun:ram--disk driver started /quicc-8xx/on-board-flash: error -- wrong (unsupported) CHIP/VENDOR ID C_INIT: started C_INIT: /image/sys_bank mounted on /dev/bd00 C_INIT: found /image/sys_bank/sysadm.ini C_INIT: executing start-up file /image/sys_bank/sysadm.ini bpf: ifeth0 attached IOM: ifnet ifeth0 bound to device /quicc-8xx/scc-1 bpf: lo0 attached C_INIT: Internet Address: 129.157.173.199 ifeth0: flags=88437<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 129.157.173.199 netmask 0xffff0000 broadcast 129.157.255.255 ether 08:00:3e:00:00:06 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 C_INIT: rshd started |
bootMonitor
In order to boot the target from flash memory you must perform the following procedures.
bootMonitor
ImageSee bootMonitor(1CC)
for details about how bootMonitor
works.
Create a build directory where you will build a bootMonitor
image:
$ mkdir bootmon $ cd bootmon |
Note that this build directory is different from the directory where you build system images.
Configure the bootMonitor
build directory based on the binary distribution:
$ configure -b $DIR/kernel \ $DIR/os \ $DIR/tools \ -s $DIR/src/nucleus/bsp/drv \ $DIR/src/nucleus/bsp/powerpc \ $DIR/src/nucleus/bsp/powerpc/mcp8xxADS \ $DIR/src/iom |
Generate the build environment:
$ make |
Edit the special bootmon/conf/mini profile so that it reads:
# # Mini Profile # # # Kernel features # -set USER_MODE=false -set VIRTUAL_ADDRESS_SPACE=false -set SEM=false -set EVENT=false -set MONITOR=false -set TIMER=false -set DATE=false -set RTC=false -set PERF=false -set IPC=false -set MIPC=false -set LAPBIND=true # Change this from 'false' to 'true' -set LAPSAFE=true # Change this from 'false' to 'true' -set MON=false -set LOG=false
Configure the build environment for bootMonitor
:
$ configurator -p conf/mini $ configurator -set BOOT_MODE=ROM $ configurator -setenv ETHER_ADDR=xx:xx:xx:xx:xx:xx |
As you enter the commands above, replace xx:xx:xx:xx:xx:xx with the target system Ethernet address.
Build a bootMonitor
image:
$ make bootMonitor |
The resulting system image file is located in the build directory, bootmon and is called bootMonitor.ROM.
bootMonitor
ImageRestart the target system.
Start the mpc8bug
tool.
See Step 6 for details.
Use the loadf command to flash the bootMonitor:
f860Bug> reset :h ; loadf full_path/bootMonitor.ROM 0x100000 Initializing memory controller and UPM for 50MHZ DRAM delay set to 60ns DRAM size set to 4Mbytes loadf: Loading ELF file . . . Loading flash mapped sections to ram memory buffer: Loading section 1 () : 00039000 bytes at 00100000 Programming flash :00039000 bytes at 02800000-02838fff Flash programming completed |
Power off the target board.
Unplug the ADI cable.
Restart the target system.
See Step 7 for an example of the messages displayed on the target system console.