QNX Technical Articles
QNX® Momentics® 6.3.2 Fujitsu Jade Evaluation Board BSP 1.0.0 Readme
![]() |
![]() |
![]() |
© 2008, QNX Software Systems GmbH & Co. KG. All rights reserved.
Contents
- Running QNX Neutrino on the Fujitsu Jade Evaluation Board
- System requirements
- Step 1: Connect your hardware
- Step 2: Build the BSP
- Step 3: Transfer the OS image to the target
- Step 4: Start working with Neutrino OS
- System Layout
- Summary of driver commands
- Creating a flash partition
- Where do I go from here?
- BSP filename conventions
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:
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
![]() |
|
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
![]() |
For other system requirements (e.g. disk, RAM), see the installation notes for QNX Momentics. |
Step 1: Connect your hardware
- 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).
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. - 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
- Make sure the host machine is capable of handling TFTP requests (see the inetd documentation for details).
- Verify the serial link between the host machine and the target.
- Verify that an Ethernet link exists between the host machine and the target.
- 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
- At the Fujitsu Jade Evaluation Board prompt, issue the following command to show the current environment:
printenv
- You can change the current settings using the setenv command to configure the following
parameters:
ipaddr netmask gatewayip serverip bootfile
- Once these parameters are configured, use the saveenv command to store your changes.
- You can set autoboot by using this command:
setenv 'bootcmd tftpboot 40100000;go 40100000'
Save your changes (using the saveenv command).
- 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
- Make a backup copy of the ifs-jade.bin image used for U-Boot.
- 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.
- Once U-Boot is up and running, load an U-Boot ifs-jade.bin image (backed-up previously) onto the board.
- 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
- Ensure that the following utilities are present in your build file.
- fs-cifs
- cp
- slay
- flashctl
- dd
- 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
- 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.
- Boot OS images by IPL
- 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.
- 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
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 |
![]() |
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.
![]() |
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]
![]() |
|
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
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
![]() |
For more information about these commands, see the Neutrino Utilities Reference. |
Creating a flash partition
- Enter the following command to start the flash
filesystem driver:
devf-generic -s0x10000000,32M
- Unlock the entire flash, except for the first megabyte:
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
- Erase the flash, except for the first megabyte:
flashctl -p/dev/fs0 -o1M -l31M -ve
- Format the partition:
flashctl -p/dev/fs0p0 -o1M -l31M -vf
- 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: | )
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 |
![]() |
![]() |
![]() |