嵌入式Linux系統(tǒng)開(kāi)發(fā)教程(第二版)參考答案(賀丹丹)_第1頁(yè)
嵌入式Linux系統(tǒng)開(kāi)發(fā)教程(第二版)參考答案(賀丹丹)_第2頁(yè)
嵌入式Linux系統(tǒng)開(kāi)發(fā)教程(第二版)參考答案(賀丹丹)_第3頁(yè)
嵌入式Linux系統(tǒng)開(kāi)發(fā)教程(第二版)參考答案(賀丹丹)_第4頁(yè)
嵌入式Linux系統(tǒng)開(kāi)發(fā)教程(第二版)參考答案(賀丹丹)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

參考答案第一章一、填空題。計(jì)算機(jī)軟硬件技術(shù)、通信技術(shù)和微電子技術(shù)應(yīng)用、計(jì)算機(jī)技術(shù)…硬件層、中間層、系統(tǒng)軟件層以及應(yīng)用軟件層ARM、MIPS、PowerPCLinux、Vxworks、WinCE、Palm二、選擇題ADBDA三、敘述題1、生活中最常見(jiàn)的嵌入式系統(tǒng)恐怕要數(shù)智能手機(jī)了,包括Symbian、WindowsMobile、Android等手機(jī)嵌入式系統(tǒng)。還有,如路由器也是一個(gè)典型的嵌入式系統(tǒng)。2、嵌入式系統(tǒng)是指:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用12、嵌入式系統(tǒng)是一個(gè)技術(shù)密集、3、嵌入式系統(tǒng)必須根據(jù)應(yīng)用場(chǎng)合對(duì)軟硬件進(jìn)行必要的裁剪已實(shí)現(xiàn)需要的功能。3、目前,嵌入式系統(tǒng)的開(kāi)發(fā)有模擬開(kāi)發(fā)調(diào)試、嵌入式在線仿真和遠(yuǎn)程調(diào)試等幾種方法。4、嵌入式系統(tǒng)技術(shù)有著非常廣泛的應(yīng)用前景,其領(lǐng)域包括:工業(yè)控制領(lǐng)域、信息家電領(lǐng)域、機(jī)器人領(lǐng)域、POS網(wǎng)絡(luò)及電子商務(wù)領(lǐng)域、家庭智能管理系統(tǒng)、交通管理領(lǐng)域、環(huán)境工程與自然領(lǐng)域等。第二章一、填空題。1好的可移植性、XWindow系統(tǒng)、內(nèi)存保護(hù)模式。2、內(nèi)核(Kernel)、命令解釋層(Shell或其他操作環(huán)境)、文件結(jié)構(gòu)(FileStructure和實(shí)用工具。3、Gnome、KDE4mkdirlinuxpwdlinux.tar.gz應(yīng)的權(quán)限5、進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接口,進(jìn)程間通信??PAGE8PNET簡(jiǎn)明教程第第1章 ASP.NET概述?PAGE9?二、選擇題BBBCD三、敘述題1Windows操作系統(tǒng)是在個(gè)人計(jì)算機(jī)上發(fā)展起來(lái)的,在許多方面受到個(gè)人計(jì)算機(jī)硬件條件的限制,這些操作系統(tǒng)必須不斷地升級(jí)才能跟上個(gè)人計(jì)算機(jī)硬件的進(jìn)步;而Linux操作系統(tǒng)卻是以另外一種形式發(fā)展起來(lái)的,LinuxUNIXUNIX操作系統(tǒng)已經(jīng)在大型機(jī)和小型機(jī)上使用了幾十年,直到現(xiàn)在仍然是工作站操作系統(tǒng)的首選平臺(tái)。LinuxUNIX系統(tǒng)相比的速度、效率和靈活性,使個(gè)人計(jì)算機(jī)所具有的潛力得到了充分發(fā)揮。Linux與Windows些區(qū)別只有在用戶對(duì)兩者都很熟悉之后才能體會(huì)到,但它們卻是Linux思想的核心。2KDEGNOME兩種圖形環(huán)境。3、首先使用fdisk-l查看一下磁盤(pán)分區(qū)情況:mount–tvfat/dev/sdb1/mnt/USB4、使用類(lèi)似的命令:ifconfigeth0:5netmask其中5為ip,為子網(wǎng)掩碼。5Linux進(jìn)程間通信。其中,進(jìn)程調(diào)度(SCHED)CPU的訪問(wèn);內(nèi)存管理(MM)允許多個(gè)進(jìn)程安全的共享主內(nèi)存區(qū)域;虛擬文件系統(tǒng)(VirtualFileSystem,VFS)隱藏了VFS提供了多達(dá)數(shù)十種不同的文件系統(tǒng);進(jìn)程間通訊(IPC)支持進(jìn)程間各種通信機(jī)制。第三章一、填空題。1、3、1.1、ARM指令集、16為T(mén)humb指令集、322(DataCache(InstructionCache(Instruction(Data(WriteBuffer(WriteBackPATAGRAM)3、37、31、6、324、立即尋址、寄存器尋址、寄存器間接尋址、基址變址尋址5/(Load/Store)指令、協(xié)處理器指令二、選擇題ACDDA三、敘述題1、ARM微處理器的運(yùn)行模式有7種,分別為:用戶模式(User,usr):ARM快速中斷模式(FIQ,fiq):用于快速數(shù)據(jù)傳輸和通道處理。外部中斷模式(IRQ,irq):用于通常的中斷處理。特權(quán)模式(Supervisor,sve):供操作系統(tǒng)使用的一種保護(hù)模式。數(shù)據(jù)訪問(wèn)中止模式(Abort,abt):擬存儲(chǔ)及存儲(chǔ)保護(hù)。未定義指令終止模式(Undefined,und):用于支持硬件協(xié)處理器軟件仿真。系統(tǒng)模式(System,sys):用于運(yùn)行特權(quán)級(jí)的操作系統(tǒng)任務(wù)。2ARM2大類(lèi)型,分別為小端格式和大端格式,也稱(chēng)為小端次序(Littleendian)和大端次序(Bigendian)的字節(jié)序(byteorder)。兩種儲(chǔ)存類(lèi)的區(qū)別在于一323、ARM微處理器選型時(shí)應(yīng)注意:1、ARM微處理器內(nèi)核的選擇2、系統(tǒng)的工作頻率3、芯片內(nèi)存儲(chǔ)器的容量4、片內(nèi)外圍電路的選擇第四章一、填空題。1、程序段(Section)、代碼段(CodeSection)、數(shù)據(jù)段(DataSection)2、:、@3、符號(hào)定義偽指令(SymbolDefinition)、數(shù)據(jù)定義偽指令Definition)制偽指令(AssemblyControl)、宏指令4、vi、gedit、gcc、gdb、make5、命令模式(commandmode)、插入模式(insertmode)、底行模式(lastlinemode6(Preprocessing)(Compilation)(Assembly)和連接(Linking)。二、選擇題CBCCA三、敘述題1、匯編語(yǔ)言與C的混合編程通常有以下幾種方式:在C代碼中嵌入?yún)R編指令;在匯編程序和C的程序之間進(jìn)行變量的互訪;匯編程序、C程序間的相互調(diào)用。2、參看教材4.2.6。3、make就是實(shí)現(xiàn)這樣的功能:它讀入一個(gè)文件,叫makefile,這個(gè)文件不僅決定了源文件之間的依賴關(guān)系,而且還決定了源文件什么時(shí)候該編譯什么時(shí)候不應(yīng)該編譯。第五章一、填空題。1、S3C2440、400M2、DNW設(shè)置、USB驅(qū)動(dòng)3、Windows系統(tǒng)下安裝虛擬機(jī)Vmware、Windows+Linux雙系統(tǒng)安裝、基于Windows操作系統(tǒng)下的Cygwin4、命令行方式、圖形界面操作方式5、SJF2440二、選擇題CDDBA三、敘述題1、建立基于Linux嵌入式開(kāi)發(fā)環(huán)境一般有三種方案可以選擇:一是在WindowsVmwareWindowsLinux系統(tǒng)同時(shí)安裝。三是基于WindowsCygwin。25.3。35.4。第六章一、填空題。1試。2、Binutils、Gcc、Glibc。3binutilsgccglibcgcc4、建立腳本文件、建立配置文件、執(zhí)行腳本文件。5、定義生成編譯工具鏈的名稱(chēng)、定義編譯選項(xiàng)等。二、選擇題BDBAB三、敘述題1、通常構(gòu)建交叉工具鏈有三種方法:Crosstool交叉編譯工具鏈;方法三、直接通過(guò)網(wǎng)上下載已經(jīng)制作好的交叉編譯工具鏈。2、分布構(gòu)建交叉編譯工具鏈制作一般分成六步,主要步驟為:準(zhǔn)備工作:下載好所需要的軟件包、準(zhǔn)備好內(nèi)核頭文件、組織好目錄;編譯binutils:這個(gè)軟件包的編譯相對(duì)簡(jiǎn)單,一般容易實(shí)現(xiàn);gccgccgccglibccglibc的編譯做準(zhǔn)備;glibcarm-linux-gccglibc庫(kù);gccgccglibcglibcgcc,而在這一步,glibc庫(kù)已經(jīng)編譯了,可gcc進(jìn)行完整的編譯了;編譯gdb調(diào)試器:調(diào)試器與前面的那些軟件包是相互獨(dú)立的,所以放在最后編譯。3、使用CrosstoolCrosstoolshell文件、執(zhí)行腳本文件即可。其主要步驟為:準(zhǔn)備工作:下載好所需要的軟件包、準(zhǔn)備好內(nèi)核頭文件、組織好目錄;建立腳本文件:修改針對(duì)arm9架構(gòu)的腳本文件;建立配置文件:主要用于定義配置文件、定義生成編譯工具鏈的名稱(chēng)以及定義編譯選項(xiàng)等;執(zhí)行腳本文件:執(zhí)行建立好的腳本文件來(lái)編譯交叉編譯工具;添加環(huán)境變量:將生成的編譯工具鏈路徑添加到上一節(jié)中介紹到的環(huán)境變量 PATH去。第七章一、填空題。1、系統(tǒng)加電后運(yùn)行的第一段軟件代碼。2、啟動(dòng)加載模式(Bootloading)、下載模式(Downloading)3、網(wǎng)絡(luò)啟動(dòng)、磁盤(pán)啟動(dòng)、Flash啟動(dòng)4、初始化LED、關(guān)閉CPU內(nèi)部指令/數(shù)據(jù)cache二、選擇題CBADA三、敘述題1BootLoader統(tǒng)執(zhí)行的第一步,所以它的地位在整個(gè)嵌入式軟件系統(tǒng)中是非常重要的。2、Vivi作為一種Bootloader,其運(yùn)行過(guò)程分成兩個(gè)階段,第一階段的代碼在Vivi/arch/s3c2440/head.s10KB0x00000000地址開(kāi)始執(zhí)行的部分。這部分代碼運(yùn)行在FlashS3C2440的一些寄存器、時(shí)鐘等的初始化,然后跳轉(zhuǎn)到第二階段執(zhí)行;Vivi\init\main.c中,主要進(jìn)行一些開(kāi)發(fā)板初始化、內(nèi)存映射和內(nèi)存管理單元初始化等工作,最后會(huì)跳轉(zhuǎn)到boot_or_Vivi()FlashViviSDRAM中執(zhí)行。3、U-Boot則支持大多CPU,可以燒寫(xiě)EXT2、JFFS2文件系統(tǒng)映象,支持串口下載、Vivi地調(diào)試程序;ViviMiziSAMSUNGARMCPU命令簡(jiǎn)單方便。不過(guò)其初始版本只支持串口下載,速度較慢。在網(wǎng)上出現(xiàn)了各種改進(jìn)版本:支持網(wǎng)絡(luò)功能、USBYAFFS文件系統(tǒng)映象等。第八章一、填空題。1、Makefile、配置文件、配置工具。23、注釋、編譯目標(biāo)定義、適配段。4、makeconfig、makemenuconfig、makexconfig、makeconfig5、zImage二、選擇題CADDB三、敘述題1、Linux內(nèi)核各個(gè)部分與內(nèi)核源碼的各個(gè)目錄都是對(duì)應(yīng)起來(lái)的,比如有關(guān)驅(qū)動(dòng)的內(nèi)容,內(nèi)核中就都組織到“drive”這個(gè)目錄中去,有關(guān)網(wǎng)絡(luò)的代碼都集中組織到“net然,這里有的目錄是包含多個(gè)部分的內(nèi)容。具體各個(gè)目錄的內(nèi)容組成如下:arch:archinclude:include目錄包括編譯include/linuxinit目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),main.cVersion.c兩個(gè)文件;mm:mm目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管arch/*/mm目錄下;drivers:drivers目錄中是系統(tǒng)中所有的設(shè)備驅(qū)動(dòng)程序。它又進(jìn)一步劃分成幾類(lèi)設(shè)備驅(qū)動(dòng),每一種有對(duì)應(yīng)的子目錄,如聲卡的驅(qū)動(dòng)對(duì)應(yīng)于drivers/sound;ipc:ipc目錄包含了核心進(jìn)程間的通信代碼;modules:modules目錄存放了已建好的、可動(dòng)態(tài)加載的模塊;目錄存放Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對(duì)應(yīng),如ext3文件系統(tǒng)對(duì)應(yīng)的就是ext3子目錄;Kernel:Kernel內(nèi)核管理的核心代碼放在這里。同時(shí)與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個(gè)子目錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)方面lib:lib目錄包含了核心的庫(kù)代碼,不過(guò)與處理器結(jié)構(gòu)相關(guān)的庫(kù)代碼被放在 arch/*/lib/目錄下scriptsscripts目錄包含用于配置核心的腳本文件documentationdocumentation目錄下是一些文檔,是對(duì)每個(gè)目錄作用的具體說(shuō)明。2、將自己開(kāi)發(fā)的內(nèi)核代碼加入到Linux內(nèi)核中,需要有三個(gè)步驟。首先確定把自己開(kāi)發(fā)代碼放入到內(nèi)核的位置;其次,把自己開(kāi)發(fā)的功能增加到Linux內(nèi)核的配置選項(xiàng)中使用戶能夠選擇此功能;最后,構(gòu)建子目錄Makefile,根據(jù)用戶的選擇,將相應(yīng)的代碼編譯到最終生成的 Linux內(nèi)核中去。主要步驟有:組織目錄結(jié)構(gòu),配置文件,修改makefile文件等。3Linux內(nèi)核的移植過(guò)程比較繁瑣,具體步驟如下:解壓內(nèi)核文件、修改機(jī)器碼、修改Makefilearch/arm/plat-s3c24xx/common-smdk.cNandFlashNandFlashYaffs2文件系統(tǒng)的支持、配置內(nèi)核、編譯內(nèi)核等。4、內(nèi)核裁剪,主要作用就是為了適應(yīng)嵌入式系統(tǒng)的小體積、小存儲(chǔ)的特點(diǎn),在內(nèi)核的大小方面進(jìn)行裁剪。內(nèi)核編譯之前,通過(guò)配置內(nèi)核的選項(xiàng)參數(shù)進(jìn)行設(shè)置,將不需要的功能刪掉,保留系統(tǒng)需要的部分,這樣就在一定程序上縮小了生成的鏡像文件大小。第九章一、填空題。1VFSVFS各種實(shí)際文件系統(tǒng)。2、Blkmem驅(qū)動(dòng)層、RAMdisk驅(qū)動(dòng)層、MTD驅(qū)動(dòng)層3、JFFS2、Yaffs、Romfs4、Ramdisk、Ramfs/Tmpfs5、SystemVinit、Busyboxinit二、選擇題ABBDB三、敘述題1Linxu/etc//dev//usr//usr/bin//bin/等。根文件系統(tǒng)的建立需要遵循一定的規(guī)則,包括目錄的位置及名字等。用來(lái)建立根文件系統(tǒng)的規(guī)則被稱(chēng)作文件系統(tǒng)分類(lèi)標(biāo)準(zhǔn)(FilesystemHierarchyStandardLinux根文件系統(tǒng)時(shí)文件和目錄的名字和存放位置的標(biāo)準(zhǔn)。2、Busybox能使用戶迅速方便的建立一套相對(duì)完整、功能豐富的文件系統(tǒng),其中包括大量常用的應(yīng)用程序。Busybox將許多常用的UNIX命令和工具結(jié)合到了一個(gè)單獨(dú)的可執(zhí)行程序中。它集成壓縮了Linux的許多工具和命令。雖然與相應(yīng)的GNU工具比較起來(lái),Busybox所提供的功能和參數(shù)略少,但在比較小的系統(tǒng)或者嵌入式系統(tǒng)中,這些已經(jīng)足夠用了。39.3.2。49.3.3。第十章一、填空題。1、塊設(shè)備文件、字符設(shè)備文件、網(wǎng)絡(luò)設(shè)備文件、雜項(xiàng)設(shè)備文件。2、主設(shè)備號(hào)、次設(shè)備號(hào)3、file_operations、file、inode4、mknod5、ioctl二、選擇題BDAAD三、敘述題1、驅(qū)動(dòng)程序主要提供以下功能:應(yīng)用程序通過(guò)驅(qū)動(dòng)程序安全有效地訪問(wèn)硬件;驅(qū)動(dòng)程序作為嵌入式系統(tǒng)的中間層軟件,它隱藏了底層的細(xì)節(jié),從而提高了軟件的可移植性和可復(fù)用性;驅(qū)動(dòng)程序文件節(jié)點(diǎn)可以方便地提供訪問(wèn)權(quán)限控制。從下層驅(qū)動(dòng)開(kāi)發(fā)人員的角度來(lái)看,Linux驅(qū)動(dòng)程序就是通過(guò)直接操控硬件的軟件,來(lái)完成下面的功能:對(duì)設(shè)備初始化和釋放;直接讀寫(xiě)硬件寄存器來(lái)控制硬件;把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);操作設(shè)備緩沖區(qū)設(shè)備;操作輸入、輸出設(shè)備,如鍵盤(pán)、打印機(jī)等;讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù);檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。2、塊設(shè)備文件:通常指一些需要以塊(512字節(jié))IDESCSI3、Linux驅(qū)動(dòng)程序可以通過(guò)兩種方式集成到內(nèi)核中去:一是將其直接編譯到內(nèi)核;二是將其編寫(xiě)成模塊,在需要添加某種硬件的時(shí)候,內(nèi)核可以將其調(diào)入。在配置 Linux內(nèi)核時(shí),可以選擇“Enableloadablemodulesupport”選項(xiàng),來(lái)支持可加載內(nèi)核模塊。4、Linux設(shè)備驅(qū)動(dòng)程序與外界的接口可以分為如下三個(gè)部分:驅(qū)動(dòng)程序與操作系統(tǒng)內(nèi)核的接口:這是通過(guò)數(shù)據(jù)結(jié)構(gòu) file_operations來(lái)完成的驅(qū)動(dòng)程序與系統(tǒng)引導(dǎo)的接口:這部分利用驅(qū)動(dòng)程序?qū)υO(shè)備進(jìn)行初始化。驅(qū)動(dòng)程序與設(shè)備的接口:這部分描述了驅(qū)動(dòng)程序如何與設(shè)備進(jìn)行交互,這與具體設(shè)備密切相關(guān)。5、進(jìn)行模塊編程的一般步驟是:首先建立模塊文件,然后編寫(xiě)makefile文件,最后使用inmod加載模塊文件。6、編寫(xiě)一個(gè)字符設(shè)備驅(qū)動(dòng),主要是下面幾步:編寫(xiě)硬件接口函數(shù);建立文件系統(tǒng)與設(shè)備驅(qū)動(dòng)程序的接口變量,類(lèi)型為structfile_operations結(jié)構(gòu)體,并初始化該變量;注冊(cè)設(shè)備到chrdevs全局?jǐn)?shù)組中;以模塊方式編譯驅(qū)動(dòng)源碼,并將其加載到內(nèi)核中;創(chuàng)建設(shè)備節(jié)點(diǎn);編寫(xiě)應(yīng)用程序訪問(wèn)底層設(shè)備。第十一章一、填空題。1、視窗、單一文件界面或者多文件界面、標(biāo)簽、菜單2、窗口系統(tǒng)、字體、輸入設(shè)備及輸入法、屏幕加速3、tmake工具安裝包、Qt/Embedded安裝包、QtX11版的安裝包、Qt/Embedded裝包。4、配置、編譯、測(cè)試5、QDevelop、Q

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論