Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Momentics® 6.3.2 Fujitsu Jade Evaluation Board BSP 1.0.0 Readme

Fujitsu Jade Evaluation Board BSP Readme

© 2008, QNX Software Systems GmbH & Co. KG. All rights reserved.


Contents

Running QNX Neutrino on the Fujitsu Jade Evaluation Board

Before you begin

For information about the hardware or firmware, refer to the documentation for your board. You may also find the following website useful:

www.fujitsu.com

We assume that you're already familiar with the following docs:

Title Chapter
Building Embedded Systems Making an OS image; for customizing the BSP from the command line
Building Embedded Systems Working with a BSP; for building the BSP
IDE User's Guide Building OS and Flash Images; for customizing the BSP within the IDE

What's in this BSP?

Refer to the BSP release notes for the contents of the Fujitsu Jade Evaluation BSP.

Devices supported

Neutrino supports the following devices on the Fujitsu Jade Evaluation Board:

  • 10 / 100 Mbit Ethernet Transceiver LAN9218
  • Serial: 8250 UART
  • Flash: 32 MB
  • I2C
  • SPI
  • USB: OHCI
  • Audio: Fujitsu mycable Extension Video Input PA4 with audio codec CS4245
  • Graphics controller

Note:
  • Some of these drivers are commented out in the default buildfile. To use the drivers in the target hardware, you'll need to uncomment them in your buildfile, rebuild the image, and load the image into the board.
  • If you need support for a particular device that isn't listed here, please contact us. The solution may be as simple as modifying an existing driver, which you might be able to do yourself, or it may involve more extensive support (e.g. a Custom Engineering arrangement).

    Contact a QNX technical support representative or Field Application Engineer to help you decide how to proceed.


System requirements

Target system

  • Board version: Fujitsu Jade Evaluation Board
  • 32 MB NOR flash
  • appropriate power supply and cable

Host development system

  • System requirements: see the release notes
  • Terminal emulation program (e.g. HyperTerminal, qtalk, tip, etc.)
  • RS-232 serial port
  • NULL-modem serial cable
  • Ethernet link

Note: For other system requirements (e.g. disk, RAM), see the installation notes for QNX Momentics.

Step 1: Connect your hardware

  1. Connect the serial cable to the first serial port of the Fujitsu Jade Evaluation Board and the first serial port of your host machine (e.g. ser1 on a Neutrino host).

    Note: If you have a Neutrino host with a serial mouse, you may have to move it to the second serial port on your host, because some terminal programs require the first serial port.

  2. Connect an RJ-45 Ethernet cable between the Ethernet port on the Fujitsu Jade Evaluation Board and your local network.

Step 2: Build the BSP

You can build a BSP OS image from the source code or the binary components contained in a BSP package.

For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.

Step 3: Transfer the OS image to the target

Boot OS images by ROM monitor

On your host machine, start your favorite terminal program with these settings:

  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none
  1. Make sure the host machine is capable of handling TFTP requests (see the inetd documentation for details).
  2. Verify the serial link between the host machine and the target.
  3. Verify that an Ethernet link exists between the host machine and the target.
  4. Apply power to the target board.

    You should see output similar to the following:

    U-Boot 1.3.0-jadeevalkit-0.7 (Nov 30 2007 - 19:44:31)
    
    DRAM:  128 MB
    Flash: 32 MB
    In:    serial
    Out:   serial
    Err:   serial
    Hit any key to stop autoboot:  0

Setting up the environment

  1. At the Fujitsu Jade Evaluation Board prompt, issue the following command to show the current environment:
    printenv

  2. You can change the current settings using the setenv command to configure the following parameters:
    ipaddr 
    netmask
    gatewayip
    serverip
    bootfile 
     
  3. Once these parameters are configured, use the saveenv command to store your changes.
  4. You can set autoboot by using this command:
    setenv 'bootcmd tftpboot 40100000;go 40100000'

    Save your changes (using the saveenv command).

  5. Restart your target, You should see output similar to the following:

    Hit any key to stop autoboot:  0
    
    LAN9x18 (0x118a0000) detected.
    
    start Auto negotiation... (take ~2sec)
    
    Auto negotiation complete, 100BaseTX, full duplex
    
    TFTP from server 10.42.107.173; our IP address is 10.42.105.252
    
    Filename 'jade.bin'.
    
    Load address: 0x40100000
    
    Loading: T #################################################################
    
             #################################################################
    
             #################################################################
    
             #################################################################
    
             ######################
    
    done
    
    Bytes transferred = 1442380 (16024c hex)
    
    ## Starting application at 0x40100000 ...
    Welcome to QNX Neutrino 6.x on the Fujitsu JADE (JADE) Board

Programming IPL and boot OS images by IPL

  1. Make a backup copy of the ifs-jade.bin image used for U-Boot.
  2. Make sure the jade.build is for IPL image (according to the previous note), and then rebuild your image in order to produce a valid IPL file.
  3. Once U-Boot is up and running, load an U-Boot ifs-jade.bin image (backed-up previously) onto the board.
  4. Set up a shared network drive on your workstation.

    In this example we are using a Windows Share folder to accomplish our work. You have to replace the following names with ones that match your configuration.

    	WORKSTATION  : Windows Computer Name
    	WS_IP_ADDR   : Computer IP Address
    	SHARE_FOLDER : Name use to share folder
    	MOUNT_FOLDER : Folder name under which Neutrino will access your share folder
    	USER_NAME    : User name that has read access to the share folder
    	PASSWORD     : User's password
  5. Ensure that the following utilities are present in your build file.
    • fs-cifs
    • cp
    • slay
    • flashctl
    • dd
  6. Execute the following commands in the Neutrino shell.
      fs-cifs -l //WORKSTATION:WS_IP_ADDR:/SHARE_FOLDER/MOUNT_FOLDER USER_NAME PASSWORD
      cp /MOUNT_FOLDER/ipl-ifs-jade.bin /dev/shmem/jade.bin
      slay io-net
      flashctl -p /dev/fs0 -o 0m -l 4m -ve
      dd if=/dev/shmem/jade.bin of=/dev/fs0 bs=1k seek=0k

    Note:
    • Erase the flash only if you've copied a valid IPL image into /dev/shmem.
    • Before programming the IPL, you should have proper tools to reprogram the on-board flash. Any error in flash programming will result in an unusable board.

  7. Boot OS images by IPL
    1. Once you've programmed ipl-ifs-jade.bin to flash, you can use the IPL to download the image through the serial port or run the image from the flash directly.
    2. Power on the target board, The terminal emulator will show the following output:
      QNX Neutrino Initial Program Loader for Fujitsu JADE
      Commands:
      
      Press 'D' for serial download, using the sendnto utility
      Press 'F' to boot an OS image in flash

      Note:

      If you press 'd' or 'D', the terminal emulator will prompt you to download the image through the serial port, as follows:

          send image now...

      Use the sendnto utility to download the image.


Step 4: Start working with Neutrino OS

You can test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).

Once the initial image is running, you can update the OS image using the network and flash drivers. For sample command lines, please see the "Summary of driver commands" section.

System Layout

The table below depicts the memory layout for the image and for the flash.

Item Address
OS image loaded at: 0x40100000
Flash base address 0x10000000

Note: The interrupt vector table can be found in the buildfile located at $QNX_TARGET/armle/boot/build/.

Summary of driver commands

The driver command lines below are specific to the Fujitsu Jade Evaluation Board. See the online docs for each driver for additional command-line options and other details.


Note: Some of the following drivers are commented out in the default buildfile. To use the drivers in the target hardware, you'll need to uncomment them in your buildfile, rebuild the image, and load the image into the board.

Startup:

Command:
startup-jade[startup-options]

Note:
  • A command-line option is required to startup to enable some modules.
    -x num
    Group 2 multiplex I/O configuration. Value can range from 0-4 (default=3).
    -y num
    Group 4 multiplex I/O configuration. Value can range from 0-1 (default=1).
  • For audio driver, use the option -x0.

Serial:

Command:
devc-ser8250 -e -F -S -b115200 -c41500000 0xfffe1000^2,24

Flash(NOR):

Command:
devf-generic -s0x10000000,32M

Required libraries:

  • flashctl

SPI:

Command:
spi-mb8x -k

Required libraries:

  • spi-mb8x

I2C:

Command:
i2c-mb8x

Required libraries:

  • i2c-mb8x

USB:

Command:
io-usb -dohci ioport=0xfff81000,irq=53

Required libraries:

  • devu-ohci.so
  • libusbdi.so

Ethernet:

Command:
io-net -dsmc9118 ioport=0x02000000,irq=10,mac=662200021605,verbose -ptcpip

Required libraries:

  • devn-smc9118.so
  • libsocket.so
  • npm-tcpip.so

Audio:

Command:
io-audio -d jade

Note: The I2C driver should be running before start the audio driver: i2c-mb8x -p 0xfff57000 -i 44

Required / recommended libraries:

  • libasound.so
  • deva-mixer-ac97.so
  • deva-util-restore.so
  • deva-ctrl-jade.so

Graphics:

Command:
io-display -dvid=0,did=0

Required / recommended libraries:

  • devg-jade.so
  • libffb.so
  • libGLES_CL.so.1

Required configuration files:

  • display.conf
  • jade.conf

Note: For more information about these commands, see the Neutrino Utilities Reference.

Creating a flash partition

  1. Enter the following command to start the flash filesystem driver:
    devf-generic -s0x10000000,32M
  2. Unlock the entire flash, except for the first megabyte:

    Note: Because the ROM monitor is in the first megabyte of flash, you may not want to erase it. Use the -l (length) and -o (offset) options to avoid this area.

    flashctl -p/dev/fs0 -o1M -l31M -U
  3. Erase the flash, except for the first megabyte:
    flashctl -p/dev/fs0 -o1M -l31M -ve
  4. Format the partition:
    flashctl -p/dev/fs0p0 -o1M -l31M -vf
  5. Slay, and then restart the driver to mount the new partition:
    slay devf-generic
    devf-generic -s0x10000000,32M

    You should now have a /fs0p0 directory where you can copy files to.

Where do I go from here?

For information on: Go to:
Generating IPL, startup, and other modules from BSP source code Building Embedded Systems, Working with a BSP
Using mkifs to generate an OS image from a buildfile Building Embedded Systems, Making an OS image
Writing, compiling, and debugging your applications using command-line tools Programmer's Guide
Building your applications using the Integrated Development Environment (IDE) IDE User's Guide, Building OS and Flash Images
Writing a device driver DDK Guides
The complete QNX docset Documentation Roadmap (e.g. under Windows XP via the start menu: All Programs-->QNX Momentics-->Help Documentation)
Release notes www.qnx.com (look for the appropriate release notes after logging into your myQNX account)
Technical support forums See the release notes for details. Look for the appropriate newsgroup.

BSP filename conventions

In QNX BSPs, we use the following conventions for naming files:

Part of filename Description Example
.bin Suffix for binary format file. ifs-artesyn.bin
.build Suffix for buildfile. sandpoint.build
efs- Prefix for QNX Embedded Filesystem file; generated by mkefs. efs-sengine.srec
.elf Suffix for ELF (Executable and Linking Format) file. ipl-ifs-mbx800.elf
ifs- Prefix for QNX Image Filesystem file; generated by mkifs. ifs-800fads.elf
ipl- Prefix for IPL (Initial Program Loader) file. ipl-eagle.srec
.openbios Suffix for OpenBIOS format file. ifs-walnut.openbios
.prepboot Suffix for Motorola PRePboot format file. ifs-prpmc800.prepboot
.srec Suffix for S-record format file. ifs-malta.srec