日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

對于初學(xué)者,只需要一臺安裝有l(wèi)inux操作系統(tǒng)(比如Ubuntu)的PC即可,或者在windows下安裝一個(gè)虛擬機(jī)軟件(Vmware),虛擬一個(gè)Linux系統(tǒng)的主機(jī),但是我建議還是安裝真機(jī),這樣會迫使你必須在Linux環(huán)境下做任何事情,能讓你更快的熟悉Linux操作系統(tǒng)。

那么當(dāng)我們進(jìn)入進(jìn)階階段的學(xué)習(xí)時(shí),需要在硬件設(shè)備上跑程序的時(shí)候,那我們就需要繼續(xù)搭建交叉開發(fā)環(huán)境了。交叉開發(fā)模式即編譯和運(yùn)行不在同一臺主機(jī)上,在PC機(jī)上編輯、編譯,在目標(biāo)機(jī)(開發(fā)板或者產(chǎn)品)上運(yùn)行程序。

如何搭建嵌入式linux開發(fā)環(huán)境?

 

在主機(jī)上開發(fā)完程序,通常使用nfs網(wǎng)絡(luò)掛載或者tftp將目標(biāo)代碼通過網(wǎng)線下載到目標(biāo)板進(jìn)行驗(yàn)證,但是,像我們當(dāng)前項(xiàng)目的驅(qū)動開發(fā),驅(qū)動都是集成在內(nèi)核中的,所以每次都是在Ubuntu上將整個(gè)內(nèi)核代碼進(jìn)行編譯,然后通過usb將整個(gè)內(nèi)核鏡像產(chǎn)物進(jìn)行燒寫。

gcc(GNU C Compiler),大名鼎鼎的GNU的C/C++/Obj-C編譯器

gcc一般Linux系統(tǒng)自帶,不用自己安裝,下面簡單說下gcc編譯的過程,GCC的編譯流程分為四個(gè)步驟:

  1. 預(yù)處理(Pre-Processing):gcc -E hello.c -o hello.i
  2. 編譯(Compiling):gcc -E hello.c -o hello.i
  3. 匯編(Assembling):gcc -c hello.s -o hello.o
  4. 鏈接(Linking):gcc hello.o -o hello

鏈接時(shí)有時(shí)候會加如下參數(shù):

  • -I: 指定頭文件的路徑
  • -L: 指定庫的路徑

安裝交叉編譯工具鏈

當(dāng)我們初學(xué)的時(shí)候僅僅在Linux主機(jī)下編譯運(yùn)行我們的程序,gcc就夠了,但是如果交叉運(yùn)行時(shí),就必須安裝交叉編譯工具鏈,交叉編譯工具鏈可以自己制作,但是我還是建議大家通過以下方式安裝:

  • 在~目錄下創(chuàng)建一個(gè)文件夾
如何搭建嵌入式linux開發(fā)環(huán)境?

 

  • 下載交叉編譯工具鏈gcc-4.6.4.tar.xz(根據(jù)你需要的版本下載)cp到toolchain目錄下進(jìn)行解壓
如何搭建嵌入式linux開發(fā)環(huán)境?

 

  • 添加環(huán)境變量

修改配置文件/etc/bash.bashrc,在最后一行添加:

export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4/bin/
  • 重啟配置文件
source /etc/bash.bashrc
  • 工具鏈測試
arm-none-linux-gnueabi-gcc -v、

如果可以看到版本號,說明安裝配置成功。

tftp服務(wù)器的安裝及配置

tftp是用來下載遠(yuǎn)程文件的最簡單網(wǎng)絡(luò)協(xié)議,基于UDP來實(shí)現(xiàn)的,嵌入式linux的tftp開發(fā)環(huán)境包括兩個(gè)方面:

一是linux服務(wù)器端的tftp-server支持,二是嵌入式目標(biāo)系統(tǒng)的tftp-client支持。因?yàn)閡-boot(bootloader的一種)本身內(nèi)置支持tftp-client,所以嵌入式目標(biāo)系統(tǒng)端就不用配置了。

  • 修改文件(/etc/default/tftpd-hapa),開啟tftp服務(wù)
sudo vi /etc/default/tftpd-hpa

改為:

如何搭建嵌入式linux開發(fā)環(huán)境?

 

-l:以standalone/listen 模式啟動TFTP服務(wù),而不是從inetd啟動 ,standalone/listen模式是一次啟動,運(yùn)行期間一直駐留在內(nèi)存中,優(yōu)點(diǎn)是反應(yīng)快,缺點(diǎn)是損耗了一定的系統(tǒng)資源,通常用于對實(shí)時(shí)性要求較高的地方,inetd啟動方式相反,只在外部發(fā)出連接請求時(shí)才調(diào)用tftp進(jìn)程,不占用系統(tǒng)資源。

-c:可創(chuàng)建新文件,默認(rèn)情況下,TFTP只允許覆蓋原有文件,不能創(chuàng)建新文件。

-s:改變TFTP啟動的根目錄,加了-s之后,客戶端端在使用TFTP時(shí),不再需要輸入指定的目錄。

  • 重啟tftp服務(wù)器
sudo service tftpd-hpa restart
  • 創(chuàng)建/tftpboot目錄(在根目錄下創(chuàng)建),并修改權(quán)限
sudo mkdir tftpbootsudo chmod 777 tftpboot
  • 登錄本機(jī)進(jìn)行測試
tftp localhost //登錄tftp > get xxx //xxx為你想要從服務(wù)器(/tftpboot目錄)下載的文件tftp > put xxx //xxx為你想要往服務(wù)器(/tftpboot目錄)發(fā)送的文件tftp > q //q表示退出

如果采用燒寫整個(gè)Linux kernel鏡像的方法,通常使用usb將主機(jī)和目標(biāo)板連接,然后根據(jù)不同的芯片廠商提供的燒寫工具進(jìn)行燒寫,比如高通芯片使用Qfile工具進(jìn)行燒寫。
 

分享到:
標(biāo)簽:開發(fā)
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定