bootMonitor
The following procedures describe how to build and boot a ChorusOS system
using bootMonitor
.
bootMonitor
ImageSee bootMonitor(1M), bootConfig(1M), and bootAgent(1M)
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 bootmon directory based on the binary distribution:
$ configure -b $DIR/kernel \ -s $DIR/src/nucleus/bsp \ $DIR/src/nucleus/bsp/powerpc/sbc8260 |
Generate the build environment:
$ make |
Edit the special bootmon/conf/mini profile so that it reads:
# # Mini Profile # # # Microkernel 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 -set ETHER_ADDR=xx:xx:xx:xx:xx:xx $ configurator -setenv BOOTCONF=RARP |
where xx:xx:xx:xx:xx:xx is the target system Ethernet address.
For details about the BOOTCONF environment variable and available options, see the bootConfig(1M) and bootAgent(1M) man pages.
Build a bootMonitor
image:
$ make bootMonitor |
The resulting image file is located in the build directory, bootmon, and is called bootMonitor.ROM.
bootMonitor
Image in the Flash SIMMThe SBC8260 target system provides two flash devices:
A LOCAL flash device which should be 2MB in size and organized as:
AMD 29F016 (2048x8) 1 device (integrated on board)
A SIMM flash device which should be 4MB in size and organized as:
AMD 29F080 (1024x8) 4 devices (plugged in a socket, thus removable)
SBC8260 can boot from either flash device depending on the configuration of jumper-24:
If JP-24 is 1-2 and 3-4, CS0 selects the Flash SIMM, and the board will boot from the Flash SIMM
If JP-24 is 1-3 and 2-4, CS0 selects the LOCAL Flash, and the board will boot from the LOCAL Flash
To boot from one of the two flash devices, the appropriate configuration word must be stored at the beginning of that device. Refer to the section "Reset Configuration", of the SBC8260 Hardware Reference Manual for the procedure to restore the configuration word in any of the two flash devices. You can use the following command:
BKM> SY RSTCONF configuration_word port_size |
where the port_size is 8 for the LOCAL Flash and 32 for the Flash SIMM.
The visionXD
emulator
cannot "get" the state of the target by itself, after some registers
have been modified by running ChorusOS. Typically, the IMMR value and memory
translations set by ChorusOS are not automatically supported by visionXD
.
Therefore, the register contents of the emulator and the target must be synchronized.
Enter the following commands in the Terminal window when starting a session with the emulator:
>BKM> sc default >BKM> in |
The preceding commands restore and set the registers to their default values.
It should also be noted that after these commands are executed, the boot flash device selected by JP-24 is visible at address 0xfe000000 causing the configuration word to be visible at this address (one byte at each double-word boundary).
The following example is for AMD 29F080 (1024x8) 4 devices Flash type.
Verify JP-24 is 1-2 and 3-4 (CS0 selects Flash SIMM).
Reset the target and the emulator.
Start visionXD
and connect
to the target (Target > Connect).
If at this point the emulator is always in error and cannot connect to the target, you certainly erased the configuration word. Perform the procedure to restore the configuration word, described in the section "Reset Configuration" of the SBC8260 Hardware Reference Manual. Reset the target and the emulator and then try again.
Open a terminal window (Tasks > Terminal)
In the terminal window enter:
>BKM> sc default >BKM> in |
Configure the CS0 for 32 bits wide:
Program the flash (Tasks > Program Flash) with the following configuration:
Name : bootmon/bootMonitor.ROM Device(s) : AMD 29F080 (1024x8) 4 devices Start address: 0xfff00000 End address : 0xffffffff
This will convert the bootMonitor.ROM (built in
the procedure "To Create a bootMonitor
Image") into a bootMonitor.bin file.
Then click Erase and Program to write the bootMonitor
image to flash memory.
Click Extract in the dialog box that is displayed.
Click OK to confirm the download into flash memory.
Restart the target system to boot from flash memory.
The ChorusOS system image is running on the target.
For information on what to do next, see About ChorusOS 5.0 Documentation, which will guide you to the appropriate information for your task.