arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
# 解壓縮
sudo tar -xvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
# 解壓縮後檔案為 /home/ff/arm-2009q3
sudo mv arm-2009q3 /usr/local
# 授權
sudo chmod 777 /usr/local/arm-2009q3 -r
# 配置arm編譯工具環境變數
sudo vim /etc/profile
# 在/etc/profile檔案最後新增如下內容,儲存並退出
export arm=/usr/local/arm-2009q3/bin export path=$arm:$path
# 使環境變數生效
source /etc/profile
按tab鍵,如果能給出提示 :arm-none-linux-gnueabi-
表示arm交叉編譯工具生效。
可以編寫測試test.cpp檔案,應用
# 編譯test可執行檔案
arm-none-linux-gnueabi-g++ test.cpp -o test
將test放到tftp根目錄下(linux系統作為tftp-server如果沒有則需要先安裝tftp,嵌入式中一般內建了tftp-client)。
在嵌入式裝置中通過
tftp -g -r test 192.168.207.104
# 修改test許可權
chmod 777 test
# 執行test
./test
在路徑./software/board下,找到hi3518e_sdk_v1.0.4.0.tgz
我的ubuntu是16.04 i386版本。
sudo tar -xzf hi3518e_sdk_v1.0.4.0.tgz
這裡提示
./sdk.unpack: 2 : ./sdk.unpack: source: not found.
...dash解析器的解析效率很高,但是功能不如bash那麼強大,因此,在解析有些命令時,會出現找不到的錯誤。
修改預設指令碼解析器為bash,方法如下:
1、命令列輸入:sudo dpkg-reconfigure dash
2、選擇
3、ls -l /bin/sh 查詢確認
還可以直接修改兩個指令碼檔案,使用bash解釋執行這兩個指令碼
1、修改hi3518e_sdk_v1.0.4/scripts/common.sh檔案
將第一行 #!/bin/sh 改為 #!/bin/bash
2、修改hi3518e_sdk_v1.0.4/sdk.unpack檔案
將第一回 #!/bin/sh 改為 #!/bin/bash
修改完成,重新執行命令: sudo ./sdk.unpack
(5)安裝hi3518e交叉編譯工具
進入目錄: hi3518e_sdk_v1.0.4/osdrv/opensource/toolchain/arm-hisiv300-linux
執行指令碼cross.install.v300.
sudo ./cross.install.v300
安裝完成後,使環境變數生效:
source /etc/profile
(6)驗證
輸入arm,按tab鍵,會提示arm-hisiv300-linux-g++等提示。
(2)解壓縮
放在路徑 /usr/local/alsa-arm
(3)配置
sudo ./configure --host=arm-linux --prefix=/usr/local/alsa-arm
會在/usr/local/alsa-arm下生成makefile檔案,建立include檔案及其內的.h檔案
注釋:--host=arm-linux : 編譯目的機器為arm
--prefix=... : 配置安裝路徑為?/usr/local/alsa-arm
(4)編譯
sudo make
sudo make install
生成include ,lib檔案。拷貝到alsa-lib下對應的標頭檔案和庫檔案目錄中。
***************** warning******************
不知什麼原因,我在sudo make install時,提示出錯,無法生成lib庫檔案。
但是網上資料都是這麼介紹,我暫且記錄下來以後有時間再去解決。
******************warning******************
我的解決方案是,直接把別人編譯後的include,lib拿過來放到arm-none-linux-gnueabi下對應資料夾中。
交叉編譯 ARM
交叉編譯 是在乙個平台上生成另乙個平台上的可執行 編譯 例 c51的交叉編譯發生在keil 整合環境上面 linux上面編寫樹莓派的 並編譯成可執行的 如 out,在樹莓派上執行 目的平台上不允許或不能夠安裝我們所需要的編譯器 1 目的平台上的資源貧乏,無法執行我們所需要編譯器 2 目的平台還沒有建...
arm交叉編譯Valgrind
1.wget 把檔案考到板子上,並同步板子的時間到現在。tar xvf valgrind 3.11.0.tar.bz2 cd valgrind 3.11.0 3.configure make make install 注意 prefix opt valgrind指定的目錄要與開發板上放置的目錄一致,...
openssl交叉編譯arm
1 交叉編譯arm環境的openssl 修改config檔案 因為晶元架構為armv7,所以新增 guessos armv7 generic linux2 對應位置 除了修改config檔案也可以在.config的時候新增 march armv7 a 引數 2 使用過程中遇到的問題 我使用的虛擬機器...