引言
這是個被氣暈在廁所的故事,海思的文檔亂到我人生崩潰,交叉編譯工具的目錄是錯誤的,不安裝SDK又沒法安裝交叉編譯工具,board/document 裏有一個Hi3519V101/Hi3516AV200 SDK 安裝以及升級使用說明.txt
的文檔,打開編譯不過幾句,就讓你編譯osdrv,編譯了一下午,技術支持告訴我不要編譯,這個編譯不過去……還好看到了Hi3519V101開發環境搭建(一)。於是想要自己整理一下,自己的悲催開發環境搭建之路。
SDK的安裝
1、Hi3519V101 SDK包位置
在"Hi3519***/01.software/board"目錄下,可以看到一個 Hi3519V101_SDK_Vx.x.x.x.tgz 的文件,
該文件就是Hi3519V101 的軟件開發包
2、解壓SDK
tar -zxf Hi3519V101_SDK_Vx.x.x.x.tgz
3、 展開SDK(僅用於Linux開發)
進入解壓後的文件路徑:
./sdk.unpack
4、[Hi3519V101開發環境搭建(一)]中說展開SDK這一步是不會成功的,出現類似於./sdk.unpack: 71: ./sdk.unpack: ECHO: not found
的問題,由於我參考的比較亂,我出現這個問題是出現在編譯osdrv的過程中,出現的問題是: /bin/sh: 1: pushd: not found
。但是這兩個問題的原因是一樣的,是由於ubuntu的系統模式腳本是sh、我們需要將其更改成默認的bash。
查看原因:
/bin# ls -lh sh
顯示結果:
sh ->dash
解決方法:
sudo dpkg-reconfigure dash
將dash設置爲NO就可以了。
交叉編譯工具
發佈包提供兩種編譯工具鏈 arm-hisiv500-linux 和 arm-hisiv600-linux,其中arm-hisiv500-linux 爲基於 uclibc 的工具鏈,arm-hisiv600-linux 爲基於 glibc 的工具鏈。
我採用了 arm-hisiv500-linux 版本。
工具鏈路徑:
Hi3519V101R001C01SPC040/01.software/board/Hi3519V101_SDK_V1.0.4.0/osdrv/opensource/toolchain
1、執行解壓命令:
cd toolchain/arm-hisiXXX-linux/
tar -xvf arm-hisiXXX-linux.tar.bz2
2、安裝工具鏈:
./arm-hisiv500-linux.install
3、使環境變量生效:
source /etc/profile
4、執行
arm-hisiv500-linux-gcc -v
出現錯誤:
bash: /opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc: 沒有那個文件或目錄
解決方法:
sudo apt install lib32z1-dev
原因:宿主機64位、交叉編譯器基於32位開發板製作~