ChorusOS 5.0 Installation Guide

Using bootMonitor

The following procedures describe how to build and boot a ChorusOS system using bootMonitor.

To Create a bootMonitor Image

See bootMonitor(1M), bootConfig(1M), and bootAgent(1M) for details about how bootMonitor works.

  1. 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.

  2. Configure the bootmon directory based on the binary distribution:


    $ configure -b $DIR/kernel \
    -s $DIR/src/nucleus/bsp \
    $DIR/src/nucleus/bsp/powerpc/sbc8260
    
  3. Generate the build environment:


    $ make
    
  4. 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
  5. 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.


    Note -

    For details about the BOOTCONF environment variable and available options, see the bootConfig(1M) and bootAgent(1M) man pages.


  6. Build a bootMonitor image:


    $ make bootMonitor
    

    The resulting image file is located in the build directory, bootmon, and is called bootMonitor.ROM.

To Flash the bootMonitor Image in the Flash SIMM

The SBC8260 target system provides two flash devices:

SBC8260 can boot from either flash device depending on the configuration of jumper-24:

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.


Note -

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.

  1. Verify JP-24 is 1-2 and 3-4 (CS0 selects Flash SIMM).

  2. Reset the target and the emulator.

  3. 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.

  4. Open a terminal window (Tasks > Terminal)

  5. In the terminal window enter:


    >BKM> sc default
    >BKM> in
    

  6. Configure the CS0 for 32 bits wide:

    1. Select Target > Registers > OR0 > + > Detail.

    2. Select Size > 32 bits and click Set.

    3. Click Detail again and then Set in Emulator.

  7. 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.

  8. Click Extract in the dialog box that is displayed.

  9. Click OK to confirm the download into flash memory.

To Boot the Target System

    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.