Search by Tags

Partner Demo Image - QNX Neutrino Real-time Operating System

 
Applicable for

Article updated at 01 Jun 2021
Compare with Revision




Subscribe for this article updates

BlackBerry QNX

From BlackBerry® QNX - About us:

Through sophisticated software solutions BlackBerry QNX helps ensure the proper operation of embedded systems that require mission-critical and life-critical operations. Since 1980, BlackBerry QNX has established itself as a trusted partner for companies building vehicles, medical devices, heavy machinery, power and energy, robotics, and industrial automation systems that are required to be safety-certified, extremely reliable, and highly secure.

QNX Neutrino Real-time Operating System (RTOS)

The QNX Neutrino Real-time Operating System (RTOS) is a full-featured, microkernel RTOS with proven reliability in more than 500 million embedded systems. Since 1980, thousands of companies have deployed QNX's real-time operating systems to ensure the ideal combination of performance, security, and reliability in mission-critical systems. At the core of QNX technology is the QNX Neutrino® Real-time Operating System (RTOS), a full-featured RTOS enabling next-generation products in every industry where reliability matters, including automotive, medical devices, robotics, transportation, and industrial embedded systems.

This Partner Demo Image makes it easy for you to evaluate QNX on Toradex Computer on Modules since you can deploy a pre-compiled binary image to the hardware in a few steps. It is also a great starting point since it saves time and costs since you don't need to port a BSP from zero but instead use the BSP source-code to add your customizations on top.

Note: there are QNX BSP ports available for other Toradex Computer on Modules in addition to the one supported by this Partner Demo Image. Learn more about all supported SoMs on the QNX software page.

Intended Use

The pre-built evaluation image is provided as-is by Toradex, meant for evaluation only, and it may be suitable for application development as long as you don't need extra dependencies. It is built from the QNX BSP provided by BlackBerry/QNX to Toradex. Read the Detailed Information and Additional Resources on the QNX software page for more details.

It is expected that you customize the BSP, build, and validate your own image before production.

How to Get Started

This section provides instructions for you to get started with QNX quickly.

Pre-requisites

Get and Prepare the Image

Contact our sales team to get access to the image.

Unpack the image into the root directory of a FAT32 formatted micro SD Card or USB stick, then insert the media into the Ixora Carrier Board.

Flash the Image to the Computer on Module

Load the Toradex Easy Installer on the target module and select QNX from the list of available images.

Once the installation is done, power-off the board and make sure that you have access to the debug UART. Instructions and parameters are the same as from Configuring Serial Port Debug Console (Linux/U-Boot).

Power-on the board, and it will boot to a terminal on the debug UART interface:

Welcome to QNX Neutrino Initial Program Loader for Apalis iMX8QM CPU Evaluation Board (ARM Cortex-A53/A72)
SCFW build version: 4124, SCFW commit: B929EDFE
SECO version: 2.5.6, commit: 27167FF2
eMMC download...
load image done.
Found image               @ 0x88000000
Jumping to startup        @ 0x80800800

board_smp_num_cpu: 6 cores
MAC address for ENET0 is not programmed in Fuses. Random MAC will be used.
MAC address for ENET1 is not programmed in Fuses. Random MAC will be used.
MMFLAGS=1
Welcome to QNX Neutrino 7.0.4 on the Apalis i.MX8QM Board (ARM Cortex-A53/A72)
Starting Watchdog driver...
Setting OS clock from RTC
Starting Serial driver (/dev/ser1)...
Starting Serial driver (/dev/ser2)...
Starting Serial driver (/dev/ser3)...
Starting Serial driver (/dev/ser4)...
Starting SPI0 driver (/dev/spi1)...
Starting SPI2 driver (/dev/spi2)...
Starting CAN driver (/dev/can1/*)...
Starting CAN driver (/dev/can2/*)...
Starting I2C driver (/dev/i2c0)...
Starting I2C driver (/dev/i2c1)...
Starting I2C driver (/dev/i2c2)...
Starting eMMC driver (/dev/emmc0)...
Starting SD1 memory card driver (/dev/sd0)...
Unable to access "/dev/sd0" (2)
Starting Audio driver...
Starting Network driver...
Starting USB xHCI controller in the host mode (/dev/usb/*)...
Starting USB eHCI controller in the host mode (/dev/otg/*)...
Starting Screen ...
Starting Touch Screen driver ...
setting env variables.
Launching devb-umass...
#

Now you have access to the QNX terminal.

Get the Board IP

Since QNX is a Unix-like OS, it has several utilities well-known for Linux users. For instance, given that you have an Ethernet cable plugged to the carrier board, to get your board IP you can run ifconfig:

# ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33136
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
fec0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    address: 3a:a9:5d:cc:21:73
    media: Ethernet autoselect (100baseTX full-duplex,flowcontrol)
    status: active
    inet 192.168.10.41 netmask 0xffffff00 broadcast 192.168.10.255
    inet6 fe80::38a9:5dff:fecc:2173%fec0 prefixlen 64 scopeid 0x11

In the example above, the IP is 192.168.10.41.

Hello World Deploy and Debug

This section explores how to deploy and debug a Hello World application to the board. Please note that our summarized instructions don't replace the comprehensive QNX instructions and documentation. If you have questions, search on the QNX documentation.

Register for a QNX SDP License

To deploy and debug your own Hello World application, you need a QNX Software Development Platform (SDP) 7.0 license. You can get a trial from the 30 Day Evaluation on the QNX website. Instructions are provided on the page.

Install the QNX Software Center

Follow the instructions from QNX to download and install the QNX Software Center (QSC).

Install the QNX Software Development Platform (SDP) 7.0

Warning: you must install SDP 7.0. If you install 7.1 or newer, things may not work.

Open the QNX Software Center and install the SDP 7.0. Follow the QNX SDP Documentation for details. See a summary of the instructions below:

Make sure to select aarch64le from the Target Architectures, as this is the Apalis iMX8 architecture.

Install the QNX Momentics IDE

Application development for QNX is done with the Momentics IDE. It is also installable from the QNX Software Center with few clicks:

Configure a Target Device

Open the Momentics IDE. It can be launched from the QNX Software Center:


  • Launch Momentics

    Launch Momentics

On previous steps, you have discovered the board IP address from the QNX command line. You will use it to configure the target device on Momentics.

Once the target is configured, you can switch to the QNX System Information perspective of the IDE to check if the device connection was successful. See a summary of the steps below:

Create a Hello World from Template

On Momentics, create a new QNX Project > QNX Executable named hello-world for the CPU Variant aarch64le. On the configuration bar on the top on the IDE, select Debug, the hello-world project, and the board you've set up on the previous step, then click on the Debug button and the IDE will deploy the binary to the board and run it:

Next Steps

All support for the QNX software is done through our network of accredited partners, including BlackBerry/QNX. Toradex does not provide in-house technical support for your QNX. However, we are happy to help you get in touch with our partners if you need to. To know more, select the most suitable partner from the Toradex Partners (QNX) and fill the contact form provided on the respective partner page, or contact our sales team.

For more information about how to do QNX development head over to the extensive partner documentation.

BSP Customization

You must do some customization on the BSP, even if only to prepare the system for production by e.g. removing debug features. You can do it by yourself or through one of our proven partners, including QNX themselves. To get the QNX BSP source-code for Apalis iMX8QM, you must contact our sales team.

Application Development, IDE Usage, Training, and More

The QNX documentation is a great starting point. QNX also provides training, if you are interested get in contact with our sales team and they will connect you to the closest QNX sales representative.

Graphical User Interface

Popular graphical frameworks are ported to run on QNX. Our partners provide some of them:

You must contact our partners to learn more about how to run their framework on QNX.

Release Notes

These release notes are strictly related to the test of the QNX Partner Demo Images in Toradex hardware. These notes are not associated with QNX or the QNX software releases.

7.1

This BSP is ported to the following hardware:

  • Apalis iMX8QM 4GB WB IT V1.1B/C
  • Ixora Carrier Board V1.2A

7.0.4

  • First release of the QNX Partner Demo Image for Apalis iMX8QM 4GB WB IT. Two pre-built binaries are provided, each for a specific subset of carrier boards:
    • Ixora Carrier Board V1.1B
    • Ixora Carrier Board V1.2A
    • Apalis Evaluation Board V1.1C

Downloads

Download offline installers and older releases of the Partner Demo Image in this section.

7.1

You must contact our sales team.

7.0.4

Warning: downloads are not available since the newer Apalis iMX8QM V1.1B/C is not supported by this image, and it is not available for purchase anymore.

Licensing Information

Please get in contact with our sales team, and they will connect you to the closest QNX sales representative for information about developer seats, runtime licenses, and more.