Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki1015: Project Home Page (Version 71)

Quick Links
BSP and Driver Downloads | Forum



Project overview#

The BSP project manages the development of BSPs and device drivers.

A BSP, or board support package, is the name given to the software responsible for hardware specific operations required to get an RTOs up and running. This typically consists of the following components:

  • An optional IPL. This program is what is run from the reset and is responsible for some minimal hardware initialization, such as memory controller, serial port and possibly even Ethernet. This program then loads the next program, typically called the startup. The startup is usually loaded from flash, but can also be downloaded over the serial or network connections, depending on the capabilities of the IPL. U-boot usually provides the ability to load from the network, which is considerably faster than over serial. If a BSP does not provide an IPL, then this function will be performed by an on board ROM monitor or u-boot, provided by the board manufacturer.
  • The startup program is responsible for completing the hardware initialization, binding in interrupt callouts and initializing hardware specific information which is passed to the operating system, and then transferring control to the kernel.
  • Device drivers for all the peripherals on the chip and/or the board, which need to be supported. In addition to serial and network drivers, these typically include block, I2C, I2S, USB , graphics, sound as well as other possibly proprietary devices drivers.

What's in it for developers?#

The BSP project is intended to give developers access to all the resources required to write and modify BSPs for new hardware platforms. This includes:

  • Access to all the packaged and tested BSP supporting QNX Neutrino for wide variety of reference platforms
  • Access to the source for BSPs which can be used to develop support for custom HW platforms
  • Driver development kits and driver source
  • Documentation and training material to help get you get familiar and be able to modify Neutrino BSPs
  • Test programs which can be used to validate the BSP
  • Share your BSPs and drivers with the community by listing them in the directory

BSP developed by the community can be posted back to the QNX BSP project and shared with the rest of the community. This may be of particular interest to HW manufactures who would like to extend the

Licenses#

QNX BSPs are released under two main licenses. All new BSPs that are provided by QNX will be released under the Apache II license. Some of the older BSPs, which have been developed using proprietary code or other NDA information, will only be released under the existing QNX MEULA license.

Community contributed BSPs should include details as to what licensing terms they fall under. See the links below for descriptions of the Apache 2 and Momentics End User License Agreement (MEULA) licenses.

QNX BSPs are released under various licenses.

Resources#

Resources which will help the user work with, modify and write BSPs can be found on the BSP project WIKI page.

BSP and Drivers Directory#

The BSPs and Drivers project manages the development of Board Support Packages (BSPs) and drivers for the QNX platform. It includes a directory of BSP and Drivers, some of which are developed transparently within the project.