Board-specific information

Updated: April 19, 2023

When you modify an existing buildfile to support a new target board, you must update the board-specific information.

Most of the processor- and platform-specific code for QNX Neutrino systems is in the kernel and startup program, so only minimal changes are needed to adapt a buildfile written for one board to work with another board. For your new target board, you need to specify its:
  • processor
  • startup program
  • serial device

Specifying the processor

The buildfile's virtual attribute specifies the processor, the bootstrap loader, whether the image is compressed or not, and the operating system (see Buildfile syntax in this chapter). To specify a different processor, simply update this attribute's value. For example, for an ARM little-endian, version 7 CPU, you could change the virtual attribute to:

[virtual=armle-v7,binary]

Specifying the startup program

QNX BSPs include a startup program for the board for which the BSP has been written. If you are using a board for which no QNX BSP currently exists, you can start with a BSP for a similar board and modify the startup program (as well as other BSP components, as needed). Be sure to include the correct startup program name in your buildfile. For example:

[virtual=armle-v7,binary] .bootstrap = {
    startup-abc123
    PATH=/proc/boot procnto-smp-instr -vv
    ...
}

For more details, see the chapter Startup Programs, and startup-* options in the QNX Neutrino Utilities Reference.

Specifying the serial device

If there is a QNX BSP for your board, then the BSP probably includes most (if not all) drivers you will need. If you don't have a QNX BSP for your board, you may need to modify existing QNX drivers so they will work with your board. For more information, see the devc-* entries in the QNX Neutrino Utilities Reference.