www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件

作者:曹忠明,華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)中心講師

在進(jìn)行嵌入式開(kāi)發(fā)之前,首先要建立一個(gè)交叉編譯環(huán)境,這是一套編譯器、連接器和libc庫(kù)等組成的開(kāi)發(fā)環(huán)境。本文具體說(shuō)明了嵌入式交叉編譯環(huán)境的建立過(guò)程和具體的操作步驟,希望能夠?qū)Ω魑慌笥汛罱▽?duì)應(yīng)的交叉編譯環(huán)境有所幫助。

一、所需軟硬件環(huán)境

■ 主機(jī)環(huán)境

建立交叉編譯工具鏈的主機(jī)環(huán)境:

Ubuntu 8.10,GCC-4.3.2

■ Ubuntu 8.10軟件環(huán)境

保證你的 Ubuntu 8.10 安裝了如下的軟件:

Bison flex build-essenTIal patch libncurses5-dev

安裝這些軟件包:

sudo apt-get install Bison flex build-essential patch libncurese5-dev

或直接下載下列deb軟件包

bison_13a2.3.dfsg-4build1_i386.deb

build-essential_11.4_i386.deb

flex_2.5.33-10build1_i386.deb

libncurses5-dev_5.6+20071124-1ubuntu2_i386.deb

m4_1.4.8-1build1_i386.deb

patch_2.5.9-5_i386.deb

然后 sudo dpkg –i *.deb 安裝這些軟件包。

■ 相關(guān)軟件包

本方案所選軟件包如下:

gcc-3.4.5.tar.gz

glibc-2.3.6.tar.gz

linux-2.6.26.5.tar.gz

crosstool-0.43.tar.gz

binutils-2.15.tar.gz

glibc-linuxthreads-2.3.3.tar.gz

linux-libc-headers-2.6.12.0.tar.bz2

二、具體工作步驟

1、修改系統(tǒng)配置

1.1、Ubuntu 8.10 默認(rèn)安裝的 gcc 版本為4.3.2,這個(gè)版本對(duì)于語(yǔ)法要求較高,編譯會(huì)出錯(cuò),目前不宜選用,于是選擇了 gcc-4.1.1 ,但并不需要卸載 gcc-4.3.2。

(1)第一種方法:直接在終端輸入安裝gcc-4.1

sudo apt-get install gcc-4.1

(2)第二種方法:下載下列軟件包:

gcc-4.1_4.1.2-23ubuntu3_i386.deb

gcc-4.1-base_4.1.2-23ubuntu3_i386.deb

cpp-4.1_4.1.2-23ubuntu3_i386.deb

然后sudo dpkg –i *.deb

安裝就可以了

sudo rm /usr/bin/gcc (刪除GCC,它只是個(gè)到gcc-4.3.2的軟鏈接文件)

sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的軟鏈接)

1.2、修改sh版本

如果運(yùn)行

ls -la /bin/sh

看到鏈接的是 dash ,則請(qǐng)運(yùn)行以下命令

sudo dpkg-reconfigure dash

選擇 no 以刪除 dash

此處如果不改好的話,編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤

2.解壓軟件包,并進(jìn)入該目錄,查看重要的腳本文件。

$cd downloads

$tar –zxvf crosstool-0.43.tar.gz

$cd crosstool-0.43

在此目錄下可以看到有很多.sh腳本和.dat配置文件,每一個(gè)支持的處理器都有它所相應(yīng)的腳本。假如選用demo-arm-softfloat.sh 就是建立目標(biāo)為支持軟浮點(diǎn)的arm交叉編譯工具鏈。

3.修改demo-arm-softfloat.sh

$vim demo-arm-softfloat.sh

修改下面兩句

TARBALLS_DIR=$HOME/downloads //表示下載的源碼的存放目錄

RESULT_TOP=/opt/crosstools //表示生成的工具鏈的存放目錄

為:

TARBALLS_DIR=/home/linux/downloads(源碼存放目錄)

RESULT_TOP=/home/linux/crosstools(生成工具鏈目錄)

4.修改 gcc-3.4.5-glibc-2.3.6.dat

$ vim gcc-3.4.5-glibc-2.3.6.dat

修改內(nèi)容為:

BINUTILS_DIR=binutils-2.15

GCC_DIR=gcc-3.4.5

GLIBC_DIR=glibc-2.3.6

LINUX_DIR=linux-2.6.26.5

LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6

5.$ ./ demo-arm-softfloat.sh

這個(gè)過(guò)程較長(zhǎng)(半個(gè)小時(shí)左右)

6.修改環(huán)境變量

修改環(huán)境變量有多種方法我們介紹兩種

(1)第一種方法:在當(dāng)前用戶目錄的.bashrc中添加如下內(nèi)容

$export PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:

(2)第二種方法:或直接修改/home/linux/.bashrc

cd /home/linux

vim .bashrc

添加如下內(nèi)容:

PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:

然后

source .bashrc

7.執(zhí)行如下命令

$ arm-softfloat-linux-gnu-gcc -v

顯示

Reading specs from /home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.5/specs

Configured with: /home/david/downloads/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure --target=arm-softfloat-linux-gnu --host=i686-host_pc-linux-gnu --prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu --with-float=soft --with-headers=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/include --with-local-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long

Thread model: posix

gcc version 3.4.5

ok交叉編譯環(huán)境創(chuàng)建成功!

8.恢復(fù)我們修改的系統(tǒng)配置:

恢復(fù)gcc為4.3

sudo rm /usr/bin/gcc

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

重新安裝dash

sudo dpkg-reconfigure dash

選擇 yes 以重新安裝 dash

“本文由華清遠(yuǎn)見(jiàn)http://www.embedu.org/index.htm提供”



華清遠(yuǎn)見(jiàn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉