ubuntu下配置交叉编译环境
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
操作系統(tǒng)平臺(tái) 華邦公司建議使用RedHat6.x 以上linux版本,和至少800M的硬盤,這里我們使用Ubuntu 10.04.4LTS(Lucid Lynx)linux操作系統(tǒng),20G的文件系統(tǒng)空間。
我們這里使用華邦提供的軟件包
1:)μclinux-4.20
2:)arm-elf-gcc-3.0開發(fā)工具
3:)基于μclinux 環(huán)境的示例程序代碼
4:)用于C++ 開發(fā)的 arm-elf-gcc-3.3.4
1、登陸系統(tǒng),打開超級(jí)終端
2、按照文檔,將W90p710.tar.gz解壓到開發(fā)目錄,這里強(qiáng)烈建議使用本用戶工作目錄,不然等以后使用make命令時(shí)會(huì)報(bào)錯(cuò),而且由于用戶權(quán)限的問(wèn)題,解壓到其他目錄需要使用超級(jí)權(quán)限,操作起來(lái)極其不方便。執(zhí)行在終端輸入tar xzvf W90P710.tar.gz解壓文件至開發(fā)目錄。
3、使用root賬戶權(quán)限下輸入sh intall.sh安裝開發(fā)工具。
4、配置開發(fā)環(huán)境
????這里不僅要在終端上輸入export PATH=/usr/local/arm_tools/bin:$PATH。一般來(lái)講,這時(shí)候執(zhí)行make操作或者在以后配置系統(tǒng)的話會(huì)說(shuō)“exit 1make[1]:arm-elf-gcc:命令未找到“還需要用超級(jí)權(quán)限在/etc/environment文件里把開發(fā)目錄加進(jìn)去/usr/local/arm_tools/bin。這里的開發(fā)環(huán)境配置不能出一點(diǎn)錯(cuò)誤,否則會(huì)在接下來(lái)的make時(shí)會(huì)報(bào)錯(cuò)說(shuō)找不到arm-elf-gcc文件。
????經(jīng)過(guò)以上步驟,我們已經(jīng)成功的構(gòu)建了交叉編譯環(huán)境。基于自己的經(jīng)驗(yàn),上面兩點(diǎn)建議來(lái)之不易,是筆者經(jīng)過(guò)幾個(gè)晝夜的反復(fù)調(diào)試得來(lái)的教訓(xùn),至于網(wǎng)上有說(shuō)只需經(jīng)過(guò)export
PATH=/usr/local/arm_tools/bin:$PATH命令就能配置成功的說(shuō)法,筆者試過(guò)基本不能成功,需要在/etc/environment里面加入開發(fā)目錄。
配置與重建內(nèi)核
1、安裝“make menuconfig”必要工具“l(fā)ibncurses”
????經(jīng)過(guò)上述步驟我們配置好了開發(fā)環(huán)境,接下來(lái)就需要配置令人頭疼的系統(tǒng)內(nèi)核配置了。首先要在命令行中輸入“make linux_menuconfig”或者“make menuconfig”進(jìn)入配置內(nèi)核的設(shè)置。make menuconfig 是執(zhí)行makefile里面的menuconfig目標(biāo)。因?yàn)樵谀J(rèn)的ubuntu里面是沒(méi)有某些必須軟件的,因此在進(jìn)行這一步的第一步在命令行中輸入“make linux_menuconfig”或“make menuconfig”時(shí)會(huì)報(bào)錯(cuò),注意這里輸入的命令要以root用戶來(lái)運(yùn)行,否則會(huì)報(bào)錯(cuò)說(shuō)權(quán)限不夠。
make[1]:正在進(jìn)入目錄 `/home/test/W90P710-uClinux/uClinux-dist/config/scripts/lxdialog'/usr/bin/ld:
cannot find -lncurses collect2: ld returned 1 exit status
-e?>> Unable tofind the Ncurses libraries.
>>>> You must have Ncurses installed in order
>> to use 'make menuconfig'
????這里原因是終端是基于文本的,若要顯示基于gui圖像,必須安裝Ncurses,Ncurses 提供字符終端處理庫(kù),包括面板和菜單。所以在命令行中輸入“sudo apt-get install libncurses* ”來(lái)安裝nucurses,然后選擇安裝最新版本的“libcurses-dev5”。
2、在終端用root權(quán)限輸入“sudo make menuconfig”命令運(yùn)行菜單配置工具。具體置按照《W90P710 uClinux BSP User Manual》中的提示進(jìn)行。
????請(qǐng)注意,因?yàn)榍度胧浇涌诘膯?wèn)題,有幾個(gè)功能會(huì)因公用同一接口會(huì)發(fā)生沖突。另外,筆者在調(diào)試過(guò)程中發(fā)現(xiàn)如果選用network時(shí)在接下來(lái)的make內(nèi)核時(shí)會(huì)因?yàn)檎也坏揭粋€(gè)net.o文件會(huì)報(bào)錯(cuò)。也許因?yàn)樵谂渲眠^(guò)程中有軟件產(chǎn)生了沖突,原因這里就不得而知了。
????接下來(lái)的過(guò)程就是按照指導(dǎo)文檔進(jìn)行了。這里提醒的是,每次配置好內(nèi)核后構(gòu)建內(nèi)核前都要使用“make dep”
電腦與開發(fā)板的連接
電腦與開發(fā)板的連接方法有兩種,一種是通過(guò)網(wǎng)線連接,另一種是通過(guò)串口接口進(jìn)行連接。
1、我嘗試過(guò)這兩種連接,首先嘗試的是通過(guò)網(wǎng)線的連接。
????可能是因?yàn)殚_發(fā)板的網(wǎng)絡(luò)設(shè)置問(wèn)題而沒(méi)有成功。雖然手動(dòng)設(shè)置電腦的ip 地址為各種資料里面查找到的192.168.0.***,其網(wǎng)絡(luò)掩碼設(shè)為255.255.255.0,使電腦和開發(fā)板同處一個(gè)局域網(wǎng)內(nèi),但一直都是連接的上卻ping不通。后來(lái)曾經(jīng)用minicom軟件以串口通信方式連接目標(biāo)板才發(fā)現(xiàn)開發(fā)板的ip地址為0.0.0.0,也就是說(shuō),需要先以串口方式設(shè)置好目標(biāo)板本地ip地址后才能連接。而通過(guò)說(shuō)明文檔《W90P710 Bootloader Users Manual》里面提供的方法,在minicom命令行里面輸入ifconfig手動(dòng)設(shè)置開發(fā)板ip地址沒(méi)有成功,因此從此再也沒(méi)有想過(guò)用網(wǎng)絡(luò)連接了。
2、通過(guò)串口接口連接開發(fā)板。
????串口是嵌入式開發(fā)使用最多的通信方式。Linux系統(tǒng)提供了一個(gè)串口工具minicom,可以完成復(fù)雜的串口通信工作。在ubuntu Linux系統(tǒng)shell下輸入“$sudo apt-get install
minicom”回車后即可安裝minicom軟件。軟件安裝好后,第一次使用之前需要配置minicom。[2] 在終端輸入sudo minicom –s 進(jìn)入設(shè)置的圖形用戶界面,找到設(shè)置端口的選項(xiàng) Serial
port setup,把波特率設(shè)置為115200:設(shè)置奇偶校驗(yàn)位為無(wú)奇偶校驗(yàn)位,設(shè)置數(shù)據(jù)位為8 位,設(shè)置停止位為 1 。也可以直接按 Q 鍵,是數(shù)據(jù)位為
8 ,奇偶位為無(wú),停止位為1。
3、進(jìn)入minicom連接開發(fā)板
????設(shè)置完成后保存并退出,這里,我們用的是筆記本電腦,需要USB轉(zhuǎn)串口線連接目標(biāo)板,且將設(shè)置設(shè)置為“ttyUSB0”。將串口轉(zhuǎn)USB接口在終端中輸入minicom進(jìn)入modem。
????至此,我們可以使用電腦的arm-elf-gcc進(jìn)行嵌入式程序的開發(fā)了。
轉(zhuǎn)載于:https://my.oschina.net/u/138195/blog/89800
總結(jié)
以上是生活随笔為你收集整理的ubuntu下配置交叉编译环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Javascript获取Html界面元素
- 下一篇: ubuntu18.04安装pycharm