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

Quick Links
BSP Downloads | Hardware Database | SDP 6.4.0 BSP Info


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 device 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 BSPs 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 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.

Downloads#

Complete listing and pointers for download of BSPs and drivers available for the QNX Neutrino RTOS:

Packaged BSPs:

Licenses#

QNX Board Support Packages (BSPs) are generally published under one of two main licenses: (1) Apache License, Version 2.0 (Apache 2.0) ), or (2) one of (QSS's QNX Development Suite licenses ).

Apache 2.0 licensed code is available for unrestricted use under the Apache 2.0 terms. QNX Development Suite licensees are also entitled to download non-Apache BSPs for use in association with the QNX Neutrino RTOS. These non-Apache BSPs were originally packaged and released under various versions of the former Momentics End User License Agreement (“MEULA”) and their associated License Guides (see 6. QNX Board Support Packages and Driver Development Kits section ). As new versions of these software packages are released, they will be published under Apache 2.0 whenever possible. If, due to third party licensing or confidentiality restrictions, we are unable to do so, then we will integrate the licensing of the non-Apache BSPs into the then-current version of the QNX Development Suite licenses. Until then, please refer to the appropriate MEULA, as indicated in the current version of the QNX Development Suite License Guide.

Resources#