[Previous] [Contents] [Index] [Next]

About This Book

The Building Embedded Systems guide is intended for developers who are building embedded systems that will run under the QNX Neutrino RTOS.


Note: QNX Neutrino runs on several processor families (e.g. PowerPC, MIPS, ARM, SH-4, x86). For information on getting started with Neutrino on a particular board, refer to the appropriate BSP (Board Support Package) documentation for your board.

This guide is organized around these main topics:

Topic Chapter(s)
Getting the big picture Overview of Building Embedded Systems
Getting started with your board support package Working with a BSP
Making an image Making an OS Image
Preparing your target Writing an IPL Program;
Customizing Image Startup Programs;
Customizing the Flash Filesystem;
Sample Buildfiles
Dealing with hardware issues System Design Considerations

This guide also contains a glossary of terms used in the QNX docs.


Note: We assume that you've already installed QNX Neutrino and that you're familiar with its architecture. For a detailed overview, see the System Architecture manual.

Installing BSP source code

To install a BSP package, you must manually expand its directory structure from an archive (i.e. *.zip) file. The QNX Neutrino 6.3.0 release includes several standard BSPs available to download from myQNX. These BSPs are simple zipped archives, with no special requirements. You can install them into whichever directory you choose, assuming you have write permissions for the chosen directory. Historically, BSPs were placed in the /usr/src/bsp-OS_VERSION directory, e.g. /usr/src/bsp-6.2.1. This method is no longer required, as each BSP archive is completely self-contained.

The following example indicates how you create a directory and unzip the archive file:

 # cd ~
 # mkdir my_BSP
 # cd my_BSP
 # unzip /path_to_bsps/bsp-integrator.zip

The directory structure for the BSP will look like this:


BSP directories


Directory structure for a Board Support Package.



Note: The bsp_working_dir is the root directory of the BSP. If you're not using the IDE and you want to manually install a BSP archive, we recommend that you create a default directory with the same name as your BSP and unzip the archive from there.

For example, the default directory for the previous example would be ~/my_BSP/integrator/.


Each BSP is rooted in whatever directory you copy it to. If you type make within this directory, you'll generate all of the buildable entities within that BSP no matter where you move the directory.


Note: Our documentation calls the top-level directory for a BSP (e.g. /home/myID/my_BSPs/integrator) the bsp_working_dir.

BSPs are structured so that typing make or make install doesn't affect the host system. All binaries are placed in an install area within the BSP directory that mimics the layout of a target system.

When you build a BSP, everything it needs, aside from standard system headers, is pulled in from within its own directory. Nothing that's built is installed outside of the BSP's directory. The makefiles shipped with the BSPs copy the contents of the prebuilt directory into the install directory. The binaries are built from the source using include files and link libraries in the install directory.

Note to Photon users

If you plan to use the Photon microGUI in your embedded system, refer to the appendix "Photon in Embedded Systems" in the Photon Programmer's Guide.

Copyright © 1996 -- 2005, QNX Software Systems. All rights reserved.


[Previous] [Contents] [Index] [Next]