Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Modifications to Texas Instruments InfoADAS for the QNX® Platform for ADAS 1.0: Installation Note

Date of this edition: November 4, 2016

Target OS: This package is compatible with targets that were built with the QNX Platform for ADAS 1.0.

Host OS: To use this package, you must have the QNX Platform for ADAS 1.0 installed on one of the following development hosts:

  • Linux Red Hat Enterprise Linux 5.4 Desktop 32- and 64-bit, Red Hat Fedora 12, Ubuntu Workstation 9.10 32- and 64-bit, or openSUSE 11.2
  • Microsoft Windows 7 Professional 32- and 64-bit, Vista Business 32- and 64-bit, XP Professional SP3, or 2000 SP4

This package contains the necessary libraries, binaries, and files to build the Pedestrian detection and Surround view applications, which demonstrate how to use the Texas Instruments InfoADAS and Vision SDK with the QNX Platform for ADAS 1.0. It also contains modifications to the InfoADAS to make it compatible for the QNX Platform for ADAS 1.0.


Note: For information about any issues about this package, see the the QNX Platform for ADAS 1.0 Release Notes.

Contents:

Downloading this package (Linux and Windows)

The following steps get the files required to build the sample applications that use InfoADAS and the Vision SDK. It must be applied on top of the InfoADAS and the Vision SDK that you get from Texas Instruments.

  1. Log into your myQNX account on our website (www.qnx.com) and go to the Download Center.
  2. Download the INFOADAS-QNX_Rel.2.2_diff-nnn.zip archive, where nnn is a build number. You should download this ZIP file to your host environment from the QNX website.
  3. Verify that the downloaded archive's checksum matches the one given on our website.

After you extract the contents of the file, follow the Windows or Linux-specific steps to build the applications. When you extract the contents of the ZIP file later, ensure that you use the same account that you ran the QNX Platform for ADAS 1.0 installer with earlier (on Linux, you must run the command using sudo).

Before you build the applications

If you want to build the applications for this this package, download the following items to your host system before you build the applications:

  • InfoADAS and its associated patch from Texas Instruments. The revision that you want is INFOADAS-QNX 2.2 and the INFOADAS-QNX Release 2.2 Patch 1, which are referred to as INFOADAS-QNX_Rel.2.2.zip and INFOADAS-QNX Rel.2.2-Patch1.zip, respectively in this installation note.

    This version of InfoADAS supports QNX Neutrino 6.5.0 SP1 for the Jacinto 6 board. It has support for a sample use case to A15-based source for 2D and 3D surround-view applications. To get this package, you must contact Texas Instruments directly through their customer service.

  • The IPC package (IPC_3_40_01_08) from the Texas Instruments website at http://downloads.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ipc/3_40_01_08/index_FDS.html. For information about the configuration guide, see the IPC Install Guide on the Texas Instruments website. The guide can be found at http://processors.wiki.ti.com/index.php/IPC_Install_Guide_QNX.

You should verify that the checksums of the archives matche the one posted.

Depending on your platform, use the steps in "Building the applications from this package on Linux" or "Building the applications from this package on Windows" to build and install the application. You should verify that the checksum of the archive matches the one posted.

Building the applications from this package on Linux

You need to complete these steps only if you want to build the sample applications that demonstrate how to use InfoADAS and the Vision SDK.

  1. Put the following environment variables into your .bashrc file:
    
    export HOME=/opt/users/root
    export LD_LIBRARY_PATH=$QNX_HOST/usr/lib:$LD_LIBRARY_PATH 
    export QCONF_OVERRIDE=$HOME/qconf-override.mak
    
    
  2. Create a file called qconf-override.mak in your $HOME directory with the following contents in the file:
    INSTALL_ROOT_nto:=$(HOME)/qnx_install
    USE_INSTALL_ROOT=1
    
  3. Source your .bashrc file:
    >> source $HOME/.bashrc
    

    Note: You will need to do this step only in the existing shell.

  4. Create a working directory called adas:
    >> cd
    >> mkdir $HOME/adas
    >> cd $HOME/adas
    
  5. Put the INFOADAS-QNX_Rel.2.2.zip file that you got from Texas Instruments in the adas directory, unzip it, and then unzip INFOADAS-QNX_Rel.2.2-Patch1.zip file into the same directory to update its contents.
    >> unzip INFOADAS-QNX_Rel.2.2.zip
    >> unzip -o -d INFOADAS-QNX_Rel.2.2 INFOADAS-QNX_Rel.2.2-Patch1.zip
    
  6. Put the INFOADAS-QNX_Rel2.2_diff-nnn.zip file in the adas directory and then unzip it on top of the contents that you extracted in the previous step. For example, if your build was 576, it would look like this:
    >> unzip -o -d INFOADAS-QNX_Rel.2.2  INFOADAS-QNX_Rel2.2_diff-576.zip
    
  7. Put the in the Texas Instruments IPC package (IPC_3_40_01_08) in the adas directory and then unzip it. To configure the build for Jacinto 6, in an editor, open the products.mak file, and then make these changes:
    • set PLATFORM to DRA7XX
    • set DESTDIR to the same directory you specified for the INSTALL_ROOT_nto variable in step 2.
    >> cd ipc_3_40_01_08
    >> vi products.mak
    ...
    PLATFORM = DRA7XX
    ...
    DESTDIR = $(HOME)/qnx_install
    
  8. Build the IPC package for QNX Neutrino RTOS.
    >> make -f ipc-qnx.mak all
    >> make -f ipc-qnx.mak install
    
  9. Copy the prebuilt content and library files for the linker to your $HOME/qnx_install directory, and then add those paths to your CPATH environment variable:
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/armle-v7-650/* $HOME/qnx_install/armle-v7/
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/usr/* $HOME/qnx_install/usr/
    >> mkdir -p $HOME/qnx_install/armle-v7/lib/firmware
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/firmware/*/* $HOME/qnx_install/armle-v7/lib/firmware
    >> cp $HOME/qnx_install/armle-v7/usr/lib//libogles2tools.so.1 $HOME/qnx_install/armle-v7/usr/lib/libogles2tools.a
    >> export CPATH=$HOME/qnx_install/usr/include/pvr_tools/Tools/OGLES2:$HOME/adas/INFOADAS-QNX_Rel.2.2/vision_sdk/include/link_api/:
    $HOME/adas/ipc_3_40_01_08/linux/include:$HOME/adas/ipc_3_40_01_08/packages:$HOME/adas/ipc_3_40_01_08/qnx/include:
    $HOME/adas/ipc_3_40_01_08/qnx/src/ipc3x_dev/ti/syslink/inc
    

    Note: The path to the directories to specified in the example are based on the directory you specified for the INSTALL_ROOT_nto parameter in Step 2 and the working directory you created in Step 4.

  10. Make the following changes to these files:
    • $HOME/adas/INFOADAS-QNX_Rel.2.2/infoadas/qnx_app/infoadas-demo-pd/common.mk:

      Move the following block of commands (lines 50 and 58) after include $(MKFILES_ROOT)/qtargets.mk (line 88):

      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=ogles2tools
      LIBS +=m
      LIBS +=camapi screen EGL GLESv2

      Here's a snippet of how your common.mk file should look, where the bolded text represents the lines that you moved:

      ...
      ...    
      include $(MKFILES_ROOT)/qmacros.mk
      
      include $(MKFILES_ROOT)/qtargets.mk
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=ogles2tools
      LIBS +=m
      LIBS +=camapi screen EGL GLESv2
      
      
      OPTIMIZE_TYPE_g=none
      OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
      
      
    • $HOME/adas/INFOADAS-QNX_Rel.2.2/infoadas/qnx_app/app_epsrc/common.mk:

      Move the following block of commands (lines 48-63) after the include $(MKFILES_ROOT)/qtargets.mk (lines 106):

      LIBS +=ws
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=xml2
      LIBS +=m
      LIBS +=EGL
      LIBS +=GLESv1_CM
      LIBS +=GLESv2
      LIBS +=ogles2tools
      LIBS +=sharedmemallocator
      LIBS += camapi
      LIBS += screen

      Here's a snippet of how your common.mk file should look, where the bolded text represents the lines that you moved:

      ...
      ...
      include $(MKFILES_ROOT)/qmacros.mk
      
      include $(MKFILES_ROOT)/qtargets.mk
      LIBS +=ws
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=xml2
      LIBS +=m
      LIBS +=EGL
      LIBS +=GLESv1_CM
      LIBS +=GLESv2
      LIBS +=ogles2tools
      LIBS +=sharedmemallocator
      LIBS += camapi
      LIBS += screen
      OPTIMIZE_TYPE_g=none
      OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))   
      
  11. Goto the INFOADAS-QNX_Rel.2.2 directory and run make install.
    >> cd ../INFOADAS-QNX_Rel.2.2
    >> make install
    
  12. After the make install is done, the binaries for the Pedestrian detection (infoadas-demo-pd) and Surround view (infoadas-app-epsrc) applications are available. You can use the QNX Momentics IDE to transfer the binaries to anywhere on the target, but we recommend that you put the files you built in a separate directory from the default files on the reference image.
    • To use the Pedestrian detection application, transfer the $HOME/qnx_install/armle-v7/usr/bin/infoadas-demo-pd file onto the target board.
    • To use the Surround view application, transfer the $HOME/qnx_install/armle-v7/usr/bin/infoadas-app-epsrc file to the target board.

    Note: On the reference image, there are versions of the infoadas-demo-pd and infoadas-app-epsrc binaries in the /usr/bin directory. If you choose to put them in the /usr/bin directory, back up the original version of the binaries. For example:
    # mount -uw /base
    # cp /base/usr/bin/infoadas-demo-pd /base/usr/bin/infoadas-demo-pd.bkup
    # cp /base/usr/bin/infoadas-app-epsrc /base/usr/bin/infoadas-app-epsrc.bkup
    

    On the target's command prompt, type infoadas-demo-pd to run the Pedestrian detection application, or infoadas-app-epsrc to run the Surround view application. For more information about running the applications, see the "Pedestrian detection" and the "Surround view" sections in the Getting Started guide for the QNX Platform for ADAS 1.0.
  13. If you are building an image and want to include the files you built using these steps in your image, which should be the qnx_install directory you specified in step 3. Add the following lines to your searchpaths.cfg file:
    ...
    ...
    ${HOME}/qnx_install path
    ...
    ...
    For more information, see the "Search paths" section of the Modifying Content chapter in the Working with Target Images guide.

Building the applications from this package on Windows

You need to complete these steps only if you want to build the sample applications that demonstrate how to use InfoADAS and the Vision SDK.

  1. Put the following variables into a .bat file and run it. Alternatively, you can add the user variables by going to Control Panel > Advanced System Settings > Environment Variables (Windows 7) or My Computer > System Properties > Advanced > Environment Variables (Windows XP) to add the environment variables listed below.

    Some of the variables may have already been set as part of your installation.

    • LD_LIBRARY_PATH=%QNX_HOST%/usr/lib:%LD_LIBRARY_PATH%
    • QCONF_OVERRIDE=%HOME%/qconf-override.mak
    • HOME=C:\QNXSTUFF

    Note: The example above is for Windows 7, but if you are using Windows XP, you should set the QNX_CONFIGURATION variable to C:/Program Files/QNX Software Systems.

    You should also create an environment variable called HOME. The environment should be set to a directory where you want to work with the files and it shouldn't have any spaces within the path. In addition, the directories should be delimited using a forward slash ("/"). For example, don't use C:\Documents and Settings\Administrator. Instead, use something such as C:/QNXSTUFF because the space in the name doesn't work with the provided Makefiles.

  2. Create a file called qconf-override.mak in your $HOME directory (or the location you want to put the files). Put the the following contents in the file:
    INSTALL_ROOT_nto:=$(HOME)/qnx_install
    USE_INSTALL_ROOT=1
    
  3. Create a working directory called adas:
    >> cd
    >> mkdir %HOME%\adas
    >> cd %HOME%\adas
    
  4. Put the INFOADAS-QNX_Rel.2.2.zip file that you got from Texas Instruments in the adas directory, unzip it, and then unzip INFOADAS-QNX_Rel.2.2-Patch1.zip file into the same directory to update the files.
    >> unzip INFOADAS-QNX_Rel.2.2.zip
    >> unzip -o -d INFOADAS-QNX_Rel.2.2 INFOADAS-QNX Rel.2.2-Patch1.zip
    
  5. Put the INFOADAS-QNX_Rel2.2_diff-nnn.zip file in the adas directory and then unzip it on top of the contents that you extracted in the previous step. For example, if your build was 576, it would look like this
    >> unzip -o -d INFOADAS-QNX_Rel.2.2  INFOADAS-QNX_Rel2.2_diff-576.zip
    
  6. Put the in the Texas Instruments IPC package (IPC_3_40_01_08) in the adas directory and then unzip it. To configure the build for Jacinto 6, in an editor, open the products.mak file, and then make these changes:
    • set PLATFORM to DRA7XX
    • set DESTDIR to the directory that you specified for the INSTALL_ROOT_nto variable in step 2.
    >> unzip ipc_3_40_01_08.zip
    >> cd ipc_3_40_01_08
    >> start wordpad products.mak
    ...
    PLATFORM = DRA7XX
    ...
    DESTDIR = $(HOME)/qnx_install
    
  7. In your command prompt, type bash. The make commands in the steps that follow must be run in a bash shell.
  8. Build the IPC package for QNX Neutrino RTOS.
    $ make -f ipc-qnx.mak all
    $ make -f ipc-qnx.mak install
    
  9. Copy the prebuilt content and library files for the linker to your $HOME/qnx_install directory, and then add those paths to your CPATH environment variable:
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/armle-v7-650/* $HOME/qnx_install/armle-v7/
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/usr/* $HOME/qnx_install/usr/
    >> mkdir -p $HOME/qnx_install/armle-v7/lib/firmware
    >> cp -r $HOME/adas/INFOADAS-QNX_Rel.2.2/prebuilt/firmware/*/* $HOME/qnx_install/armle-v7/lib/firmware
    >> cp $HOME/qnx_install/armle-v7/usr/lib//libogles2tools.so.1 $HOME/qnx_install/armle-v7/usr/lib/libogles2tools.a
    >> export CPATH=$HOME/qnx_install/usr/include/pvr_tools/Tools/OGLES2:$HOME/adas/INFOADAS-QNX_Rel.2.2/vision_sdk/include/link_api/:
    $HOME/adas/ipc_3_40_01_08/linux/include:$HOME/adas/ipc_3_40_01_08/packages:$HOME/adas/ipc_3_40_01_08/qnx/include:
    $HOME/adas/ipc_3_40_01_08/qnx/src/ipc3x_dev/ti/syslink/inc
    

    Note:The path to the directories to specified in the example are based on the directory you specified for the INSTALL_ROOT_nto parameter in Step 2 and the working directory you created in Step 3.

  10. Make the following changes to these files:
    • $HOME/adas/INFOADAS-QNX_Rel.2.2/infoadas/qnx_app/infoadas-demo-pd/common.mk:

      Move the following block of commands (lines 50 and 58) after include $(MKFILES_ROOT)/qtargets.mk (line 88):

      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=ogles2tools
      LIBS +=m
      LIBS +=camapi screen EGL GLESv2

      Here's a snippet of how your common.mk file should look, where the bolded text represents the lines that you moved:

      ...
      ...    
      include $(MKFILES_ROOT)/qmacros.mk
      
      include $(MKFILES_ROOT)/qtargets.mk
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=ogles2tools
      LIBS +=m
      LIBS +=camapi screen EGL GLESv2
      
      
      OPTIMIZE_TYPE_g=none
      OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
      
      
    • $HOME/adas/INFOADAS-QNX_Rel.2.2/infoadas/qnx_app/app_epsrc/common.mk:

      Move the following block of commands (lines 48-63) after the include $(MKFILES_ROOT)/qtargets.mk (lines 106):

      LIBS +=ws
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=xml2
      LIBS +=m
      LIBS +=EGL
      LIBS +=GLESv1_CM
      LIBS +=GLESv2
      LIBS +=ogles2tools
      LIBS +=sharedmemallocator
      LIBS += camapi
      LIBS += screen

      Here's a snippet of how your common.mk file should look, where the bolded text represents the lines that you moved:

      ...
      ...
      include $(MKFILES_ROOT)/qmacros.mk
      
      include $(MKFILES_ROOT)/qtargets.mk
      LIBS +=ws
      ifeq ($(PLATFORM),tda2xx-evm)
      LIBS +=vivi_j6
      endif
      ifeq ($(PLATFORM),tda2ex-evm)
      LIBS +=vivi_j6eco
      endif
      LIBS +=xml2
      LIBS +=m
      LIBS +=EGL
      LIBS +=GLESv1_CM
      LIBS +=GLESv2
      LIBS +=ogles2tools
      LIBS +=sharedmemallocator
      LIBS += camapi
      LIBS += screen
      OPTIMIZE_TYPE_g=none
      OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))   
      
  11. Go to the INFOADAS-QNX_Rel.2.2 directory and run make install.
    $ cd ../INFOADAS-QNX_Rel.2.2
    $ make install
    
  12. After the make install is done, the binaries for the Pedestrian detection (infoadas-demo-pd and Surround view (infoadas-app-epsrc) applications are available. You can use the QNX Momentics IDE to transfer the binaries to anywhere on the target, but we recommend that you put the files you built in a separate directory from the default files on the reference image.
    • To use the Pedestrian detection application, transfer the $HOME/qnx_install/armle-v7/usr/bin/infoadas-demo-pd file onto the target board.
    • To use the Surround view application, transfer the $HOME/qnx_install/armle-v7/usr/bin/infoadas-app-epsrc file to the target board.

    Note: On the reference image, there are versions of the infoadas-demo-pd and infoadas-app-epsrc binaries in the /usr/bin directory. If you choose to put them in the /usr/bin directory, back up the original version of the binaries. For example:
    # mount -uw /base
    # cp /base/usr/bin/infoadas-demo-pd /base/usr/bin/infoadas-demo-pd.bkup
    # cp /base/usr/bin/infoadas-app-epsrc /base/usr/bin/infoadas-app-epsrc.bkup
    

    On the target's command prompt, type infoadas-demo-pd to run the Pedestrian detection application, or infoadas-app-epsrc to run the Surround view application. For more information about running the applications, see the "Pedestrian detection" and the "Surround view" sections in the Getting Started guide for the QNX Platform for ADAS 1.0.
  13. If you are building an image and want to include the files you built using these steps in your image, which should be the qnx_install directory you specified in step 3. Add the following lines to your searchpaths.cfg file:
    ...
    ...
    ${HOME}/qnx_install
    ...
    ...
    For more information, see the "Search paths" section of the Modifying Content chapter in the Working with Target Images guide.

Technical support

To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.