SemiDrive X9H 平台 QT 靜態編譯

一、  前言

        芯馳 X9H 晶片,搭載多個操作系統協同運行,系統實現了儀表、空調、中控、副駕多媒體的四屏驅動控制,在人車智能交互上可以通過顯示屏、螢幕觸摸控制、語音控制、物理按鍵控制、車身協議的完美融合,使汽車更智能。讓車主及乘客有更好的體驗樂趣。在儀表的應用中很可能會用到 QT,本文介紹 QT 靜態編譯的方法,這種方法優勢在於不依賴外部庫文件,方便移植。 

 

二、  軟體環境搭建

1.  軟體基線下載

       本文使用 PTG4.1 版本基線,使用 X9HP_Ref_Isolation_AndroidUser_Linux_Serdes_8G_emmc_3200.json 配置文件。

  • 配置 key
  • 下載 buildsystem 文件夾
  • source lunch_sd.sh -c X9HP_Ref_Isolation_AndroidUser_Linux_Serdes_8G_emmc_3200.json -b X9_3.0.0_PTG4.1 -u customer_c
  • make sync_all 同步代碼
  • make build_all 編譯
  • make genpac 生成 pac 包

 

2.  軟體燒錄

       使用提供的 SdToolsBox 工具進行下載,驗證基礎功能完好。



3.  安裝工具鏈

       下載並安裝芯馳提供的工具鏈 cluster-qt-glibc-x86_64-semidrive-qt-sdk-aarch64-toolchain-2.5.3.sh。

查看交叉編譯工具鏈

     



三、  QT 軟體安裝

1.  從官網下載 QT Linux 5.12.5

3.1.1 安裝 QT


3.1.2 選擇工程路徑


3.1.3 選擇安裝選項


3.1.4 協議選擇


3.1.5 開始安裝


2.  QT 靜態編譯

3.2.1 解壓 static_5.12.5_qt_env.7z 文件

3.2.2 修改 compiler-config.sh 中路徑為 export CROSS_COMPILE_PATH=/opt/cluster-qt/2.5.3

 


3.2.3 設置環境變量

source /opt/cluster-qt/2.5.3/environment-setup-aarch64-sdrv-linux


3.2.4 編譯核心庫

        sudo ./qtbase-make.sh static 開始編譯

      


3.2.5 編譯其他庫

         sudo ./qtsubmodules-make.sh static

 


3.  配置 QT

參考 《qt_window應用遠程部署調試環境搭建》文檔,配置 QT。

 


四、  測試驗證

1.  建立 QT 測試工程

 


2.  編譯工程

  • 執行 source /opt/cluster-qt/2.5.3/environment-setup-aarch64-sdrv-linux
  • 執行 source my.sh
  • 執行 export QTDIR PATH MANPATH LD_LIBRARY_PATH
  • 執行 qmake xxx.pro
  • 執行 make


3.  執行應用程序

  • 使用 adb 工具 push 進板子
  • 板端輸入 export QT_QPA_EGLFS_INTEGRATION=none
  • 執行應用程序,可顯示出畫面

 


五、 總結

        經過以上幾步,可以編譯出 QT 應用程序,最基本的程序 12M 左右,在板子上執行後可以顯示出界面,與工程中放置的 2 個 Button 一樣,這樣可以不依賴外部庫獨立移植。

 

六、 參考文檔

  • 《SD_X9_SDK_User_Manual》
  • 《qt_window應用遠程部署調試環境搭建.pdf》

 

歡迎在博文下方留言評論,我們會及時回復您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com   
作者:Chelsea Tong / 佟強


更多資訊,請掃碼關注我們!


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

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

評論