




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
Linux基礎與驅(qū)動開發(fā)實訓指導書
一、實習(實訓)目的和要求
目的
1.熟知Linux操作系統(tǒng);
2.熟知Linux設備驅(qū)動基礎;
3.熟知Linux內(nèi)核機制;
4.熟知簡單Linux驅(qū)動程序的編寫。
要求
1.能完成對Linux操作系統(tǒng)的安裝及應用軟件的安裝和使用:
2.能對操作系統(tǒng)進行相應的配置.;
3.能夠完成文件系統(tǒng)的相關(guān)操作;
4.掌握Linux驅(qū)動程序編寫的一般方法,能夠閱讀和編寫簡單的Linux驅(qū)動程序。
二、實習(實訓)內(nèi)容
(1)學會對嵌入式系統(tǒng)進行分析、設計,培養(yǎng)嵌入式系統(tǒng)底層開發(fā)能力。
(2)掌握嵌入式Linux開發(fā)環(huán)境的搭建方法。
(3)掌握編譯Bootloader、編譯內(nèi)核、部署文件系統(tǒng)的方法。
(4)掌握基于嵌入式Linux的ARM微處理器的簡單接口驅(qū)動程序的設計方法。
(5)加強各小組之間的團隊合作精神。
三、實習(實訓)方式
■集中口分散口校內(nèi)口校外
四、實習(實訓)具體安排
(1)開發(fā)前的準備:基于Linux的開發(fā)環(huán)境的搭建。
(2)系統(tǒng)分析:包括基于Linux驅(qū)動程序的原理、開發(fā)的流程。
(3)編碼實現(xiàn):根據(jù)要求對LED驅(qū)動程序進行編碼實現(xiàn)。
(4)測試:編寫測試程序?qū)︱?qū)動程序進行測試。
安排24課時時間進行綜合實訓。
4課時一--嵌入式Linux開發(fā)環(huán)境的搭建方法。
3課時編譯Bootloader、編譯內(nèi)核、文件系統(tǒng)。
8課時一一基于嵌入式Linux的ARM微處理器的簡單接口驅(qū)動程序的設計和測試程序的設
計。
4課時完成實訓
目錄
第1章設計需求1
1.1嵌入式系統(tǒng)簡介1
1.2設計需求1
第2章開發(fā)環(huán)境搭建2
2.1安裝VmwareWorkstation9軟件2
2.2在VmwareWorkstation9中安裝Linux操作系統(tǒng)(ubuntul2.04)7
2.3設置虛擬機共享11
2.4更新數(shù)據(jù)源12
2.5配置TFTP13
2.6配置NFS服務14
第3章Uboot、Linux內(nèi)核的編譯及根文件系統(tǒng)的制作15
3.1安裝交叉編譯器15
3.2網(wǎng)絡設置16
3.3安裝busybox工具17
3.4編譯Bootloader18
3.5編譯Linux內(nèi)核19
3.6制作文件系統(tǒng)27
第4章內(nèi)核與根文件系統(tǒng)的燒寫30
4.1配置超級終端30
4.2燒寫內(nèi)核34
4.3文件系統(tǒng)測試一簡單的Helloword程序36
第5章Linux設備驅(qū)動39
5.1LED設備驅(qū)動39
5.2按鍵中斷實例41
5.3數(shù)碼管實例42
附錄代碼45
第1章設計需求
1.1嵌入式系統(tǒng)簡介
嵌入式系統(tǒng)是基于單片機的一種升級版,它是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁
剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。我們可從幾方面來
理解嵌入式系統(tǒng):
1、嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應用的,嵌入式系統(tǒng)是與應用緊密結(jié)合的,它具有很
強的專用性,必須結(jié)合實際系統(tǒng)需求進行合理的裁減利用。嵌入式系統(tǒng)和具體應用有機地結(jié)合在一起,
它的升級換代也是和具體產(chǎn)品同步進行,因此嵌入式系統(tǒng)產(chǎn)品一旦進入市場,具有較長的生命周期。
2、嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導體技術(shù)和電子技術(shù)和各個行業(yè)的具體應用相結(jié)合后的
產(chǎn)物。這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。
3、嵌入式系統(tǒng)必須根據(jù)應用需求對軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積
等要求。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身
中,而不是存貯于磁盤等載體中。
4、嵌入式系統(tǒng)本身不具冬自主開發(fā)能力,即使設計完成以后用戶通常也是不能對其中的程序功能
進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。實際上,凡是與產(chǎn)品結(jié)合在一起的具有嵌入式
特點的控制系統(tǒng)都可以叫嵌入式系統(tǒng)。現(xiàn)在人們講嵌入式系統(tǒng)時,某種程度.上指近些年比較熱的具有操
作系統(tǒng)的嵌入式系統(tǒng)。
1.2設計需求
本次綜合實訓任務主要是基于Linux的LED驅(qū)動程序設計及完成相關(guān)的操作。大致分為兩個階段,
第一階段為環(huán)境搭建,第二部分是驅(qū)動程序設計。
需要完成的任務是,由驅(qū)動程序驅(qū)動開發(fā)板的LED燈,并且經(jīng)測試,能夠正確的點亮或熄滅開發(fā)板
上的LED燈,即為完成本次實訓任務。有能力的同學,可以嘗試使用更多的方式實現(xiàn)LED控制,或者嘗
試驅(qū)動開發(fā)板上的其它硬件設備,如數(shù)碼管、攝像頭、觸控屏、網(wǎng)卡等等。
圖2-2典型安裝
圖2-3安裝路徑
圖2-4啟動時檢查更新
3
圖2-5幫助提高VmwareWorkstation
VMwareWorkstationSetupj
Shortcuts
Selecttheshortcutsyouwishtoplaceonyoursystem.
CreateshortcutsforVMwareWorkstationinthefollowingpla:es:
iyDesktop
7StartMenuProgramsfolder
<Back~|區(qū)Cancel
圖2-6創(chuàng)建桌面快捷方式和開始菜單文件夾
4
圖2-7繼續(xù)完成安裝
圖2-8安裝進度
5
Pleasewaitwhilethewizardperformstherequestedoperation.Thismaytakeseveral
minutes.
Status:Installingpackagesonthesystem
<BackNext>Cancel
圖2-9安裝進度
圖270安裝完成
至此安裝結(jié)束,VmwareWorkslation9軟件可以正常使用了
6
2.2在VmwareWorkstation9中安裝Linux操作系統(tǒng)(ubuntul2.04)
ubuntu是一個免費的操作系統(tǒng),隸屬Linux類操作系統(tǒng),基于GNU/Linux設計,基于Debian之上
的一個發(fā)行版。ubuntu囊括了大最精挑細選自Debian發(fā)行版的軟件包,同時保留了Debian強大的
軟件包管理系統(tǒng),以便簡易的安裝或徹底的刪除程序。與大多數(shù)發(fā)行版附帶數(shù)量巨大的可用可不用的軟
件不同,Ubuntu的軟件包清單只包含那些高質(zhì)量的重要應用程序。
ubuntu提供了一個健壯、功能豐富的計算環(huán)境,既適合家用又適用于商業(yè)環(huán)境。Ubuntu開發(fā)團隊
努力精益求精,每6個月就會發(fā)布一個版本.以提供最新最強大的軟件.默認桌面環(huán)境采用GNOME.一
個UNIX和Linux主流桌面套件和開發(fā)平臺。另一個UNIX和Linux主流桌面環(huán)境是KDE。
接下來,準備在VmwareWorkstation9中安裝ubuntul2.04操作系統(tǒng),安裝步驟如下圖2-11至2-16
所示:
NewVirtualMachineWizard
WelcometotheNewVirtual
MachineWizard
Whattypeofconfigurationdoyouwant?
d'Typical(recommended)
CreateaWorkstation9.0virtualmachine
inafeweasysteps.
Custom(advanced)
Createavirtualmachinewthadvanced
options,suchasaSCSIcontrollertype,
virtualdisktypeandcompatibilitywith
olderVMwareproducts.
HelpNext>Cancel
圖2Tl典型安裝
7
圖2-12選擇安裝文件圖2T3設置用戶名及密碼
8
圖2-14虛擬機安裝路徑圖2-15設置虛擬機文件結(jié)構(gòu)
9
NewVirtualMachineWizardIS
ReadytoCreateVirtualMachine
ClickFinishtocreatethevirtualmachineandstartinstallingUbuntuand
thenVMwareTools.
Thevirtualmachinewillbecreatedwiththefollowingsettings:
Ubuntu>
Name:>
Location:G:\VirtualMachines\Ubuntul2.04
Version:Workstation9.0三
OperatingSy...UbuntuJ
HardDisk:20GB,Split
a,?4a
Ilf?
CustomizeHardware...
[7Poweronthisvirtualmachineaftercreation
EZZ6a&Z)[FinishCancel
J
圖2T6完成安裝
至此ubuntul2.04操作系統(tǒng)安裝完畢,等待系統(tǒng)自動配置完成即可,安裝完成后,會進入ubuntu
的圖形界面,這樣我們就安裝ubuntul2.04操作系統(tǒng)完成了,可以在這個操作系統(tǒng)下進行我們的實訓了。
10
2.3設置虛擬機共享
在ubuntu操作系統(tǒng)安裝完畢后,啟動ubuntu,然后在VmwareWorkstation中設置虛擬機文件夾
共享,方便以后在宿主PC以及虛擬機之間傳輸文件。具體設置如下圖:
圖2-17設置虛擬機文件共享
II
2.4更新數(shù)據(jù)源
ubuntu包含大量的服務和程序,有些服務必須聯(lián)網(wǎng)更新后才能使用,更新數(shù)據(jù)源是為了以后使用
更多服務做準備工作,具體步驟如下:
(1)首先在ubuntu中打開終端,在終端中輸入如下命令:
sudogedit/etc/apt/sources.list
(2)打開sources,list文件后,在此文件中添加如下信息:
debhttp://mirrors.163.com/ubuntu/oneiricmainuniverserestrictedmultiverse
deb-srehttp://mirrors.163.com/ubuntu/oneiricmainuniverserestrictedmultiverse
debhttp://mirrors.163.com/ubuntu/oneiric-securityuniversemainmultiverse
restricted
deb-srchttp://niirrors.163.com/ubuntu/oneiric-securityuniversemainmultiverse
restricted
debhttp://mirrors.163.com/ubuntu/oneiric-updatesuniversemainmultiverse
restricted
debhttp://mirrors.163.com/ubuntu/oneiric-proposeduniversemainmultiverse
restricted
deb-srchttp://mirrors.163.com/ubuntu/oneiric-proposeduniversemainmultiverse
restricted
debhttp://mirrors.163.com/ubuntu/oneiric-backportsuniversemainmultiverse
restricted
deb-srchttp:〃mirrors.163.com/ubuntu/oneiric-backportsuniversemainmultiverse
restricted
deb-srchttp://mirrors.163.com/ubuntu/oneiric-updatesuniversemainmultiverse
restricted
添加完以上信息后,保存文件并退出。
(3)回到終端界面,輸入命令:
sudoapt-getupdate
開始更新數(shù)據(jù)源,等待系統(tǒng)更新完畢即可。
12
2.5配置TFTP
TFTP的全稱是TrivialFileTransferProtocol,即簡單文件傳輸協(xié)議。使用此服務傳送文件時
沒有數(shù)據(jù)校驗、密碼驗證,非常適合小型文件的傳輸。在通過TFTP傳送文件時,需要服務端和客戶端,
對于我們嵌入式系統(tǒng)來講,服務端就是我們的宿主機,下面我們來對他進行配置:
(1)在終端中輸入命令安裝TFTP服務:
sudoapt-gotinstalltftp-hpa
sudoapt-getinstalltftpd-hpa〃服務器
(2)在終端中輸入命令:sudogcdit/etc/dcfault/tftpd-hpa,打開文件后,將文件內(nèi)容更改為
如下所示的內(nèi)容:
TFTP_USERNAME="tf卬"
TFTP_DIRECTORY^/temp/tftpboot"
TFTPADDRESS_0.0.0.0:69〃
TFTP_OPTIONS="—secure-c”
文件內(nèi)容更改完畢,保存并退出,回到終端界面
(3)重新啟動TFTP服務:
sudo/etc/init.d/tftpd-hparestart
(4)測試TFTP,首先在丁TP服務端所在目錄下新建測試文件test。,然后輸入以下命令:
tftplocalhost
tftp>gettestO
tftp>puttcstl
tflp>q
在任意目錄下,輸入以上命令,能夠正常的和tftpboot服務端進行文件傳輸,即表示TFTP
服務已經(jīng)安裝并配置成功了,測試圖如下圖2T8所示:
root@ubuntu:/temp/tftpboot#Is
aaaaaa~bbbled6410.binulmage
root@ubuntu:/temp/tftpboot#touchtestO
root@ubuntu:/temp/tftpboot#
aaaaaa-bbbled6410.bintesteulnage
root@ubuntu:/temp/tftpboot#cd..
root@ubuntu:/temp#tftplocalhost
tftp>gettest?
tftp>q
root@ubuntu:/temp#
aaanixietube
arm-linux-gcc-4.3.2.tgzrootall.sh
busybox-1.15.2s3c6410-2.6.27-Samsung-box
busybox-1.15.2.tar.bz2s3c6410-2.6.27-samsung-box.bz2
helloworlds3c6410-cross-4.2.2-eabt.tar
leds3c6410_uboot
Xed6410_2.6.36s3c6410_uboot.bz2
led6410.binteste
ledsl
linux-2.6.36usr
linux-2.6.36.tar.bz2
root@ubuntu:/temp#■
圖2-18配置TFTP
13
2.6配置NFS服務
NFS(NetworkFileSystem)指網(wǎng)絡文件系統(tǒng),是Linux系統(tǒng)中經(jīng)常使用的一種服務,NFS是一個
RPCservice,很像windows中的文件共享服務。它的設計是為了在不同的系統(tǒng)間使用,所以它的通訊
協(xié)議設計與主機及作業(yè)系統(tǒng)無關(guān)。當使用者想用遠端檔案時只要用"mount”就可把remote檔案系統(tǒng)掛接
在自己的檔案系統(tǒng)之下,使得遠端的檔案在使用上和local的檔案沒兩樣。
在NFS服務中,宿主機(Servers)是被掛載(mount)端,為了遠端客戶機(Clients)(如:S3C6410
目標板)可以訪問宿主PC機的文件,我們需要配置宿主機兩方面內(nèi)容:①打開NFS服務,②允許“指
定用戶”訪問宿主PC機。
(1)在終端中輸入命令安裝NFS服務:apt-getinstallnfs-kernel-server
(2)輸入以下命令以配置NFS服務:
sudogedit/etc/exports
打開文件后,在文件中添加如下內(nèi)容:
/temp/tftpboot/nfsroot*(insecure,rw,sync,rorootsquash)
添加完畢,保存文件并退出,繼續(xù)輸入如下命令,為NFS服務端所在目錄授予權(quán)限:
chmod777/temp/tftpboot/nfsroot
(3)重新啟動NFS服務
sudo/etc/init.d/nfs-kernel-serverrestart
sudo/etc/init.(1/portmaprestart
(3)測試NFS服務:
showmount-c
mount172.16.41.217:/temp/tftpboot/nfsroot/mnt
Is-1/mnt
14
第3章Uboot>Linux內(nèi)核的編譯及根文件系統(tǒng)的制作
3.1安裝交叉編譯器
絕大多數(shù)的Linux軟件開發(fā)都是以native方式進行的,即本機(HOST)開發(fā)、調(diào)試,本機運行的
方式。這種方式通常不適合于嵌入式系統(tǒng)的軟件開發(fā),因為對于嵌入式系統(tǒng)的開發(fā),沒有足夠的資源在
本機(即開發(fā)板上系統(tǒng))運行開發(fā)工具和調(diào)試工具。通常的嵌入式系統(tǒng)的軟件開發(fā)采用一種叫做交叉編
譯調(diào)試的方式。交叉編譯調(diào)試環(huán)境建立在宿主機(即一臺PC機)上,對應的開發(fā)板叫做目標板。
HUB
宿主機
圖3T交叉編譯環(huán)境
開發(fā)時使用宿主機上的交叉編譯、匯編及連接工具形成可執(zhí)行的二進制代碼(這種可執(zhí)行代碼并不
能在宿主機上執(zhí)行,而只能在目標板匕執(zhí)行),然后把可執(zhí)行文件下載到目標機上運行。調(diào)試時的方法
很多,可以使用串口、以太網(wǎng)口等,具體使用哪種調(diào)試方法可以根據(jù)目標機處理器所提供的支持作出選
擇。宿主機和目標板的處理器一般都不相同,宿主機為Inlel或AMD處理器,而F1標板如S3c6410為
SAMSUNGS3c64xx處理器,GMJ編譯器提供這樣的功能,在編譯編譯器時可以選擇開發(fā)所需的宿主機和
1=1標機從而建立開發(fā)環(huán)境。
宿主機上的操作系統(tǒng)一般要求安裝Linux,但Linux有多個發(fā)行版本,在此,我們使用Ubuntu作
為本系統(tǒng)的宿主機PC操作系統(tǒng),然后在宿主機上要建立交叉編譯調(diào)試的開發(fā)環(huán)境。
嵌入式開發(fā)通常要求宿主雙配置有網(wǎng)絡,支持NFS(為交叉開發(fā)時mount所用),支持TFTP(為下
載文件時所用)等服務。
具體步驟如下:
(1)在ubunlu終端下,將文件復制到工作目錄:
cp/mnt/hgfs/Shared/arm-linux-gcc-4.3.2.tgz/temp
(2)將arm-linux-gcc-4.3.2.tgz解壓到/usr/local/2rm目錄下:
tarxvjfarm-linux-gcc-4.3.2.tgz-C/usr/local/arm
解壓完成后,在/巧力1℃21/2口1目錄下會有剛剛解壓的4.3.2編譯器,以后可以方便的使用
此編譯器來進行一些編譯工作了。
root@ubuntu:/usr/local/arm#Is
4.3.2
root@ubuntu:/usr/local/am#cd4.3.2
root@ubuntu:/usr/local/arm/4.3.2#Is
arn-none-ltnux-gnueabtbinlibLtbexecshare
root0ubuntu:/usr/local/arm/4.3.2#
圖3-2交叉編譯環(huán)境安裝
15
3.2網(wǎng)絡設置
橋接:虛擬機和宿主機具有不同的ip地址,適合嵌入系統(tǒng)在線開發(fā),上網(wǎng)不方便。
NAT:虛擬機和宿主機是同樣的IP,適合上網(wǎng)安裝軟件。
設置方法:
(1)雙擊虛擬機的網(wǎng)卡切換橋接和NAT.
圖3-3更改網(wǎng)絡連接為橋接方式
(2)更改為橋接后:
sudogedit/etc/network/interfaces,打開文件后,添加以下信息并保存退出:
autolo
ifaceloinetloopback
autoethO
ifaceethOinetstatic
address172.16.41.217
netmask255.255.255.0
network172.16.41.0
broadcast172.16.41.255
gateway172.16.41.1
(3)使用如下命令來啟動networking服務:
/etc/init.d/networkingrestart
16
3.3安裝busybox工具
在Linux內(nèi)核編譯的工作中,busybox是一個十分實用的工具,安裝busybox能為內(nèi)核編譯工作帶
來許多方便,安裝busybox很簡單:
(1)復制busybox-1.15.2.tar.bz2文件到工作目錄并解壓,解壓完后進入busybox目錄:
cpbusybox-1.15.2.tar.bz2/temp
tarxfbusybox-1.15.2.tar.bz2
cdbusybox-1.15.2
(2)修改Makefile文件:
sudogeditMakefile
CROSS_COMPILE?=/usr/local/arm/4.3.2/btn/|arm-linux-
(3)依次執(zhí)行以下命令:
make
makeinstall
這樣就完成了busybox工具的安裝,不需要做其它修改工作
「oot@ubuntu:八emp#cdbusybox-1.15.2
root@ubuntu:/temp/busybox-1.15.2#Is
appletsdebianutilsLICENSEprocps
archdocsloginuttlsREADME
archivale2fsprogsRaflutilsrunit
AUTHORSeditorsMakefilescripts
busyboxexamplesMakefile-seltnux
busybox.linksfindutilsMakefile,customshell
busybox_unstrippedincludeMakefile.flagssysklogd
busybox_unstripped.napinttMakefile.helptestsuite
busybox_unstripped.out.InstallniscutilsTODO
Config.tnINSTALLnoduttlsTODO_conftg_nonmu
console-toolslibbbnetworkingutil-ltnux
coreutilslibpwdgrpprtntutils
rootfflubuntu:/temp/busylbox-1.15.2#
圖3-4busybox安裝
17
3.4編譯Bootloader
bootloader引導加載程序是系統(tǒng)加電后運行的第一段軟件代碼。PC機中的引導加載程序由BIOS(其
本質(zhì)就是一段固件程序)和位于硬盤MBR中的OSBootLoader(比如,LILO和GRUB等)一起組成。BIOS
在完成硬件檢測和資源分配后,將硬盤MBR中的BootLoader讀到系統(tǒng)的RAM中,然后將控制權(quán)交給OS
BootLoaderoBootLoader的主要運行任務就是將內(nèi)核映象從硬盤上讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入
口點去運行,也即開始啟動操年系統(tǒng)。
步驟如下:
(1)將s3c6410_uboot.bz2解壓到任意目錄,使用cd命令進入該目錄:
tarxfs3c6410_uboot.bz2
cds3c6410uboot
(2)修改Makefile文件:
sudogeditMakefile
在Makefile中將CROSS_COMPILE所指向的路徑修改為編譯器所在目錄,如下圖所示:
CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-linux-
exportCROSS_COMPILE
(3)編譯uboot,在終端下分別執(zhí)行如下命令;
makedistclean
makembt6410_config
make
編譯完成后,會在uboot根目錄下生成uboot.bin文件,可以利用這個uboot.bin文件進行
燒寫了。
root@ubuntu:/temp/s3c6410_uboot#Is
arm_conftg.mkincludenkmovt
avr32_config.mklib_armnand_spl
based_on_2O06-12-06ltb_avr32net
black?tn_conftg.mkItb2blackftnntosz_conftg.mk
boardlib_genericnios_config.mk
CHANGELOGlib二1386post
CHANGELOG-before-U-Boot-1.1.5lib_m68kppc_config.mk
Changelog_Samsungltb_mtcrobl.azeREADME
commonltb_nipsrtc
config.mklib_niosrules.mk
COPYINGltb_ntos2System.map
cpullb_ppctags
CREDITSm68k_conftg.mktools
diskMAINTAINERSu-boot
docMAKEALLu-boot.bin
driversMakefileu-boot.dis
dttMakefile-u-boot.map
examplesmtcroblaze_conftg.mku-boot.srec
fsmips_config.mk
i386_config.mknkconfig
「oot@ubuntu:/temp/s3c6410_uboot#,
圖3-5uboot編譯
18
3.5編譯Linux內(nèi)核
(1)將linux-2.6.36.bz2拷貝到工作目錄,然后解壓
tarxflinux-2.6.36.bz2
(2)進入linux-2.6.36內(nèi)核目錄,修改Makefile
cdlinux-2.6.36
sudogeditMakefile
ARCH一?=arm
CROSS_COMPILE?=/usr/local/arm/4.3.2/bin/arm-linux-
(3)修改mach-smdk6410.c
gedit1inux-2.6.36/arch/arm/niach-s3c64xx/mach-smdk6410.c
在mach-smdk6410.c文件中添加如下內(nèi)容:
staticstructresourcesmdk6410smsc91lx_rcsourccs[]=(
[0]={
.start=S3C64XX_PA_XM0CSN5,
.end=S3C64XX_PA_XM0CSN5+SZ_64K-1,
//.start=S3C64XX_PA_SMC9115,
//.end=S3C64XX_SZ_SMC9115,
.flags=IORESOURCE.MEM,
},
[1]={
.start=S3C_EINT(10),
.end=S3C_EINT(10),
.flags=二ORESOURCE」RQ|IRQ_TYPE_LEVEL_LOW,
},
);
(4)修改linux-2.6.36內(nèi)核根目錄下的.config文件,執(zhí)行以下命令:
cplinux-2.6.36/ctreh/arm/configs/s3c6400_defconfig/temp/1inux-2.6.36/.config
這樣可以將s3c6400_defconfig中的信息復制到.config中,執(zhí)行此命令的目的是為了在核
配置中添加或修改一些信息,如串口號,網(wǎng)卡驅(qū)動等等。
(5)配置網(wǎng)卡驅(qū)動,在linux-2.6.36根目錄下執(zhí)行命令:
makemenuconfig
在新彈出的窗口中,按照下列信息進行相應配置。(注意:*表示該功能編譯到內(nèi)核,M表示
作為內(nèi)核模塊編譯,空格表示該功能不編譯到內(nèi)核中,即新的內(nèi)核不支持該功能)
SystemType
(2)S3CUARTtouseforlow-lcvclprocess
JNetworkingSupport
Networkingoptions:
VTCP/IPnetworking
VIP:kernellevelautoconfiguration
VIP:DHCPsupport
VIP:BOOTPsupport
JIP:RARPsupport
19
DeviceDrivers:
VNetworkingDeviceSupport
7Ethernet(10or100Mbit)
*SMSCLAN911x/LAN921x...
FileSystems:
NetWorkfilesystem
JNFSClientsupport
?JRootfilesystemonNFS
如下列圖3-6至3-17所示,修改高亮的內(nèi)容:
?C@root(2)ubuntu:/temp/linux-2.6.36
.config-LinuxKernelV2.6.36Configuration
LinuxKernelConfiguration
Arrowkeysnavigatethemenu.<Enter>selectssubmenus—>.
Highlightedlettersarchotkeys.Pressing<Y>includes,<N>excludes,
<M>modularizesfeatures.Press<Esc><Esc>toexit,<?>forHelp,</>
forSearch.Legend:[*]built-in[]excluded<M>module<>
Generalsetup—>
[*]Enableloadablemodulesupport>
-*-EnabletheblockIayer—>
stem
Bussupport—>
KernelFeatures—>
Bootoptions—>
CPUPowerManagement—>
Floatingpointemulation—>
userspacebinaryformats—>
Powermanagementoptions—>
[*]Networkingsupport—>
DeviceDrivers—>
Filesystems—>
〈Select)<Exit><Help>
圖3-6SystemType
20
croot@)ubuntu:/temp/llnux-2.6.36
.config-LinuxKernelV2.6.36Configuration
SystemType
Arrowkeysnavigatethemenu.<Enter>selectssubmenus—>.
Highlightedlettersarehotkeys.Pressing<Y>includes,<N>excludes,
<M>modularizesfeatures.Press<Esc><Esc>toexit,<?>forHelp,</>
forSearch.Legend:[*]built-in[]excluded<M>module<>
[*]MMU-basedPagedMemoryManagementSupport
ARMsystemtype(SamsungS3C64XX)—>
***Bootoptions***
[*]S3CRebootondecompressionerror
[*]ForceUARTFIFOonduringbootprocess
S3CUARTtouseforlow-levelmessages
(0)NumberofadditionalCPIOpins
(0)Spacebetweengpiobanks
[]ADCcommondriversupport
***Powermanagement***
[]S3C2410PMSuspenddebug
[]SMDKLEDsuspend/resumedebugging
[]S3C2410PMSuspendMemoryCRC
S3C64XXDMA
<Select>
圖3-7S3c串口連接更改為2
?.住root@ubuntu:/temp/llnux-2.6.36
.config-LinuxKernelV2.6.36Configuration
LinuxKernelConfiguration
Arrowkeysnavigatethemenu.<Enter>selectssubmenus—>.
Highlightedlettersarehotkeys.Pressing<Y>includes,<N>excludes,
<M>modularizesfeatures.Press<Esc><Esc>toexit,<?>forHelp,</>
forSearch.Legend:[*]built-in[]excluded<M>module<>
CPUPowerManagement
Floatingpointemulation
Userspacebinaryformats
Powermanagementoptions
Networkingsu
DeviceDrivers-
Filesystems—
Kernelhacking-
Securityoptions
-*-CryptographicAPI
Libraryroutines
LoadanAlternateConfigurationFile
SaveanAlternateConfigurationFile
〈Select:<Exit><Help>
圖3-8網(wǎng)卡配置
21
O(d?root^)ubuntu:/temp/linux-2.6.36
.config-LinuxKernelV2.6.36Configuration
Networkingsupport
Arrowkeysnavigatethemenu.<Enter>selectssubmenus—>.
Highlightedlettersarehotkeys.Pressing<Y>includes,<N>excludes,
<M>modularizesfeatures.Press<Esc><Esc>toexit,<?>forHelp,</>
forSearch.Legend:[*]built-in[]excluded<M>module<>
--Networking啰ppo「t
Networktn
[]AmateurRadiosupport>
CANbussubsystemsupport—>
IrDA(infrared)subsystemsupport—>
Bluetoothsubsystemsupport—>
RxRPCsessionsockets
Wireless—>
WiMAXWirelessBroadbandsupport—>
RFswitchsubsystemsupport—>
Plan9ResourceSharingSupport(9P2000)(Experimental)
CAIFsupport—>
〈Select<Exit><Help>
圖3-9網(wǎng)卡配置選項
OC)@root(2)ubuntu:/temp/linux-2.6.36
.config-LinuxKernelV2.6.36Configuration
Networkingoptions
Arrowkeysnavigatethemenu.<Enter>selectssubmenus—>.
Highlightedlettersarehotkeys.Pressing<Y>includes,<N>exclud
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級造價工程師之安裝工程建設工程計量與計價實務考前沖刺試卷B卷含答案
- 中國俄語教育發(fā)展現(xiàn)狀與展望
- 會飛行的恐龍課件
- 醫(yī)院護理創(chuàng)新成果展示
- 幼兒園菜式創(chuàng)新培訓
- 微創(chuàng)手術(shù)的護理
- 深圳臨時工面試題及答案
- 與非遺結(jié)合面試題及答案
- 公共安全培訓
- 荷花課件水墨畫
- 夜市防恐防暴應急預案
- 小學語文現(xiàn)代文閱讀課件
- 【大數(shù)據(jù)背景下湯臣倍健公司物流成本管理8900字(論文)】
- 2024年華為HCIE H13-831-V2.0云服務認證考試必備題庫(匯總)
- 招聘策略(培訓課件)
- 全套行政人事管理制度匯編全套
- 干部履歷表(99年標準版)
- 挖掘機安全技術(shù)交底主要內(nèi)容
- 幼兒生活常規(guī)教育的現(xiàn)狀研究
- 完整版-第八版內(nèi)科冠心病課件
- 戴爾電腦培訓課件
評論
0/150
提交評論