跟着iMX28x开发套件学linux-02
二、安裝交叉編譯環(huán)境
NFS配置好了之后就要進(jìn)行l(wèi)inux應(yīng)用學(xué)習(xí)了。要了解到Ubuntu是在x86運(yùn)行程序的,而開發(fā)板卻是在arm運(yùn)行程序的。也就是說在Ubuntu上用gcc編譯的程序無法在開發(fā)板上運(yùn)行。而且開發(fā)板上資源不足,不能在開發(fā)板安裝交叉編譯環(huán)境。那就只能在Ubuntu上安裝交叉編譯環(huán)境,寫好的代碼用交叉編譯指令編譯好之后再通過NFS發(fā)送到開發(fā)板運(yùn)行。
將店家提供的交叉編譯環(huán)境壓縮包復(fù)制到Ubuntu
方法有多種,這里介紹三種,我選用第一種,因?yàn)椴挥迷侔惭b其他軟件。
1)?開發(fā)板出廠固件是可以掛載tf卡的,可以先把壓縮包從windows復(fù)制到tf卡,然后把tf卡插入開發(fā)板,在掛載了tf卡后,利用NFS將tf卡中的文件傳送到Ubuntu。其實(shí)也可以用ssh file把Windows上的壓縮包直接發(fā)送到開發(fā)板內(nèi)存卡上,然后通過NFS傳送到Ubuntu。
2)?在Ubuntu中安裝vmtools,然后直接用復(fù)制粘貼,從Windows中復(fù)制壓縮包到Ubuntu。
3)?Ubuntu中安裝ftp服務(wù),配置ftp為匿名訪客,然后在Windows通過ftp登錄到Ubuntu的指定目錄,復(fù)制壓縮包到這個(gè)目錄。
解壓壓縮包(以下命令在Ubuntu上運(yùn)行)
1)?將壓縮包復(fù)制到/opt目錄,當(dāng)然其他目錄也可以。
2)?Tar -xjvf 壓縮包名 : 把交叉編譯環(huán)境解壓到當(dāng)前目錄。
添加環(huán)境變量(以下命令在Ubuntu上運(yùn)行)
這一步其實(shí)純粹是為了方便而已,直接運(yùn)行交叉編譯環(huán)境內(nèi)/bin目錄下的文件來進(jìn)行交叉編譯就行了, 但是每次都輸入那么長一段/bin目錄路徑太麻煩了,添加了環(huán)境變量之后,再次進(jìn)行交叉編譯就不用 輸入/bin目錄路徑了。添加環(huán)境變量的方式有:所有用戶永久,僅當(dāng)前用戶永久,所有用戶臨時(shí)。我 用的是所有用戶臨時(shí)方式,就是每次crtl+alt+t打開新的終端都要添加一次環(huán)境變量。
1) export PATH=$PATH:bin目錄的完整路徑 : 這是把bin目錄完整路徑添加到PATH變量的末尾的意思。可以用echo $PATH查看PATH變量是否被正確添加。
測試(以下命令在Ubuntu上運(yùn)行)
1)?arm-fsl-linux-gnueabi- : 按兩次tab鍵,如果出現(xiàn)了許多備選命令就意味著全局變量添加成功,否則仔細(xì)查看添加全局變量的操作是不是錯(cuò)了。
2)?arm-fsl-linux-gnueabi-gcc : 如果出現(xiàn)沒有輸入文件(no input file)提示,就說明交叉編譯器可以使用了。但是如果出現(xiàn)了找不到路徑,則是交叉編譯器出現(xiàn)問題。如果前面步驟不出錯(cuò),那就應(yīng)該是64位的Ubuntu不支持32位的交叉編譯器,需要安裝32位兼容包,安裝步驟看3)。
3)?sudo apt-get install lib32z1
sudo apt-get install lib32z1-dev
sudo apt-get install libgtk2.0-0:i386 libxxf86vm1:i386 libsm6:i386 lib32stdc++6
店家提供的開發(fā)指南只是一句,安裝ia32-libs,但是Ubuntu 14.0.4就已經(jīng)移除了這個(gè)兼容包, 要用上面三個(gè)指令去安裝代替ia32-libs的包。
4)?重復(fù)2),如果提示沒有輸入文件則交叉編譯器安裝成功。
?
交叉編譯環(huán)境配置好了,可以自己寫個(gè)hello world程序,用交叉編譯器編譯,然后通過NFS發(fā)送到開發(fā)板去運(yùn)行看看能不能成功,開到putty上面顯示出hello world的時(shí)候還是很開心的。
轉(zhuǎn)載于:https://www.cnblogs.com/liangda/p/9905030.html
總結(jié)
以上是生活随笔為你收集整理的跟着iMX28x开发套件学linux-02的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql-安装指南
- 下一篇: sql server扫盲系列