Forums - Runtime library issue while running Halide applications for QNX based automotive SoC (SA8540)

1 post / 0 new
Runtime library issue while running Halide applications for QNX based automotive SoC (SA8540)
anish.varghese
Join Date: 22 Mar 23
Posts: 2
Posted: Wed, 2023-03-22 23:38

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.

__________________________________________________________________________________________________________________________________________________________

# Error: Required Hexagon runtime symbol 'halide_hexagon_remote_load_library' not found.
# Abort (core dumped)

__________________________________________________________________________________________________________________________________________________________

 

Can we really port Halide-HVX C++ applications on QNX SoC : SA8540  or is Hexagon SDK only built for linux and android target boards? 

 

 

  • Up0
  • Down0

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.