Hi,
I am using "Hexagon SDK 4.5.0.3" to create Halide-HVX C++ applications. I have noticed that Hexagon SDK does not have any libraries related to building Halide-HVX applications for QNX traget platform.
I have been following the steps mentioned in below path to run Halide applications on QNX target (SA8540 SoC): "/local/mnt/workspace/Qualcomm/Hexagon_SDK/4.5.0.3/tools/HALIDE_Tools/2.4.05/Halide/docs/index.html" .
The below fig. is a snapshot of the libraries which are to be transfered to the board as mentioned in "Halide/docs/index.html" .
__________________________________________________________________________________________________________________________________________________________
$> adb push $HALIDE_ROOT/lib/arm-32-android/libhalide_hexagon_host.so /system/lib/ $> adb push $HALIDE_ROOT/lib/arm-64-android/libhalide_hexagon_host.so /system/lib64/ $> adb shell mkdir -p /system/lib/rfsa/adsp/ $> adb push $HALIDE_ROOT/lib/v65/libhalide_hexagon_remote_skel.so /system/lib/rfsa/adsp/ $> adb push $HALIDE_ROOT/lib/arm-32-android/libhalide_hexagon_host.so /vendor/lib/ $> adb push $HALIDE_ROOT/lib/arm-64-android/libhalide_hexagon_host.so /vendor/lib64/ $> adb shell mkdir -p /vendor/lib/rfsa/adsp/ $> adb push $HALIDE_ROOT/lib/v65/libhalide_hexagon_remote_skel.so /vendor/lib/rfsa/adsp/ $> sysroot=$HEXAGON_SDK_ROOT/tools/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/sysroot $> adb push $sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so /system/lib/ $> adb push $sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /system/lib64/ $> adb push $sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so /vendor/lib/ $> adb push $sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /vendor/lib64/
__________________________________________________________________________________________________________________________________________________________
The guide mentions to transfer some library files on the target machine so that the application can execute on target. It's observed that these libraries only exist for android and linux targets (arm-64-android, aarch-64-android, arm-64-linux, aarch-64-linux) , but not for QNX. The paths such as "/system" and "/vendor" also do not exist on QNX SA8540 board.
So, I copied the libraries from "android" and "linux" folders to the path on the target board where I have QNX cross-compiled Halide-HVX C++ application present and tried to execute the Halide application.
This is the error that I get on the target QNX (SA8540) SoC.
__________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________
Can we really port Halide-HVX C++ applications on QNX SoC : SA8540 or is Hexagon SDK only built for linux and android target boards?