ARM9機(jī)器車(chē)實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)指導(dǎo)手冊(cè)_第1頁(yè)
ARM9機(jī)器車(chē)實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)指導(dǎo)手冊(cè)_第2頁(yè)
ARM9機(jī)器車(chē)實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)指導(dǎo)手冊(cè)_第3頁(yè)
ARM9機(jī)器車(chē)實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)指導(dǎo)手冊(cè)_第4頁(yè)
ARM9機(jī)器車(chē)實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)指導(dǎo)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩204頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ARM9

機(jī)

車(chē)

實(shí)

訓(xùn)

臺(tái)

實(shí)驗(yàn)指導(dǎo)手冊(cè)

南京郵電大學(xué)計(jì)算機(jī)學(xué)院嵌入式課程組

第一章Ubuntu8.10的安裝和網(wǎng)絡(luò)配置

1.安裝虛擬機(jī)軟件Vmware6.0.2

虛擬機(jī)安裝版本Vmware6.0.2的版本

在winxp操作系統(tǒng)下用鼠標(biāo)雙擊VMware-workstation-6.0.2-59824圖標(biāo),開(kāi)始安裝虛擬機(jī)

Vmware,如下圖所示:

名稱(chēng)

jdNewkeygen

VMwarorkstation_6.0.2~59824

雙擊VMware-workstation-6.0.2-59824圖標(biāo),出現(xiàn)vmware的安裝界面,所有的選項(xiàng)都采用默

認(rèn)值,用鼠標(biāo)點(diǎn)【下一步】,然后出現(xiàn)安裝進(jìn)度條,系統(tǒng)開(kāi)始安裝vmware,等待安裝完成后,

出現(xiàn)如下安裝完成界面:

用鼠標(biāo)點(diǎn)【Finish】,虛擬機(jī)安裝完成。系統(tǒng)提示重新啟動(dòng)計(jì)算機(jī),選擇【是】重新啟動(dòng)計(jì)

算機(jī),電腦重新啟動(dòng)后,虛擬機(jī)安裝完成。

2.新建虛擬機(jī)

打開(kāi)Vmware虛擬機(jī)軟件,選【File]->[New]->【VirtualMachine】,彈出新建虛擬機(jī)向?qū)?/p>

對(duì)話框,注意以下幾個(gè)重要的選項(xiàng),其他都采用默認(rèn)選項(xiàng)即可;

選擇操作系統(tǒng)和版本,如下圖所示:

HevVirtuallachineVizard區(qū)

SelectaGuestOperatingSystem

Whichoperatingsystemwillbeinstalledonthis

virtualmachine?

Guestoperatingsystem

OMicrosoftWindows

@Linux

ONovellNetWare

OSunSolaris

OOther

k上一步⑤)][下一步國(guó))>j[取消]

選擇虛擬機(jī)名稱(chēng)和存放的路徑,如下圖所示:

NevVirtuallachineVizard

BasetheVirtuallachine

Whatnamewouldyouliketouseforthisvirtual

machine?

Virtualmachinename

Ubuntu

Location

D:\ubuntu

k上一步起下一步國(guó))>】[取消?

設(shè)置虛擬機(jī)硬盤(pán)大小為20G,如下圖所示:

NevVirtualMachineVizard區(qū)

SpecifyDiskCapacity

Howlargedoyouwantthisdisktobe?

Diskcapacity

Thisvirtualdiskcanneverbelargerthanthemaximumcapacitythatyousethere.

Disksize(GB):|200

□Allocatealldiskspacenow.

Byallocatingthefullcapacityofthevirtualdisk,youenhanceperformanceof

yourvirtualmachine.However,thediskwilltakelongertocreateandtheremust

beenoughspaceonthehost'sphysicaldisk.

Ifyoudonotallocatediskspacenow,yourvirtualdiskfileswillstartsmallthen

becomelargerasyouaddapplications,files,anddatatoyourvirtualmachine.

□Splitdiskinto2GBfiles.

<上一步也)II完成1I取消

點(diǎn)擊【完成】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),下面我們?cè)O(shè)置一下虛擬機(jī)的內(nèi)存,步驟

如下:

點(diǎn)擊虛擬機(jī)Vmware的[VM]->[settings]時(shí)菜單,彈出虛擬機(jī)設(shè)置對(duì)話框,設(shè)置虛擬機(jī)

使用的內(nèi)存為512M或1024M,如下圖所示:

VirtualMachineSettings

點(diǎn)擊【OK】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),該虛擬機(jī)的硬盤(pán)為20G內(nèi)存為512M.

接著我們就可以在該虛擬機(jī)上安裝ubuntu操作系統(tǒng)了。

注:鍵盤(pán)和鼠標(biāo)控制權(quán)在虛擬機(jī)和Windows系統(tǒng)之間的切換是通過(guò)組合鍵【Ctrl]+[Alt]來(lái)實(shí)現(xiàn)的。

3安裝Linux操作系統(tǒng)ubuntu

Ubuntu安裝版本ubuntu8.10

點(diǎn)擊vmware軟件工具欄上的【綠色箭頭】啟動(dòng)虛擬機(jī),如下圖所示:

點(diǎn)擊【VM】->[RemovableDevices]->[CD_ROM]->[Edit]菜單,彈出CD_ROM設(shè)備

對(duì)話框,如下圖所示:

在Connection中選中【UseISOimage】,設(shè)置ubuntu軟件安裝包的路徑,如上圖所示。然后

重新啟動(dòng)虛擬機(jī),開(kāi)始在虛擬機(jī)上安裝ubuntu操作系統(tǒng)。

重新啟動(dòng)虛擬機(jī)后,出現(xiàn)如下ubuniu安裝界面:

Language

AmharicHebrewPolski

ArabicHindiPortuguesdoBrasil

6e/iapycKaAHrvatskiPortugues

6b/irapcKWMagyarRomana

BengaliBahasaIndonesiaPyCCKMW

BosanskiItalianoSamegillii

Catala日本^Slovencina

CestinaSlovenscina

DanskKhmerShqip

Deutsch「區(qū)3Svenska

DzongkhaKurd!Tamil

Exxn^iKotLietuviskaiThai

16s

EnglishLatvisk.1Tagalog

EsperantoMaKeaoHCKwTurkle

EspanolMalayalamyrpaiHCbKa

EestiMarathiTiengViet

EuskarazNorskbokmalHolof

SuomiNepali中文(簡(jiǎn)體)

FrancaisNederlands中文(繁勤

GalegoNorsknynorsk

GujaratiPunjabi(Gurmukhi)

選擇語(yǔ)言版本為【English】,然后按【回車(chē)】鍵,出現(xiàn)如下安裝界面:

TryUbuntuwithoutanychangetoyourcomputer

InstallUbuntu

CheckCDfordefects

Testmemory

Bootfromfirstharddisk

PressF4toselectalternativestart-upandinstallationmodes.

FlHelpF2LanguageF3KeymapF4ModesF5AccessibilityF6OtherOptions

選擇InstallUbunlu,然后【回車(chē)】,開(kāi)始安裝Ubuntu,出現(xiàn)ubuntu安裝進(jìn)度界面如卜.:

在出現(xiàn)的安裝向?qū)е饕O(shè)置一下城市和用戶(hù)名密碼,如下圖所示,其余的安裝對(duì)話框都采用

默認(rèn)值,選擇【Forward】即可。

設(shè)置安裝所在城市

當(dāng)出現(xiàn)安裝所在城市對(duì)話框時(shí),選擇[ShangHai],通過(guò)選擇地圖上的點(diǎn)選擇,如下圖所示:

Whereareyou?

Selectacityinyourcountryandtimezone.Iftheindicatedcurrenttimeisincorrecteven

afterselectingthecorrecttimezone,youcanadjustitafterrebootingintotheinstalled

system.

Selectedcity:ShanghaiSelectedregion:China

Timezone:CST(GMT+8:00)Currenttime:03:14:44AM

Step2of7Q旦ack力Forward

設(shè)置系統(tǒng)的用戶(hù)名和密碼

系統(tǒng)安裝過(guò)程中出現(xiàn)設(shè)置用戶(hù)名和密碼對(duì)話框時(shí),設(shè)置登陸到ubuntu的用戶(hù)名和密碼,如

下圖所示:

hidhilh

Whoareyou?

Whatisyourname?

cao

Whatnamedoyouwanttousetologin?

cao

ifmorethanonepersonwillusethiscomputer,youcansetupmultipleaccountsafterinstallation.

Chooseapasswordtokeepyouraccountsafe.

???I1???I-

Enterthesamepasswordtwice,sothatitcanbecheckedfortypingerrors.

Whatisthenameofthiscomputer?

cao-desktop

Thisnamewillbeusedifyoumakethecomputervisibletoothersonanetwork.

□Loginautomatically

爐Quit.日ackI,Eorward|

Step5of7

然后點(diǎn)擊[Forward]按鈕,在出現(xiàn)的最后安裝向?qū)?duì)話框中點(diǎn)擊[Install]按鈕,開(kāi)始安裝

ubuntu,ubuntu安裝完成后,最后出現(xiàn)安裝完成對(duì)話框,如下圖所示:

點(diǎn)擊【Restartnow】開(kāi)始重新啟動(dòng)ubuntu系統(tǒng)。在系統(tǒng)重啟過(guò)程中出現(xiàn)如卜界面:

acpid:exiting

init:ttylMainprocess(21606)ki1ledbyKILLsigna1

init:ttylMainprocessended,respanning

Pleaserenovethediscandclosethetray(ifany)thenpressENTER:

提示移走光驅(qū)中的磁盤(pán)后按回車(chē)鍵,這時(shí)我們點(diǎn)擊【VM]->[RemovableDevices]->

[CD_ROM]->[Edit]菜單,彈出CD_ROM設(shè)備對(duì)話框,如下圖所示:

在Connection中選中【Usephysicaldrive】,點(diǎn)【OK】按鈕,然后按【回車(chē)】即可,系統(tǒng)正

常啟動(dòng),在出現(xiàn)輸入用戶(hù)名和密碼提示框時(shí),輸入剛才在安裝過(guò)程中設(shè)置的用戶(hù)名和密碼即

可。這樣就進(jìn)入了我們剛安裝好的ubuntu操作系統(tǒng)。

3.安裝Vmwaretools工具軟件

Vmwaretools工具軟件用于在window系統(tǒng)和虛擬機(jī)的ubuntu系統(tǒng)之間進(jìn)行數(shù)據(jù)傳遞,安裝

好Vmwaretools之后,鼠標(biāo)可以在window系統(tǒng)和虛擬機(jī)之間平滑切換,在window系統(tǒng)和

虛擬機(jī)之間可以直接通過(guò)【復(fù)制】和【粘貼】的方式進(jìn)行數(shù)據(jù)交換。Vmwaretools的安裝步

驟如下:

1)設(shè)置Vmwaretool軟件的路徑為C:\ProgramFilesWMwareWMwareWorkstationMinux.iso.

點(diǎn)擊【VM】->[RemovableDevices]->[CD_ROM]->[Edit]菜單,彈出CD_ROM設(shè)備

對(duì)話框,如下圖所示:

點(diǎn)擊【0K】確定,這時(shí)在ubuntu的桌面上出現(xiàn)一個(gè)光驅(qū)圖標(biāo),如下圖所示:

雙擊VmwareTools圖標(biāo),打開(kāi)光盤(pán)文件夾,可以看到在該光盤(pán)目錄下看到

VmwareTools-6.0.2-59824.tar.gz文件,如下圖所示:

Name▼SizeType

花VMwarefbols-6.0.2-59824.i386,rpm52.8MBRPMpackage

兇VMwarelbols-6.0.2-59824.tar.gz52.1MBTararchive(gz

返回系統(tǒng)桌面,在點(diǎn)擊系統(tǒng)菜單【Places】->[HomeFolder],進(jìn)入用戶(hù)目錄cao,在用戶(hù)目

錄下建立Soft目錄,把VmwareTools-6.0.2-59824.tar.gz復(fù)制到Soft目錄下。

在安裝VmwareTools-之前我們要先解鎖root用戶(hù),點(diǎn)擊桌面系統(tǒng)菜單【System】->

[Administration]->[UsersandGroups],彈出用戶(hù)設(shè)置對(duì)話框如下:

選中root用戶(hù),然后點(diǎn)擊下面的【Unlock】,在點(diǎn)【Close]按鈕關(guān)閉對(duì)話框。

接著開(kāi)始設(shè)置root用戶(hù)密碼,點(diǎn)擊桌面系統(tǒng)菜單【ApplicationsAccessories】->【Terminal],

進(jìn)入用戶(hù)字符終端操作界面如下圖所示:

ao'-|豆丁因

FileEditViewTerminalTabsHelp

Torunacommandasadministrator(user“root”),useMsudo〈command〉”.

SeeHmansudoroot1'fordetails.

cao@cao-desktop:-$sudopasswdroot

[sudo]passwordforcao:

EnternewUNIXpassword:

RetypenewUNIXpassword:

passwd:passwordupdatedsuccessfully

cao@cao-desktop:*$su

Password:

root@cao-desktop:/home/cao#

按照上圖所示輸入命令sudopasswdrooi設(shè)置root用戶(hù)密碼;

提示passwordforcao時(shí),輸入cao用戶(hù)密碼;

提示EnternewUNIXpassword時(shí),輸入root用戶(hù)密碼;

提示RetypenewUNIXpassword時(shí)再次輸入root用戶(hù)密碼;

最后顯示password更新成功。

最后輸入命令su切換到root用戶(hù),在提示Password時(shí),輸入我們剛才設(shè)置的root用戶(hù)密

碼即可,然后我們可以看到我們成功切換到root用戶(hù)了,命令提示符由以cao開(kāi)頭改為以

root開(kāi)頭了,表示我們已經(jīng)成功切換到了root用戶(hù)。

安裝VmwareTools工具

打開(kāi)ubuntu字符操作終端,進(jìn)入到Soft目錄,解壓VmwareTools-6.0.2-59824.tar.gz軟件包,

解壓完成后,我們看到在Soft目錄下生成了一個(gè)新的文件夾vmware?tools?distrib,如下圖所

示:

FileEditViewTerminallabsHelp

cao@cao-desktop:^$Is

DesktopDocumentsExMusicPicturesPublicSoftTemplatesVideos

cao@cao-desktop:cdSoft

cao@cao-desktop:*/Soft$Is

VMwareTools-6.0.2-59824.tar.gzvmware-tools-distrib

cao@cao-desktop:~/Soft$tarzxvfVMwareTools-6.0.2-59824.tar.gz

執(zhí)行su命令切換到root用戶(hù),執(zhí)行cdvmware-tools-distrib命令進(jìn)入到vmware-tools-distrib

目錄,執(zhí)行Is命令查看該文件夾下的文件,我們可以看到vmware-tools-distrib文件夾下有

一個(gè)vmware-install.pl安裝腳本文件,在操作終端下通過(guò)輸入命令./vmware-install.pl執(zhí)行該

腳本文件安裝vmware-tools即可。如卜.圖所示:

的gfe湍番第圖醐擊卻所示滔淵咸密爵掰附百屋t曾元庭普福a

FileEditViewJerminalTabsHelp

cao@cao-desktop:*$Is

DesktopDocumentsExMusicPicturesPublicSoftTemplatesVideos

cao@cao-desktop:*$cdSoft

cao@cao-desktop:*/Soft$Is

VMwareTools-6.0.2-59824.tar.gzvmware-tools-distrib

cao@cao-desktop:*/Soft$cdvmware-tools-distrib

cao@cao-desktop:*/Soft/vmware-tools-distrib$Is

bindocetcFILESINSTALLinstallerlibvmware-install.pl

cao@cao-desktop:*/Soft/vmware-tools-distribssu

Password:

root@cao-desktop:/home/cao/Soft/vmware-tools-distrib#?/vmware-install.pl

CreatinganewVMwareToolsinstallerdatabaseusingthetar4format.

InstallingVMwareTools.

Inwhichdirectorydoyouwanttoinstallthebinaryfiles?

[/usr/bin]

Whatisthedirectorythatcontainstheinitdirectories(rcO.d/torc6.d/)?

[/etc]|

然后開(kāi)始安裝vmwareTools工具,安裝過(guò)程中出現(xiàn)一些選項(xiàng)全部采用默認(rèn)值,一直按【回

車(chē)】即可,最后操作終端輸出如下提示安裝成功信息,如下圖所示:

VmwareTools安裝成功后,我們就可以在Windows和虛擬機(jī)的ubuntu之間直接通過(guò)【復(fù)制】

和【粘貼】命令進(jìn)行數(shù)據(jù)交換了。

#./vmware-config-tools.pl

網(wǎng)絡(luò)配置

Ubuntu的虛擬機(jī)安裝模式下的網(wǎng)絡(luò)配置

虛擬機(jī)下安裝好ubuntu之后,在[system]下點(diǎn)【NetworkConfiguration],彈出Network

Connections對(duì)話框:

選取Wired選項(xiàng)卡,選中ethO,點(diǎn)Edit按鈕,彈出如下網(wǎng)絡(luò)接口ethO編輯對(duì)話框:

注:如果此處沒(méi)有顯示ethO網(wǎng)絡(luò),則在windows下手工配置網(wǎng)絡(luò)接口的IP地址,然后再重新啟動(dòng)虛擬機(jī),

再進(jìn)入上述網(wǎng)絡(luò)配置對(duì)話框,一般都會(huì)出現(xiàn)ethO網(wǎng)絡(luò)。

Connectionname:etho

0Connectautomatically

□Systemsetting

Wired802.lxSecurityIPv4Settings

一———j-

Method:Manual▼

Addresses

AddressNetmaskGateway,nbAdd

2024

父Routes...

在網(wǎng)絡(luò)接口ethO編輯對(duì)話框配置ethO的IPaddress為192.168.0.220,Netmask為

,Gateway為,DNS為,配置完成后,點(diǎn)OK即可。

IP地址,網(wǎng)絡(luò)掩碼,網(wǎng)關(guān)的具體配置值需要根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境配置。

注:如果這樣配置不能上網(wǎng),可以々試通過(guò)DHCP方式獲取IP地址,DNS還是手動(dòng)設(shè)置。

配置完成后,重新EnableNetworking即可,如下圖所示:

Home

ApplicationsPlacesSystem°(

o匕0?犯lueMar16,11:54AM?&4|

;?WnableNetwork項(xiàng))

OConnectioninformation

mEditConnections...

OAbout

這樣就完成了Ubuntu的網(wǎng)絡(luò)配置,配置完成后,就可以在ubuntu里面打開(kāi)瀏覽器上網(wǎng)了。

設(shè)置軟件源服務(wù)器

在全球很多國(guó)家都設(shè)置有為ubuntu系統(tǒng)服務(wù)的服務(wù)器,上面有很多為ubuntu提供的應(yīng)用軟

件,我們通過(guò)設(shè)置軟件源服務(wù)器,來(lái)實(shí)現(xiàn)在線通過(guò)網(wǎng)絡(luò)完成軟件的安裝,即通過(guò)一條命令實(shí)

現(xiàn)軟件的搜索,下載和安裝,同時(shí)會(huì)安裝該軟件需要的依賴(lài)文件,同過(guò)在網(wǎng)絡(luò)來(lái)安裝ubuntu

上的應(yīng)用軟件非常方便。Ubuntu軟件源服務(wù)器的設(shè)置步驟如下:

1)在桌面系統(tǒng)菜單上點(diǎn)擊【System】->[Administration]->[SoftwareSource],彈出軟件

源設(shè)置對(duì)話框如下:

SoftwareSources.□x

i]UbuntuSoftware^Third-PartySoftwareUpdatesAuthenticationStatistics

DownloadablefromtheInternet

HICanonical-supportedOpenSourcesoftware(main)

0Community-maintainedOpenSourcesoftware(universe)

0Proprietarydriversfordevices(restricted)

01Softwarerestrictedbycopyrightorlegalissues(multiverse)

□Sourcecode

Downloadfrom:ServerforTaiwan▼

InstallablefromCD-ROM/DVD

CdromwithUbuntu8.10UntrepidIbex1

□:Officiallysupported

Restrictedcopyright

Revert困Close

在Downloadfrom里選擇軟件源服務(wù)器,我們一般選擇Taiwan的倒數(shù)第1或第2個(gè)服務(wù)器,

如上圖所示,選擇好軟件源服務(wù)器后,點(diǎn)【Close】按鈕,彈出如下對(duì)話框提示可獲得的軟

件包信息已經(jīng)過(guò)時(shí),需要重新更新。

點(diǎn)擊【Reload】按鈕更新可獲得的軟件包信息。更新完成后,我們就完成了ubuntu軟件源

服務(wù)器的設(shè)置。

安裝Iibncurses5-dev軟件包

在ubuntu環(huán)境下,我們用命令makemenuconfig來(lái)對(duì)內(nèi)核進(jìn)行裁剪和配置時(shí),需要用終端模

式下的字符菜單支持軟件包libncurses5-dev,下面我們就通過(guò)網(wǎng)絡(luò)的方式來(lái)安裝

libncurses5-dev軟件包,安裝的前提是已經(jīng)設(shè)置了軟件源和ubuntu系統(tǒng)的網(wǎng)絡(luò)工作正常。安

裝libncurses5-dev非常簡(jiǎn)單,在終端模式下輸入:叩l-getinstalllibncurses5-dev即可。如

下圖所示:

FileEditViewTerminalJabsHelp

cao@cao-desktop:su

Password:

root@cao-desktop:/home/cao#apt-getinstalllibncurses5-dev

Readingpackagelists...Done

Buildingdependencytree

Readingstateinformation...Done

ThefollowingNEWpackageswillbeinstalled:

libncurses5-dev

0upgraded,1newlyinstalled,0toremoveand362notupgraded.

Needtoget1483kBofarchives.

Afterthisoperation,6480kBofadditionaldiskspacewillbeused.

Get:1http://tw.archive.ubuntu.comintrepid/mainlibncurses5-dev5.6+2007112

4-lubuntu2[1483kB]

Fetched1483kBin10s(142kB/s)

Selectingpreviouslydeselectedpackagelibncurses5-dev.

(Readingdatabase???99820filesanddirectoriescurrentlyinstalled.)

Unpackinglibncurses5-dev(from.../Iibncurses5-dev_5.6+20071124-lubuntu2_i3

86.deb)

Processingtriggersforman-db

SettingupLibncurses5-dev(5.6+20071124-lubuntu2)

root@cao-desktop:/home/cao#

這樣,libncurses5-dev就安裝好了,我們可以在終端模式下通過(guò)makemenuconfig命令來(lái)配

置和裁剪linux內(nèi)核了。

安裝交叉編譯器arm-linux-gcc

嵌入式開(kāi)發(fā)的應(yīng)用程序編譯好后不是在PC機(jī)上運(yùn)行,而是在我們的ARM開(kāi)發(fā)板上運(yùn)行,

這時(shí)需要用arm-linux?gcc交叉編譯器編譯。安裝交叉編譯器非常簡(jiǎn)單,步驟如下:

1)拷貝arm-linux-gcc交叉編譯器軟件包arm-linux-gcc-4.3.2.tgz到/home/cao/Soft目錄。

2)進(jìn)入到Soft目錄,在該目錄下執(zhí)行tarzxvfarm-linux-gcc-4.3.2.tgz-C/命令

Mffiarm-linux-gcc-4.3.2.tgz。如下圖所示:

FileEditViewTerminallabsHelp

cao@cao-desktop:*$su

Password:

root@cao-desktop:/home/cao#Is

DesktopDocumentsExamplesMusicPicturesPublicSoftTemplatesVideos

root@cao-desktop:/home/cao#cdSoft

root@cao-desktop:/home/cao/Soft#Is

arm-linux-gcc-4.3.2.tgzVMwareTools-6.9.2-59824.tar.gzvmware-tools-distrib

root@cao-desktop:/home/cao/Soft#tarzxvfarm-linux-gcc-4.3.2.tgz-C/

注:c是大寫(xiě),c后面有個(gè)空格

該命令執(zhí)行后,將把a(bǔ)rm-linux-gcc安裝到/usr/local/arm/4.3.2目錄。arm-linux-gcc編譯器

安裝好后,我們還要把交叉編譯器arm-linux-gcc的路徑加入到系統(tǒng)的PATH環(huán)境變量,這

樣在操作終端的其他任意目錄下都可以使用arm-linux-gcco設(shè)置環(huán)境變量的步驟如下:

1)在終端界面下輸入gedit/root/.bashrc,編輯./bashrc文件,如下圖所示:

FileEditViewTerminallabsHelp

cao@cao-desktop:-$su

Password:

root(acao-desktop:/home/cao#gedit/root/.bashrc

2)在.bashrc文件中增加如下命令把交叉編譯器的路徑增加到環(huán)境變量PATH中,

exportPATH=$PATH:/usr/local/arm/4.3.2/bin,然后保存推出,如下圖所示:

2小皿任

FileEditViewSearchDocumentsHelp

0日▼巴總與心以雙

NewOpenSavePrint...UndoRi「PasteFindReplace

(5).bashrcQI

n:

#if[-f~/.bash_aliases];then

#.~/.bash_aliases

#fi

#enablecolorsupportofIsandalsoaddhandyaliases

if["$TERM"!="dumb"];then

eval11'dircolors-b*

aliasls='Is--color=auto'

#aliasdir='Is--color=auto--format=vertical1

#aliasvdir=*Is--color=auto--format=long'

fi

exportPATH=$PATH:/usr/local/arm/4.3.2/bin|

|,

#somemoreIsaliases

#alias11='Is-I'

#aliasla='Is-A'

#aliasl='ls-CF'

#enableprogrammablecompletionfeatures(youdon'tneedtoenable

#this,ifit'salreadyenabledm/etc/bash.bashrcand/etc/profile

#sources/etc/bash.bashrc).Q

Ln62,Col43INS

重新打開(kāi)終端,通過(guò)SU命令切換到root用戶(hù),輸入arm-linux-gcc-v就可以看到我們安裝的

交叉編譯器arm-linux-gcc的版本信息了。如下圖所示:

畫(huà)僮面循曲[箔G尚掰畸i向Iil可/淞fi.E回因

FileEditViewTerminallabsHelp

cao@cao-desktop:*$su

Password:/

root(3cao-desktop:/home/cao#Jarm-linux-gcc-vJ

Usingbuilt-inspecs./

Target:arm-none-linux-gnueabi

Configuredwith:/scratch/julian/lite-respin/linux/src/gcc-4.3/configure--build

=i686-pc-linux-gnu--host=i686-pc-linux-gnu--target=arm-none-linux-gnueabi--en

able-threads--disable-libmudflap--disable-libssp--disable-libstdcxx-pch--wit

h-gnu-as--with-gnu-ld--enable-languages=c,C++--enable-shared--enable-symvers

=gnu--enable-_cxaatexit--with-pkgversion='SourceryG++Lite2008q3-72'--wit

h-bugurl=https://suppo/GNUToolchain/--disable-nls-prefix,

opt/codesourcery--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc--

with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnue

abi/libc--with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-ar

m-none-linux-gnueabi-i686-pc-linux-gnu/usr--with-mpfr=/scratch/julian/lite-resp

in/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr--

disable-libgomp--enable-poison-system-directories--with-build-time-tools=/scra

tch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin--with-build-tim

e-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin

Threadmodel:posix

gccversion4.3.2(SourceryG++Lite2008q3-72)

root@cao-desktop:/home/cao#

我們可以看到我們的安裝的gcc版本為4.3.2,到這里,我們的交叉編譯器環(huán)境arm-linux-gcc

就安裝好了。

第二章嵌入式Linux開(kāi)發(fā)工具的使用

課程目標(biāo):

>掌握嵌入式Linux應(yīng)用程序的編譯、鏈接方法;

>掌握Linux環(huán)境下交叉編譯器arm-1inux-gcc的基本用法;

>掌握Linux環(huán)境下源代碼管理工具make的用法;

>掌握Makefile文件的基本規(guī)則:

本章我們通過(guò)一個(gè)具體的實(shí)例來(lái)詳細(xì)說(shuō)明嵌入式linux環(huán)境下應(yīng)用程序的開(kāi)發(fā)過(guò)程,包括嵌

入式linux環(huán)境下源代碼編寫(xiě),編譯,鏈接,應(yīng)用程序從主機(jī)下載到目標(biāo)機(jī),以及應(yīng)用程序

在目標(biāo)機(jī)的運(yùn)行整個(gè)過(guò)程,從而使學(xué)員掌握在嵌入式linux環(huán)境下開(kāi)發(fā)應(yīng)用程序的基本方法

和步驟。

項(xiàng)目描述:要求編寫(xiě)一個(gè)學(xué)生信息管理應(yīng)用程序,能從鍵盤(pán)輸入學(xué)生學(xué)號(hào),姓名,成績(jī),按

照成績(jī)排名,然后再輸出到電腦屏幕上。

一、源代碼規(guī)劃和編寫(xiě)

這個(gè)應(yīng)用程序雖然簡(jiǎn)單,但為了聯(lián)系多目錄情況卜的Makefile文件編寫(xiě)方法,我們對(duì)該項(xiàng)

目的源代碼做如下規(guī)劃:

1)總的源代碼目錄為stumgr,里面包括所以與該項(xiàng)目相關(guān)的文件和目錄,stumgr包括

include,sort,inout三個(gè)目錄和main.c、Makefile、Rules.make;

2)include目錄里包括頭文件main.h;

3)sort目錄里面包括stusort.c和Makefile

4)inout目錄里面包括input.c和output.c和Makefile

stumgr項(xiàng)目源代碼組織結(jié)構(gòu)圖如下圖所示:

源代碼目錄stumgr下的Makefile文件負(fù)責(zé)最終的可執(zhí)行文件的生成。其他各個(gè)目錄下的

Makefile負(fù)責(zé)把自己目錄下的.c文件編譯成目標(biāo)文件.0。

各個(gè)文件的源代碼請(qǐng)參考項(xiàng)目源碼包。

二、Makefile文件編寫(xiě)

頂層目錄stumgr下的Makefile文件內(nèi)容如下:

#MakefileforTopdirectory

includeRules.make

#gettheallsourcefileandobjectfile

#$@presentthewholetargetfilename

#$<presentthefirstdependentfile

SRCS:=$(wildcard*.c)

OBJS:=$(patsubst%.c,%.o,$(SRCS))

stuinfomg:$(OBJS)src

$(CC)-o$?$(OBJS)inout/stuinout.osort/stus.o

#shoulduse$(MAKE)varibletoinvokedirectoryMakefile,$(MAKE)islikemake

src:

$(MAKE)-Cinout

$(MAKE)-Csort

%.o:%.c

$(CC)-c-o$@$<

clean:

rm-rf*.o

rmstuinfomg

$(MAKE)-Cinoutclean

$(MAKE)-Csortclean

Sort目錄下的Makefile文件內(nèi)容:

#Makefileforsortdirectory

include/home/cao/ShiYan/stumgr/Rules.make

#usefunctioninmakefile,SRCSpresendallcsourcefile

SRCS:=$(wildcard*.c)

#OBJSpresendallobjectfilefromcsourcefile

OBJS:=$(patsubst%.c,%.o,$(SRCS))

#allobjectfileinsortwilllinktostus.ofile

O.TARGET:=stus.o

$(O.TARGET):$(OBJS)

$(AR)-r-o$@$(OBJS)

#meanonlycompiletoobjectfile

%o:%.c

$(CC)-c-o$@$<

clean:

rm-rf*.o

inout目錄下Makefile文件內(nèi)容:

#Makefileforinoutdirectory

include/home/cao/ShiYan/stumgr/Rules.make

#usefunctioninmakefile,SRCSpresendallcsourcefile

SRCS:=$(wildcard*.c)

#OBJSpresendallobjectfilefromcsourcefile

OBJS:=$(patsubst%.c,%.o,$(SRCS))

#allobjectfileininoutwilllinktostuinout.ofile

O.TARGET:=stuinout.o

$(O.TARGET):$(OBJS)

$(AR)-r-o$?$(OBJS)

#"?c"meanonlycompiletoobjectfile

%.o:%.c

$(CC)-c-o$@$<

clean:

rm-rf*.o

編寫(xiě)完Makefile文件和源代碼后,就可以開(kāi)始編譯運(yùn)行程序了。

三、運(yùn)行和調(diào)試

在項(xiàng)目頂層目錄stumgr下輸入make命令,開(kāi)始編譯該項(xiàng)目的各個(gè)目錄下的源代碼,最后鏈

接成一個(gè)可執(zhí)行的映像文件stuinfomg。編譯結(jié)果如下圖所示:

FileEditViewTerminallabsHelp

root@cao-desktop:/hoine/cao/ShiYan/stumgr#臼

root@cao-desktop:/home/cao/ShiYan/stumgr#

root@cao-desktop:/home/cao/ShiYan/stumgr#

root@cao-desktop:/home/cao/ShiYan/stumgr#

root@cao-desktop:/home/cao/ShiYan/stumgr#make

gcc-c-omain.omain.c

make-Cinout

make[l]:Enteringdirectory'/home/cao/ShiYan/stumgr/inout'

gcc-c-oinput.oinput.c

gcc-c-ooutput.ooutput.c

ar-r-ostuinout.oinput.ooutput.o

ar:creatingstuinout.o

make[l]:Leavingdirectory,/home/cao/ShiYan/stumgr/inout'

make-Csort

make[l]:Enteringdirectory'/home/cao/ShiYan/stumgr/sort'

gcc-c-ostusort.ostusort.c

stusort.c:Infunction<score_sort,:

stusort.c:20:warning:incompatibleimplicitdeclarationofbuilt-infunction'm

emcpy/

ar-r-ostus.ostusort.o

ar:creatingstus.o

make[l]:Leavingdirectory'/home/cao/ShiYan/stumgr/sort'

gcc-ostuinfomgmain.oinout/stuinout.osort/stus.o

root@cao-desktop:/home/cao/ShiYan/stumgr#

我們可以看到make工具進(jìn)入各個(gè)源碼目錄的編譯過(guò)程,最后在stumgr目錄下生成了可執(zhí)行

的映像文件stuinfomg,在stumgr目錄下輸入:

./stuinfomg

就可以看到運(yùn)行結(jié)果了。

第三章嵌入式Linux系統(tǒng)的內(nèi)存管理

課程目標(biāo)

>掌握嵌入式Linux系統(tǒng)中虛擬地址和物理地址的概念

>掌握嵌入式Linux系統(tǒng)中虛擬地址到物理地址轉(zhuǎn)換的基本原理

>掌握對(duì)ARM體系結(jié)構(gòu)CPU的內(nèi)存管理單元MMU的編程

>掌握嵌入式Linux系統(tǒng)中內(nèi)核的內(nèi)存分配和釋放函數(shù)的用法

一、虛擬地址和物理地址概述

任何時(shí)候,計(jì)算機(jī)上都存在一個(gè)程序能夠產(chǎn)生的地址集合,我們稱(chēng)之為地址范圍。這個(gè)范圍

的大小由CPU的位數(shù)決定,例如一個(gè)32位的CPU,它的地址范圍是O~OxFFFFFFFF(4G),

而對(duì)于一個(gè)64位的CPU,它的地址范圍為O~OxFFFFFFFFFFFFFFFF(64T).這個(gè)范圍就是我

們的程序能夠產(chǎn)生的地址范圍,我們把這個(gè)地址范圍稱(chēng)為虛擬地址空間,該空間中的某一個(gè)

地址我們稱(chēng)之為虛擬地址。與虛擬地址空間和虛擬地址相對(duì)應(yīng)的則是物理地址空間和物理地

址,大多數(shù)時(shí)候我們的系統(tǒng)所具備的物理地址空間只是虛擬地址空間的?個(gè)子集,這里舉一

個(gè)最簡(jiǎn)單的例子直觀地說(shuō)明這兩者,對(duì)于一臺(tái)內(nèi)存為256MB的32bitx86主機(jī)來(lái)說(shuō),它的虛

擬地址空間范圍是O~OxFFFFFFFF(4G),而物理地址空間范圍是OxOOOOOOOOO~OxOFFFFFFF

(256MB)。

如果CPU沒(méi)有內(nèi)存管理單元MMU,CPU則統(tǒng)一采用物理地址進(jìn)行尋址,CPU發(fā)出物理地

址到內(nèi)存總線上,直接對(duì)物理內(nèi)存進(jìn)行讀寫(xiě)。如下圖所示:

如果CPU有了內(nèi)存管理單元MMU并啟用了MMU的地址轉(zhuǎn)換功能,則CPU采用虛擬地址

進(jìn)行尋址,此時(shí)CPU送出的是虛擬地址而不是物理地址,虛擬地址不是直接送給內(nèi)存總線

而是送給內(nèi)存管理單元MMU,MMU完成虛擬地址到物理地址轉(zhuǎn)換后再送到內(nèi)存總線上,完

成對(duì)物理內(nèi)存的讀寫(xiě)。如下圖所示:

ARM9

根據(jù)上面的分析,我們知道MMU在內(nèi)存管理中的地位非常重要,MMU是位于CPU芯片

內(nèi)部的存儲(chǔ)管理單元部件,他的功能就是把CPU發(fā)出的虛擬地址轉(zhuǎn)換為訪問(wèn)內(nèi)存的物理地

址。不管CPU使用虛擬地址還是物理地址進(jìn)行尋址,最終訪問(wèn)的都是實(shí)際的物理內(nèi)存空間,

這點(diǎn)大家要清楚。

二、虛擬地址到物理地址的轉(zhuǎn)換基本原理

ARM920tcpu使用頁(yè)表來(lái)進(jìn)行轉(zhuǎn)換,頁(yè)表由一個(gè)個(gè)條目組成,每個(gè)條目存儲(chǔ)一段虛擬地址

對(duì)應(yīng)的物理地址及訪問(wèn)權(quán)限,或者下一級(jí)頁(yè)表的地址。

S3c2440最多會(huì)用到兩級(jí)頁(yè)表,以段(Section,1M)的方式進(jìn)行轉(zhuǎn)換時(shí)只用到一級(jí)頁(yè)表,

以頁(yè)(Page)的方式進(jìn)行轉(zhuǎn)換時(shí)用到兩級(jí)頁(yè)表。

頁(yè)的大小有3種:大頁(yè)(64KB),小頁(yè)(4KB),極小頁(yè)(1KB)。條目也稱(chēng)為描述符,有:

段描述符、大頁(yè)描述符、小頁(yè)描述符、極小頁(yè)描述符-保存段、大頁(yè)、小頁(yè)、極小頁(yè)的起始

物理地址;粗頁(yè)表描述符、細(xì)頁(yè)表描述符,它們保存二級(jí)頁(yè)表的物理地址。

ARM虛擬地址到物理地址的轉(zhuǎn)換過(guò)程如下圖所示:

TramUtion

TT8bow?ubleSocuonbe—Section

?

1D?SC”por

LargoP390

Indox^dbyIndox0dby

modifiedmodiHodbos?L4rgopage

dwalvirtual

oddross

bits(31:20)bits(190)

Indexodby

modified

4096omns1MBvirtual

addross

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論