-
Notifications
You must be signed in to change notification settings - Fork 244
Building SDL Core for QNX on TI OMAP 5432 Board
Original Author: Jack Byrne
Description | Detailed Requirement |
---|---|
Host Environment | Ubuntu 14.04 |
QNX Versions | 6.5SP1 or 6.6 |
%sudo apt-get install git cmake build-essential libavahi-client-dev libsqlite3-dev chromium-browser libssl-dev libudev-dev libgtest-dev libbluetooth3 libbluetooth-dev bluez-tools gstreamer1.0* libpulse-dev
Set your operating system type and architecture type
%export OS_TYPE=QNX
%export ARCH_TYPE=armv7
When your OS_TYPE is QNX, cmake will look for the environment variables QNX_HOST and QNX_TARGET. You can find them based on your QNX install location and view them in terminal. If they're not set, you'll need to set them with export or run qnx660-env.sh
if it ships with your QNX version:
%echo $QNX_HOST
/opt/qnx650/host/linux/x86
%echo $QNX_TARGET
/opt/qnx650/target/qnx6
// We'll move this to internal SDL soon
%git clone https://github.com/justinjdickow/sdl_core/
%cd sdl_core
%git checkout -b port/qnx origin/port/qnx
%mkdir build
%cd build
%cmake ../ -DCMAKE_TOOLCHAIN_FILE=../qnx_6.5.0_linux_x86.cmake -DCMAKE_SYSTEM_NAME=QNX -G "Eclipse CDT4 - Unix Makefiles”
%make && make install
At this point you can open up QNX Momentics using the script provided
%./run-qde.sh
- Switch perspectives to QNX System Information.
- Next, find the IP Address of your target, then in moments, right click in Target Navigator Window, Select New QNX Target, Enter IP Address of Target Computer and select Finish
- Right click on target in the Target Navigator window and select “Launch TelNet Session”
- Enter login and password
- Switch to C/C++ Perspective
- To import the project select Import -> General -> existing Projects into Workspace -> browse -> select Build directory - > Check Copy projects into workspace -> Finish
- Right click on project folder and select Properties - > Navigate to C/C++ Make Project - > Remove -j4 from build command -> Add install to Build (Incremental Build) Variables -> Apply -> Ok
- Right Click Project folder and click Build Project to ensure project imported correctly
- Right click project -> Run as… -> Run Configurations
- Click new c/c++ QNX QCONN (IP)
- Under c/c++ application: type directory "bin/smartDeviceLinkCore"
- Click on the Upload tab and make sure "Upload executable to target” is checked.
- Change the remote directory to /root or another directory where you have read write and execute permissions.
- Under Shared Libraries click “Upload shared libraries to the target” and select Auto to grab shared libraries.
- Do not run application, exit run configuration for now.
Using the target file navigator in Momentics, copy all files except the smartDeviceLinkCore executable from the host in build/bin/ to /root or whichever directory you chose as the remote directory on your target
SDL needs database create, read, and write permissions so modify init_policy.sh to:
qdb -vvvvvvvV
Modify smartDeviceLink.ini
SystemFilesPath=/root/tmp/fs/mp/images/ivsu_cache
create a configuration file in /pps/qnx/qdb/config called "policy" with the following contents
Filename::/db/policy.db
Download the sdl_hmi from https://github.com/smartdevicelink/sdl_hmi and copy the folder onto your target in a directory that is accessible by the target's browser.
On the target, open browser and navigate to the sdl_hmi/index.html file
Go back to run configurations in Momentics and click run to download sdl to board.