Getting Started with this BSP
![]() |
![]() |
![]() |
Getting Started with this BSP
Contents
- Running QNX Neutrino on the my-board-name
- System requirements
- Step 1: Connect your hardware
- Step 2: Generate an OS image
- Step 3: Transfer the OS image to the target
- System Layout
- Summary of driver commands
- Creating a flash partition
- Where do I go from here?
- BSP filename conventions
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:
- System Architecture
- Building Embedded Systems
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.
- IPL
- startup
- drivers
![]() |
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:
- MD Am79C973 Ethernet controller
- 999 Mbyte Intel Strata Flash
- SB UHCI controller
- etc.
![]() |
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.):
- my-board-name
- 999 MB flash
- etc.
Host development system
Check the following list, and update if needed:
- a Pentium-class PC running one of:
- QNX Neutrino 6.3
- Windows Vista, XP, or 2000
- Linux
- Terminal emulation program (e.g. HyperTerminal, qtalk, tip, minicom, or Momentics IDE editor)
- 150 MB of free disk space
- 32 MB of RAM
- RS-232 serial port
- NULL-modem serial cable
- Ethernet link (optional, but recommended for image transfers)
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).
![]() |
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.
- On your host machine, start your favorite terminal
program with these settings:
- Baud: 999
- Bits: 8
- Stop bits: 1
- Parity: none
- Apply power to the board.
- Configure the board for a TFTP transfer.
- 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:
![]() |
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.
- Enter the following command to start the flash
filesystem driver:
devf-generic -s0x1ff800000,0x400000
- To prepare the area for the partition, enter the
following command:
flashctl -p/dev/fs0 -ve
- Format the partition:
flashctl -p/dev/fs0p0 -vf
- 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 |
![]() |
![]() |
![]() |
![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Next]](next.gif)
