Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

Getting Started with this BSP

Contents

Remember to add links to other headings you've added.

Running QNX Neutrino on the my-board-name

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.my-board-manufacturer.com

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

You can find HTML versions of these docs in the QNX Momentics IDE's help system, or in the Photon helpviewer on self-hosted Neutrino systems.

What's in this BSP?

The BSP for my-board-name includes source code for:

List only the board-specific drivers here.


Note: Some of the board's components are supported by standard OS drivers (e.g. devc-ser8250), which are shipped as part of your QNX Momentics development suite.

Devices supported

Neutrino supports the following devices on the my-board-name:

List all known components that you support here, like this:


Note: 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

List all applicable items here (CPUs, daughter cards, cables, etc.):

Host development system

Check the following list, and update if needed:

Modify these steps as necessary in your readme.

Step 1: Connect your hardware

Connect the serial cable to the first serial port of the my-board-name and to the first serial port of your host machine (e.g. ser1 on a Neutrino host, /dev/ttyS* on Linux, COM1 on Windows, etc).


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.

Step 2: Generate an OS image

Add any caveats here re: dependencies (e.g. DDK components).

From your BSP root directory, type make to build the startup, flash, and network modules from the source. Note that the make command will also generate an OS image from the default buildfile.

Once the build is complete, the buildfile and OS image are stored under the images subdirectory. From this directory, you can modify the buildfile as required and type make to rebuild the OS image.

Step 3: Transfer the OS image to the target

Modify these steps as necessary in your readme.

  1. On your host machine, start your favorite terminal program with these settings:
  2. Apply power to the board.
  3. Configure the board for a TFTP transfer.
  4. Copy the image from your host to the target using this command:
    my-transfer-command

You should now see the Neutrino welcome message on your terminal screen:

Welcome to QNX Neutrino on the my-board-name

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

System Layout

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

Add whatever components are necessary. include UARTs, IRQs, etc.

Item Address
OS image loaded at: 0x99999999
OS image begins execution at: 0x99999999
Flash base address 0x99999999
Env Flash offset 0x99999999 (size: 0x99999)
ETC. COMPLETE FOR THIS BOARD

Summary of driver commands

The driver command lines below are specific to the my-board-name. See the online docs for each driver for additional command-line options and other details.

Modify/add to these examples for your BSP.

Serial

Command:
devc-ser8250 -e -c11059200 -b9600 0x140000200,0x0 0x140000300,0x1
Notes:
Add any relevant comments here, include required libraries, etc.

Flash

Command:
devf-generic -s0x1ff800000,0x400000
Notes:

my-other-component

Command:
my-command
Notes:

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

Add other board-specific information here, like this:

Creating a flash partition

Modify these steps for your readme.

  1. Enter the following command to start the flash filesystem driver:
    devf-generic -s0x1ff800000,0x400000
  2. To prepare the area for the partition, enter the following command:
    flashctl -p/dev/fs0 -ve
  3. Format the partition:
    flashctl -p/dev/fs0p0 -vf
  4. Slay, then restart the driver:
    slay devf-generic
    devf-generic &

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 chapter
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
Writing a device driver DDK Guides
The complete QNX docset Documentation Roadmap in the IDE's help system, or in the Photon helpviewer on self-hosted Neutrino systems
Release notes Our website, www.qnx.com
Technical support forums The Community area of our website, www.qnx.com

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