版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025 小學(xué)二年級(jí)道德與法治上冊(cè)公共場(chǎng)合不趴欄桿課件
- 2026年英語(yǔ)能力測(cè)試商務(wù)英語(yǔ)閱讀理解模擬題
- 2026年會(huì)計(jì)基礎(chǔ)與財(cái)務(wù)管理知識(shí)模擬試題
- 2026貴州省林業(yè)局直屬事業(yè)單位招聘20人備考考試試題及答案解析
- 2026年河南應(yīng)用技術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 2026年貴州盛華職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試參考題庫(kù)含詳細(xì)答案解析
- 2026年青島酒店管理職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年昭通市事業(yè)單位公開(kāi)招聘工作人員(1169人)參考考試試題及答案解析
- 2026年南充電影工業(yè)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)及答案詳細(xì)解析
- 2026年西南交通大學(xué)希望學(xué)院?jiǎn)握芯C合素質(zhì)筆試參考題庫(kù)含詳細(xì)答案解析
- 廣東省佛山市2024-2025學(xué)年高二上學(xué)期期末考試 語(yǔ)文 含解析
- 中藥材及中藥飲片知識(shí)培訓(xùn)
- 2024年臺(tái)州三門(mén)農(nóng)商銀行招聘筆試真題
- 高一政治必修1、必修2基礎(chǔ)知識(shí)必背資料
- 垃圾處理設(shè)備維修合同
- DB4114T 105-2019 黃河故道地區(qū)蘋(píng)果化學(xué)疏花疏果技術(shù)規(guī)程
- 如何高效向GPT提問(wèn)
- JT-T-969-2015路面裂縫貼縫膠
- 無(wú)抗養(yǎng)殖模式可行性分析
- 《常見(jiàn)疾病康復(fù)》課程教學(xué)大綱
- 飼料廠HACCP計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論