瑞芯微RK3568處理器憑借在性能、功耗和接口擴展性之間的良好平衡,成為了中端AIoT市場的標桿芯片之一,上市以來取得了出色的市場表現。RK3568是一款64位處理器,飛凌嵌入式為其提供的交叉編譯器也是64位的,然而部分用戶可能需要在RK3568開發板上運行32位應用。本文將詳細闡述如何使用32位交叉編譯器,編譯出32位應用,并使其能夠在飛凌嵌入式RK3568開發板上順利運行。
我們將以gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf交叉編譯工具為例進行演示。
1、方法步驟
(1) 內核配置
飛凌嵌入式RK3568開發板內核出廠時默認已打開EL0,因此無需進行額外的內核配置。
(2) 運行庫準備
由于缺少32位運行庫,我們需要進行以下操作:
① 打包交叉編譯工具鏈中的libc目錄下的lib目錄,具體路徑為:
gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc
② 在飛凌嵌入式RK3568開發板根目錄手動創建/lib32文件夾。
③ 執行以下命令,將打包的庫文件復制到開發板根目錄的/lib32目錄下,作為運行庫:cp ./* /lib32/ -rf
④ 添加環境變量,將/lib32加入查找路徑:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib32
⑤ 創建軟連接:
ln -s /lib32/ld-linux-armhf.so.3 /lib
(3) 應用測試
① 使用ld-linux-armhf.so.3 --list命令代替ldd命令,檢測測試程序所需的庫文件。

如果發現庫文件都存在,則可執行測試程序。

執行test可執行文件成功。
② 在開發環境中查看測試程序,確認其為32位ELF格式。

③ 如果需要手動指定庫的位置,可以使用以下命令:/lib/ld-linux-armhf.so.3 --library-path /lib32 --list /home/forlinx/test
2、注意事項
(1) glibc版本匹配
在自行查找的交叉編譯工具鏈中,使用的glibc版本需符合應用需求的glibc版本,否則無法正常運行。
(2) 操作準確性
在操作過程中,務必確保命令的正確性,避免因操作失誤導致開發板系統出現問題。
(3) 開發環境檢查
在編譯和測試過程中,我們需要確保開發環境已正確配置,包括交叉編譯工具鏈的安裝和環境變量的設置。
通過以上步驟,用戶可以在飛凌嵌入式RK3568開發板上成功運行32位應用,充分發揮其高性能和低功耗的優勢,滿足多樣化的嵌入式開發需求。
3、RK3568開發板簡介
在嵌入式開發領域,開發平臺的選擇對項目成敗至關重要。飛凌嵌入式基于瑞芯微RK3568處理器設計推出的OK3568-C開發板,憑借其高性能、低功耗及豐富的功能接口,已成為眾多工程師的首選。

RK3568處理器采用四核64位Cortex-A55架構,主頻高達2.0GHz,并集成1TOPS算力的瑞芯微自研NPU。還支持多種高清視頻解碼和多路顯示輸出,能滿足從工業控制到智能安防等多樣化應用需求。

對于工程師而言,飛凌嵌入式RK3568開發板不僅可以提供強大的硬件基礎,還配備了完善的開發工具和豐富的文檔資料,為從硬件設計、軟件開發到性能優化和項目落地的全流程提供全方位支持,有效簡化開發流程,縮短項目周期。
-
嵌入式
+關注
關注
5152文章
19676瀏覽量
317701 -
開發板
+關注
關注
25文章
5683瀏覽量
104875 -
交叉編譯
+關注
關注
0文章
35瀏覽量
12860 -
瑞芯微
+關注
關注
25文章
602瀏覽量
52485 -
RK3568
+關注
關注
5文章
585瀏覽量
6430
發布評論請先 登錄
【飛凌嵌入式OK3568-C開發板試用體驗】運行Demo例程加載Forlinx Embedded 1
【飛凌RK3568開發板試用體驗】開箱
【飛凌RK3568開發板試用體驗】編寫OK3568 linux helloworld
【ROC-RK3568-PC開發板試用體驗】Firefly ROC-RK3568-PC開發板初探

評論