如何在 Linux 環境下做 APEX 範例的編譯

嗨 大家好, 

 相信大家已經了解 S32 Design Studio 的使用方法,其中包含如何編譯 APEX 相關範例。今天我來為大家介紹另一種編譯方法,是在 Linux 環境下做 APEX 範例的編譯,可兼容於 VSDK1.0.0 至 VSDK1.3.0 的版本。

 一、設定環境變數 (以 VSDK1.3.0 為例子):

  1. 修改 envbuild.sh 檔:

$ cd ~/VisionSDK_S32V2_RTM_1_3_0/s32v234_sdk/

$ vim envbuild.sh

新增代碼如下:

#!/bin/bash

if [ -z "$CROSS_COMPILE_M0_ELF" ]; then

  export CROSS_COMPILE_M0_ELF=arm-none-eabi-

  echo "Setting CROSS_COMPILE_M0_ELF to ${CROSS_COMPILE_M0_ELF}"

fi

if [ -z "$CROSS_COMPILE_AARCH64_ELF" ]; then

  export CROSS_COMPILE_AARCH64_ELF=aarch64-none-elf-

  echo "Setting CROSS_COMPILE_AARCH64_ELF to ${CROSS_COMPILE_AARCH64_ELF}"

fi

if [ -z "$CROSS_COMPILE" ]; then

  export CROSS_COMPILE=aarch64-linux-gnu-

  echo "Setting CROSS_COMPILE to ${CROSS_COMPILE}"

fi

if [ -z "$APU_TOOLS" ]; then

  export APU_TOOLS=~/NXP/APU_Compiler_v1.0

  echo "Setting APU_TOOLS to ${APU_TOOLS}"

fi

if [ -z "$APU_COMP" ]; then

  export APU_COMP=nxp

  echo "Setting APU_COMP to ${APU_COMP}"

fi



值得注意的是,先前安裝 S32 Design Studio 時,也會接著安裝 APU Compiler,

~/NXP/APU_Compiler_v1.0” 為安裝預設的路徑。

 

  1. 設定環境變數:

$ source envbuild.sh

 

二、編譯範例 (以 face_detection 為例子):

  1. 前往範例資料夾:

cd ~/VisionSDK_S32V2_RTM_1_3_0/s32v234_sdk/demos/apex/apex_face_detection_cv/build-v234ce-gnu-linux-d/

  1. 編譯範例:

$ make -j4 allsub

編譯完成後,相同路徑下會編譯出 .elf 檔,將其複製到平台中即可驗證。

 

 基本上編譯方法就是如此簡單,很適合進一步的開發方式,同時也適用於 ISP 範例的操作。操作上如果有其他問題,歡迎大家在下方與我討論,謝謝。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

Amingo Chang

Amingo Chang

2020年8月26日
嗨 Yifa, 這個 API 在 libgcc 中,一般這些 lib 的連結都在環境架設時都設定好了,下方的博文第 2 點與第 5 點有設定的操作流程: https://www.wpgdadatong.com/tw/blog/detail?BID=B0050 請幫我們確認一下配置的參數是否正確,謝謝。 阿米哥
Yifa Sun

Yifa Sun

2020年3月25日
請問有人遇過這種compile error message?

APU_FACE_DETECTION_LBP.cpp:170: error: undefined reference to '__modsi3'
APU_FACE_DETECTION_LBP.cpp:172: error: undefined reference to '__modsi3'
APU_FACE_DETECTION_LBP.cpp:274: error: undefined reference to '__modsi3'
../src/acf_hwutilities.cpp:408: error: undefined reference to '__divsi3'
../src/acf_hwutilities.cpp:409: error: undefined reference to '__modsi3'
../src/acf_utilities.cpp:1175: error: undefined reference to '__divsi3'