下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)主要融合了計(jì)算機(jī)軟硬件技術(shù)、通信技術(shù)和微電子技術(shù),它是將計(jì)算機(jī)直接嵌入到應(yīng)用系統(tǒng)中,利用計(jì)算機(jī)的高速處理能力以實(shí)現(xiàn)某些特定的功能。2、目前國(guó)內(nèi)對(duì)嵌入式系統(tǒng)普遍認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。3、嵌入式系統(tǒng)一般由嵌入式計(jì)算機(jī)和執(zhí)行部件組成,其中嵌入式計(jì)算機(jī)主要由四個(gè)部分組成,它們分別是:硬件層、井間層、系統(tǒng)軟件層以及應(yīng)用軟件層。4、嵌入式處理器目前主要有ARM、MIPS、PowerPC、68K等,其中arm處理器有三大特點(diǎn):體積小、低功耗、的成本和高性能,16/32位雙指令集,全球合作伙伴眾多。5、常見(jiàn)的嵌入式操作系統(tǒng)有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。6、嵌入式系統(tǒng)開(kāi)發(fā)的一般流程主要包括系統(tǒng)需求分析、體系結(jié)構(gòu)設(shè)計(jì)、軟硬件及機(jī)械系統(tǒng)設(shè)計(jì)、系統(tǒng)集成、系統(tǒng)測(cè)試,最后得到最終產(chǎn)品。1、嵌入式系統(tǒng)中硬件層主要包含了嵌入式系統(tǒng)重要的硬件設(shè)備:f入式處理器—、存儲(chǔ)器(SDRAM、ROM等)、設(shè)備I/O接口等。2、20世紀(jì)90年代以后,隨著系統(tǒng)應(yīng)用對(duì)實(shí)時(shí)性要求的提高,系統(tǒng)軟件規(guī)模不斷上升,實(shí)時(shí)核逐漸發(fā)展為實(shí)時(shí)多任務(wù)操作系統(tǒng),并作為一種軟件平臺(tái)逐步成為目前國(guó)際嵌入式系統(tǒng)的主流。3、由于其高可靠性,在美國(guó)的火星表面登陸的火星探測(cè)器上也使用的嵌入式操作系統(tǒng)是 —。4、嵌入式系統(tǒng)設(shè)計(jì)過(guò)程中一般需要考慮的因素不包括:(大小)5、在嵌入式系統(tǒng)中比較流行的主流程序有:(Angel、Blob、RedBoot)1、Linux具有UNIX的所有特性并且具有自己獨(dú)特的魅力,主要表現(xiàn)在:開(kāi)放性、多用戶(hù)、多任務(wù)、友好的用戶(hù)界面、設(shè)備獨(dú)立性、豐富的網(wǎng)絡(luò)功能、文件傳輸、遠(yuǎn)程訪問(wèn)、可靠的安全性、良好的可移植性、XWindow系統(tǒng)、內(nèi)存保護(hù)模式。2、Linux一般包括四個(gè)主要部分:內(nèi)核(Kernel)、命令解釋層(Shell或其他操作環(huán)境)、文件結(jié)構(gòu)(FileStructure)和實(shí)用工具。3、目前幾乎所有的Linux發(fā)行版本中都包含了Gnome和KD^兩種圖形操作環(huán)境。4、在當(dāng)前目錄下建立目錄,應(yīng)使用命令:mkdirlinux;查看當(dāng)前路徑應(yīng)使用命令:pwd;chmod765linux.tar.gz的作用是:使linux.tar.gz文件的擁有者權(quán)限、文件組權(quán)限和其他用戶(hù)擁有相應(yīng)的權(quán)限。5、Linux內(nèi)核主要由:進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接口,進(jìn)程間通信五個(gè)子系統(tǒng)組成。1、下列操作系統(tǒng)中屬于國(guó)產(chǎn)軟件的是(RedFlag)2、啟動(dòng)shell環(huán)境時(shí),屏幕上顯示“[arm@wwwhome]$”,其中的arm的意義是(用戶(hù)名)。3、使用ls命令時(shí),如果想對(duì)文件名中的不可顯示字符用八進(jìn)制逃逸字符顯示,則應(yīng)該選用的參數(shù)是(-b)。4、解壓文件linux.tar.gz可使用命令(tarzxvflinux.tar.gz)。5、下列不屬于Linux用的文件系統(tǒng)是(ntfs)。1、ARM9系列微處理器在高性能和低功耗方面提供最佳的性能:它具有5級(jí)整數(shù)流水線,指令執(zhí)行效率更高;提供ttMIPS/MHz的哈佛總線結(jié)構(gòu);支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA總線接口。2、ARM芯片的內(nèi)核一般包括以下幾個(gè)單元:ARM9TDMI32RISC處理器、數(shù)據(jù)緩存器(DataCache)、指令緩存(InstructionCache)、指令有儲(chǔ)管理單元(InstructionMMU)、數(shù)據(jù)有儲(chǔ)管理單元(DataMMU)、寫(xiě)緩沖(WliteBuffer)和回寫(xiě)存儲(chǔ)單元(WriteBackPATAGRAM)。3、ARM處理器共有37個(gè)寄存器,其中31為通用寄存器,6個(gè)狀態(tài)寄存器,這些寄存器都是32位。4、ARM系統(tǒng)中尋址方式主要有立即尋址、寄有器尋址、寄有器間接尋址、基址變址尋址、多寄存器尋址、相對(duì)尋址和堆棧尋址。5、ARM微處理器的指令集可以分為以下六大類(lèi):跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器PSR)處理指令、加載/存儲(chǔ)(Load/Store)指令、協(xié)處理器指令和異常中斷產(chǎn)生指令。1.指令A(yù)DDR0,R0,#1四三個(gè)操作數(shù)得尋址方式是(立即尋址)。2.指令LERR3,[R4]第二個(gè)操作數(shù)的尋址方式是(寄存器間接尋址)。3.LDRR0,[R1,#4]第二個(gè)操作數(shù)的尋址方式是(基址變址尋址)。4.假設(shè)R0和R1寄存器中的值分別為8和6,執(zhí)行指令:LDRR0,[R1,#8]!,則寄存器R0和R1中的值分別為(14,6).5.棧是一種數(shù)據(jù)結(jié)構(gòu),本質(zhì)上是內(nèi)存中一段連續(xù)的地址,對(duì)其最常見(jiàn)的操作為“壓棧”(PUSH)和“出?!?POP),以臨時(shí)保存數(shù)據(jù)。其出入棧規(guī)則是(先進(jìn)后出)。1、在arm/thumb匯編語(yǔ)言程序中,程序是以程序段的形式呈現(xiàn)的。程序段是具有特有名稱(chēng)的相對(duì)獨(dú)立的指令或數(shù)據(jù)序號(hào)。程序段有兩大類(lèi)型代碼段、數(shù)據(jù)段。2、基于linux下GCC匯編語(yǔ)言,代碼表號(hào)必須在一行的頂端,后面要加上:,注視的內(nèi)容可以在前面加上@。3、符號(hào)定義偽指令(SymbolDefinition)、數(shù)據(jù)定義偽指令(DataDefinition)、匯編控制偽指令(AssemblyControl)、宏指令4、linux下的嵌入式程序開(kāi)發(fā),主要需要的代碼編輯器,如vr和gedit,另外還需要編譯器gcc、調(diào)試器gdb以及項(xiàng)目管理器make。5、Vi編輯器基本上有三種基本狀態(tài),分別是:命令模式(commandmode)、插入模式(insertmode)和底行模式(lastlinemode)。6、使用gcc編譯文件生成可執(zhí)行文件要經(jīng)歷四個(gè)相互關(guān)聯(lián)的步驟:預(yù)處理(也稱(chēng)預(yù)編譯,Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。1.假如使用偽指令定義一個(gè)局部的數(shù)據(jù)量,變量名為temp,然后給其賦值為8,匯編代碼為(GBLAtemp;tempSETA0x08;)2、在vi處于命令行模式時(shí),如果需要對(duì)文本進(jìn)行修改,欲在光標(biāo)所在位置的下一個(gè)位置開(kāi)始輸入文字,則(按下字母“a”進(jìn)入插入模式)3、當(dāng)前vi處于插入模式,先放棄對(duì)文本的修改,即不保存退出vi,則(先按下“ESC”后,再使用“:q!”命令)。4、經(jīng)過(guò)匯編之后,生成的目標(biāo)文件的后綴名為(.o)。5、對(duì)代碼文件code.c進(jìn)行調(diào)試的命令為($gcc-gcode.c-ocode)。1、SMDK2440平臺(tái)的開(kāi)發(fā)板采用的處理器是S3C2440,其主頻一般為400M。2、windows軟件環(huán)境的設(shè)置一般包括以下幾部分:超級(jí)終端的設(shè)置、DNW設(shè)置、GIVEIO驅(qū)動(dòng)的設(shè)置和USB驅(qū)動(dòng)3、在windows系統(tǒng)上建立基于linux嵌入式開(kāi)發(fā)環(huán)境一般有三種方案可以選擇分別是Windows系統(tǒng)下安裝虛擬機(jī)Vmware、Windows+Linux雙系統(tǒng)安裝、基于Windows操作系統(tǒng)下的Cygwin4、UBUNTU的網(wǎng)絡(luò)設(shè)置可以采用命令行方式、也可以采用圖形界面操作方式來(lái)配置。5、開(kāi)發(fā)板硬件平臺(tái)是基于三星S3C2440的SMDK2440平臺(tái)的目標(biāo)板,使用的刻錄軟件為SJF2440。1、為了通過(guò)PC的串口和開(kāi)發(fā)板進(jìn)行交互,需要使用(超級(jí)終端)。2、在嵌入式linux的開(kāi)發(fā)中,能實(shí)現(xiàn)上傳下載文件、刻錄文件、運(yùn)行映像等功能工具是(DNW)。3、 由普通用戶(hù)賬戶(hù)轉(zhuǎn)為管理員賬戶(hù)登錄,使用的命令為($suroot)。4、安裝FTP服務(wù)器時(shí),在終端輸入的命令為($sudoapt-getinstallvsftpd)。5、安裝Telnet服務(wù)時(shí),在終端輸入的命令為($sudoapt-getinstalltelnetd)1、交叉開(kāi)發(fā)工具鏈就是為了編譯、鏈接、處理和調(diào)試跨平臺(tái)體系結(jié)構(gòu)的程序代碼執(zhí)行工具鏈軟件,通過(guò)帶有不同的參數(shù),可以實(shí)現(xiàn)編譯、鏈接、處理、調(diào)試等不同的功能。2、linux經(jīng)常使用的工具鏈軟件有Binutils、Gcc、Glibc和Gdb。3、分布構(gòu)建交叉編譯工具鏈的制作過(guò)程需要以下幾步編譯binutils、編譯輔助gcc編譯器、編譯glibc庫(kù)、重新編譯完整的gcc。4、使用crosstool構(gòu)建交叉編譯工具鏈的制作過(guò)程需要以下幾步:準(zhǔn)備工作、建立腳本文件、建立配置文件、執(zhí)行腳本文件和編譯gdb調(diào)試器。5、使用crosstool構(gòu)建交叉編譯工具鏈的制作過(guò)程中需要的配置文件,其主要作用是定義配置文件、定義生成編譯工具鏈的名稱(chēng)、定義編譯選項(xiàng)等。1.(binutils)十二進(jìn)制程序處理工具,包括連接器,匯編器等目標(biāo)程序處理的工具。2.構(gòu)建交叉編譯器的第一個(gè)步驟是(下載工具)。3、分析以下代碼#exportPRJROOT=/home/arm/armlinux#exportTARGET=arm-linux#exportPREFIX=$PRJROOT/$TARGET其中,變量PREFIX代表的路徑為(/home/arm/armlinux)。4.Binutils是gnu工具之一,他包括連接器、匯編器和其他用于目標(biāo)文件和檔案的工具,特使二進(jìn)制代碼的處理維護(hù)工具。其中包括(ld)命令,他是把一些目標(biāo)和歸檔文件結(jié)合在一起,重定位數(shù)據(jù),并連接符號(hào)引用。5.分布構(gòu)建交叉編譯鏈的過(guò)程有兩次變異gcc,其中第二次進(jìn)行編譯的作用是(獲得glibc庫(kù)的支持)。1、Bootloader,亦稱(chēng)引導(dǎo)加載程序,是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。2、一般Bootloader包含兩種不同的操作模式:?jiǎn)?dòng)加載模式(TOTfoading)和下載模式(Downloading)。3、Bootloader的主要功能是引導(dǎo)操作系統(tǒng)啟動(dòng),它的啟動(dòng)方式有網(wǎng)絡(luò)啟動(dòng)、磁盤(pán)啟動(dòng)和Flash啟動(dòng)三種。4、Vivi運(yùn)行的第一階段主要完成以下工作:屏蔽所有中斷、設(shè)置CPU的速度和時(shí)鐘頻率、RAM初始化、初始化LED和關(guān)閉CPU內(nèi)部指令/數(shù)據(jù)cache。1、在Bootloader的啟動(dòng)方式中,F(xiàn)lash啟動(dòng)方式通常有兩種,一種是可以直接從Flash啟動(dòng),另一種時(shí)可以將壓縮的內(nèi)存映像文件從Flash中復(fù)制、解壓到RAM,再?gòu)闹袉?dòng)。2、在各種Bootloader中, 是以PPCBoot和ARMBoot為基礎(chǔ)的通用加載程序,并且在ARM、PowerPC以及MIPS等多種平臺(tái)上運(yùn)行。3、在編譯Vivi之前將Vivi里所有的“*.o”和“*.o.flag”文件刪除,以確保文件編譯時(shí)沒(méi)有錯(cuò)誤或者警告發(fā)生,使用的命令格式為(makedistclean)。4、編譯Vivi時(shí),如果編譯成功,在/vivi里面會(huì)生成三個(gè)vivi文件,其中不包括文件(vivi.exe)。5、把二進(jìn)制文件載入Flash或RAM使用的命令是(load)。1、ARM-Linux內(nèi)核的配置系統(tǒng)由三個(gè)部分組成,它們分別是Makefile、配置文件和配置工具。2、配置工具一般包括配置命令解釋器和配置用戶(hù)界面,前者主要作用是對(duì)配置腳本中使用的配置命令進(jìn)行解釋?zhuān)欢笳邉t是提供基于字符界面、基于Ncurses圖形界面以及基于XWindow圖形界面的用戶(hù)配置界面°3、Makefile文件主要包含注釋、編譯目標(biāo)定義和適配段°4、Linux內(nèi)核常用的配置命令有makeoldconfig、makeconfig、makemenuconfig和makexcunfig。其中以字符界面配置的命令是makecunfig。5、內(nèi)核編譯結(jié)束后,會(huì)在“/arch/arm/boot/”目錄下面和根目錄下面生成一個(gè)名為zImage的內(nèi)核鏡像文件。1.linux內(nèi)核中的makefile以及與makefile直接相關(guān)的文件不包括(后綴名為.in)。2.用戶(hù)通過(guò)makeconfig配置后,產(chǎn)生了后綴名為(in.config)。3.rules.make文件定義了許多變量,最重要的是那些編譯、連接列表變量,但不包括(O-OBJS)。4.在內(nèi)核配置過(guò)程中,如果需要設(shè)置networkingsupport這個(gè)選項(xiàng),進(jìn)入的菜單項(xiàng)是(Generalsetup)。5.在linux系統(tǒng)中,我們既需要標(biāo)記變量的符號(hào),有需要變量的物理地址,兩者同時(shí)需要的時(shí)候可以采用符號(hào)表的方式,其對(duì)應(yīng)的文件為(System.map)。1、Linux下的文件系統(tǒng)主要分為三個(gè)層次:上層用戶(hù)的應(yīng)用程序?qū)ξ募到y(tǒng)的系統(tǒng)調(diào)用、虛擬文件系統(tǒng)VFS和掛載到VFS中的各種實(shí)際文件系統(tǒng)。2、三種常用的塊驅(qū)動(dòng)程序分別是Blkmem驅(qū)動(dòng)層、RAMdisk驅(qū)動(dòng)層、MTD驅(qū)動(dòng)層3、基于Flash存儲(chǔ)常見(jiàn)的文件系統(tǒng)有JFFS2、Yaffs、Romfs和Cramfs。4、 基于RAM的文件系統(tǒng)常見(jiàn)的有Ramdisk和Ramfs/Tmpfs。5、根文件系統(tǒng)初始化和有用的做法,主要有SystemVinit、Busyboxinit1、(MTD驅(qū)動(dòng)層)也支持在一塊Flash上建立多個(gè)Flash分區(qū),沒(méi)一個(gè)分區(qū)作為一個(gè)MTDblock設(shè)備,可以把系統(tǒng)軟件數(shù)據(jù)等分配到不同的分區(qū)上,同時(shí)也可以在不同的分區(qū)采用不同的文件系統(tǒng)格式。2、在Linux系統(tǒng)中,因?yàn)镕lash可以以分區(qū)為單位拆開(kāi)或者合并后使用,所以文件系統(tǒng)是針對(duì)于(存儲(chǔ)器分區(qū))而言的。3、(JFFS2)是可讀寫(xiě)的、支持?jǐn)?shù)據(jù)壓縮的、基于哈希表的日志型文件系統(tǒng),并提供了崩潰掉電保護(hù),提供了“寫(xiě)平衡”支持,是具有支持多種節(jié)點(diǎn)類(lèi)型,提高了對(duì)Flash的利用率等優(yōu)點(diǎn)的文件系統(tǒng)、4、(Ramdisk)將一部分固定大小的內(nèi)存當(dāng)做分區(qū)來(lái)使用。它并非一個(gè)實(shí)際的文件系統(tǒng),而是一種將實(shí)際的文件系統(tǒng)裝入內(nèi)存的機(jī)制,并可以作為根文件系統(tǒng)。5、目錄“rcn.d”(n表示運(yùn)行級(jí)別,值分別取0~6)下存放的文件則是用來(lái)定義每個(gè)運(yùn)行級(jí)別將會(huì)執(zhí)行的應(yīng)用程序名,通常情況下它們都是符號(hào)鏈接,具體的文件則位于(init.d)rc.d目錄下。1、Linux系統(tǒng)的設(shè)備文件分為四類(lèi):塊設(shè)備文件、寧符設(shè)備文件、網(wǎng)絡(luò)設(shè)備文件、雜項(xiàng)設(shè)備文件。2、設(shè)備號(hào)是一個(gè)數(shù)字,它是設(shè)備的標(biāo)志、如前所述,一個(gè)設(shè)備文件可以通過(guò)mknod命令來(lái)創(chuàng)建,其中指定了主設(shè)備號(hào)和次設(shè)備家前者表明某一類(lèi)設(shè)備,用于表示設(shè)備對(duì)應(yīng)的驅(qū)動(dòng)程序,一般對(duì)應(yīng)著確定的驅(qū)動(dòng)程序;后者一般用于區(qū)分標(biāo)明不同屬性,它標(biāo)志著某個(gè)具體的物理設(shè)備。3、本章中的4種數(shù)據(jù)結(jié)構(gòu):file_operations、file、inode和device_struct,其中file_operations存儲(chǔ)驅(qū)動(dòng)內(nèi)核模塊提供的對(duì)設(shè)備進(jìn)行這種操作的函數(shù)指針,fHe代表一個(gè)打開(kāi)的文件描述符,MBb表示具體的文件。4、創(chuàng)建設(shè)備節(jié)點(diǎn)的命令是mknm。5、設(shè)備讀寫(xiě)操作的功能之一就是控制硬件,最常用的通過(guò)設(shè)備驅(qū)動(dòng)程序完成控制動(dòng)作的方法就是實(shí)現(xiàn)坤方法。1、磁盤(pán)屬于(塊設(shè)備)。2、USB屬于(雜項(xiàng)設(shè)備)。3、Linux內(nèi)核是“單內(nèi)核”結(jié)構(gòu),這個(gè)單內(nèi)核由很多(模塊)構(gòu)成。4、如果一個(gè)模塊要實(shí)現(xiàn)read、open和release等功能,則將其定義為(file_operations)結(jié)構(gòu)。5、數(shù)據(jù)結(jié)構(gòu)(device_struct),包含兩個(gè)元素:一個(gè)登記的設(shè)備驅(qū)動(dòng)程序的指針和一個(gè)指向一組文件操作的指針。1、舉例說(shuō)明身邊常用的嵌入式系統(tǒng)。答:生活中最常見(jiàn)的嵌入式系統(tǒng)恐怕要數(shù)智能手機(jī)了,包括Symbian、WindowsMobile、Android等手機(jī)嵌入式系統(tǒng)。還有,如路由器也是一個(gè)典型的嵌入式系統(tǒng)。2、如何理解嵌入式系統(tǒng),談?wù)勛约旱睦斫?。答:嵌入式系統(tǒng)是指:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。他具有如下特點(diǎn):1、嵌入式系統(tǒng)是面向產(chǎn)品、面向用戶(hù)、面向應(yīng)用的。2、嵌入式系統(tǒng)是一個(gè)技術(shù)密集、集成度高、需要不斷創(chuàng)新的集成系統(tǒng)。3、嵌入式系統(tǒng)必須根據(jù)應(yīng)用場(chǎng)合對(duì)軟硬件進(jìn)行必要的裁剪已實(shí)現(xiàn)需要的功能。3、簡(jiǎn)述嵌入式系統(tǒng)的開(kāi)發(fā)方法有哪幾種。答:目前,嵌入式系統(tǒng)的開(kāi)發(fā)有模擬開(kāi)發(fā)調(diào)試、嵌入式在線仿真和遠(yuǎn)程調(diào)試等幾種方法。4、結(jié)合當(dāng)前嵌入式系統(tǒng)的發(fā)展,想象一下嵌入式系統(tǒng)的應(yīng)用前景。答:嵌入式系統(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、簡(jiǎn)述linux與windows的主要異同。答:Windows操作系統(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)的,Linux是UNIX操作系統(tǒng)用于個(gè)人計(jì)算機(jī)上的一個(gè)版本,UNIX操作系統(tǒng)已經(jīng)在大型機(jī)和小型機(jī)上使用了幾十年,直到現(xiàn)在仍然是工作站操作系統(tǒng)的首選平臺(tái)。Linux給個(gè)人計(jì)算機(jī)帶來(lái)了能夠與UNIX系統(tǒng)相比的速度、效率和靈活性,使個(gè)人計(jì)算機(jī)所具有的潛力得到了充分發(fā)揮。Linux與Windows工作方式存在一些根本的區(qū)別,這些區(qū)別只有在用戶(hù)對(duì)兩者都很熟悉之后才能體會(huì)到,但它們卻是Linux思想的核心。2、目前主流的圖形界面環(huán)境有哪些?它們各有什么有缺點(diǎn)?答:目前主流的圖形界面環(huán)境有KDE和GNOME兩種圖形環(huán)境。答:KDE與GNOME項(xiàng)目擁有相同的目標(biāo),就是為L(zhǎng)inux開(kāi)發(fā)一套高價(jià)值的圖形操作環(huán)境,兩者都采用GPL公約發(fā)行,不同之處在于KDE基于雙重授權(quán)的Qt,而GNOME采用遵循GPL的GTK庫(kù)開(kāi)發(fā)一后者擁有更廣泛的支持。不同的基礎(chǔ)決定兩者不同的形態(tài):KDE包含大量的應(yīng)用軟件、項(xiàng)目規(guī)模龐大,因?yàn)闆](méi)有太多的第三方開(kāi)發(fā)者為KDE開(kāi)發(fā)重量級(jí)軟件;由于自帶軟件眾多,KDE比GNOME豐富多彩,加上使用習(xí)慣接近Windows,會(huì)更容易上手一些。但KDE的毛病在于運(yùn)行速度相對(duì)較慢,且部分程序容易崩潰(當(dāng)然整個(gè)KDE崩潰的情況極少出現(xiàn))。GNOME項(xiàng)目專(zhuān)注于桌面環(huán)境本身,由于軟件較少、運(yùn)行速度快,且穩(wěn)定性相當(dāng)出色,完全遵循GPL公約的屬性讓它贏得重量級(jí)廠商的支持。從當(dāng)前的情況來(lái)看,GNOME已經(jīng)成為Novell、RedHat企業(yè)發(fā)行版的默認(rèn)桌面,更偏向于商務(wù)領(lǐng)域;而豐富多彩的KDE有朝向家用和娛樂(lè)方向發(fā)展的趨勢(shì),它比GNOME顯然更有趣味性一些。3、在linux中如何使用mount命令掛載U盤(pán)?答:首先使用fdisk-l查看一下磁盤(pán)分區(qū)情況:,然后使用命令:mount土vfat/dev/sdbl/mnt/USB4、如何設(shè)置linux操作系統(tǒng)的網(wǎng)絡(luò)參數(shù)?答:使用類(lèi)似的命令:ifconfigeth0:5netmask其中5為ip,為子網(wǎng)掩碼。5、簡(jiǎn)要分析linux內(nèi)核的各個(gè)組成部分。答:Linux內(nèi)核主要由五個(gè)子系統(tǒng)組成:進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接口,進(jìn)程間通信。其中,進(jìn)程調(diào)度(SCHED)控制進(jìn)程對(duì)CPU的訪問(wèn);內(nèi)存管理(MM)允許多個(gè)進(jìn)程安全的共享主內(nèi)存區(qū)域;虛擬文件系統(tǒng)(VirtualFileSystem,VFS)隱藏了各種硬件的具體細(xì)節(jié),為所有的設(shè)備提供了統(tǒng)一的接口,VFS提供了多達(dá)數(shù)十種不同的文件系統(tǒng);進(jìn)程間通訊(IPC)支持進(jìn)程間各種通信機(jī)制。1、ARM處理器的運(yùn)行模式有哪幾種,各有什么特點(diǎn)?答:ARM微處理器的運(yùn)行模式有7種,分別為:用戶(hù)模式(User,usr):正常程序執(zhí)行時(shí),ARM處理器所處的狀態(tài)??焖僦袛嗄J剑‵IQ,fiq):用于快速數(shù)據(jù)傳輸和通道處理。外部中斷模式(IRQ,irq):用于通常的中斷處理。特權(quán)模式(Supervisor,sve):供操作系統(tǒng)使用的一種保護(hù)模式。數(shù)據(jù)訪問(wèn)中止模式(Abort,abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。未定義指令終止模式(Undefined,und):用于支持硬件協(xié)處理器軟件仿真。系統(tǒng)模式(System,sys):用于運(yùn)行特權(quán)級(jí)的操作系統(tǒng)任務(wù)。2、ARM存儲(chǔ)器的組織主要有哪些類(lèi)型,各有什么特點(diǎn)?答:ARM儲(chǔ)存器的組織最要有2大類(lèi)型,分別為小端格式和大端格式,也稱(chēng)為小端次序(Littleendian)和大端次序(Bigendian)的字節(jié)序(byteorder)。兩種儲(chǔ)存類(lèi)的區(qū)別在于一個(gè)32位的數(shù)據(jù)存放到儲(chǔ)存器中的時(shí)候,到底是高位字節(jié)放在高地址還是低地址的區(qū)別。3、ARM微處理器選型時(shí)應(yīng)注意:答:1、ARM微處理器內(nèi)核的選擇2、系統(tǒng)的工作頻率3、芯片內(nèi)存儲(chǔ)器的容量4、片內(nèi)外圍電路的選擇1、匯編語(yǔ)言與C的混合編程通常有以下幾種方式:在C代碼中嵌入?yún)R編指令;在匯編程序和C的程序之間進(jìn)行變量的互訪;匯編程序、C程序間的相互調(diào)用。3、項(xiàng)目管理器的作用主要是什么?答:make就是實(shí)現(xiàn)這樣的功能:它讀入一個(gè)文件,叫makefile,這個(gè)文件不僅決定了源文件之間的依賴(lài)關(guān)系,而且還決定了源文件什么時(shí)候該編譯什么時(shí)候不應(yīng)該編譯。1、建立基于Linux嵌入式開(kāi)發(fā)環(huán)境一般有三種方案可以選擇:一是在Windows系統(tǒng)下安裝虛擬機(jī)Vmware。二是Windows系統(tǒng)和Linux系統(tǒng)同時(shí)安裝。三是基于Windows操作系統(tǒng)下的Cygwin。1、構(gòu)建交叉工具鏈有那幾種方法?答:通常構(gòu)建交叉工具鏈有三種方法:方法一、分步編譯和安裝交叉編譯工具鏈所需要的庫(kù)和源代碼,最終生成交叉編譯工具鏈。方法二、通過(guò)Crosstool腳本工具來(lái)實(shí)現(xiàn)一次編譯生成交叉編譯工具鏈,該方法相對(duì)于方法一要簡(jiǎn)單許多,并且出錯(cuò)的機(jī)會(huì)也非常少,建議大多數(shù)情況下使用該方法構(gòu)建交叉編譯工具鏈;方法三、直接通過(guò)網(wǎng)上下載已經(jīng)制作好的交叉編譯工具鏈。 1、簡(jiǎn)述Bootloader的主要功能。答:BootLoader,亦稱(chēng)引導(dǎo)加載程序,是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。它是整個(gè)系統(tǒng)執(zhí)行的第一步,所以它的地位在整個(gè)嵌入式軟件系統(tǒng)中是非常重要的。 2、Vivi作為一種Bootloader,其運(yùn)行過(guò)程分成兩個(gè)階段,第一階段的代碼在Vivi/arch/s3c2440/head.s中定義,大小不超過(guò)10KB,它包括從系統(tǒng)上電后在0x00000000地址開(kāi)始執(zhí)行的部分。這部分代碼運(yùn)行在Flash中,它包括對(duì)S3C2440的一些寄存器、時(shí)鐘等的初始化,然后跳轉(zhuǎn)到第二階段執(zhí)行;第二階段的代碼在Vivi\init\main.c中,主要進(jìn)行一些開(kāi)發(fā)板初始化、內(nèi)存映射和內(nèi)存管理單元初始化等工作,最后會(huì)跳轉(zhuǎn)到boot_or_Vivi()函數(shù)中,接收命令并進(jìn)行處理。需要注意的是在Flash中執(zhí)行完內(nèi)存映射后,會(huì)將Vivi代碼拷貝到SDRAM中執(zhí)行。3、U-Boot則支持大多CPU,可以燒寫(xiě)EXT2、JFFS2文件系統(tǒng)映象,支持串口下載、網(wǎng)絡(luò)下載,并提供了大量的命令。相對(duì)于Vivi,它的使用更復(fù)雜,但是可以用來(lái)更方便地調(diào)試程序;Vivi是Mizi公司針對(duì)SAMSUNG的ARM架構(gòu)CPU專(zhuān)門(mén)設(shè)計(jì)的,基本上可以直接使用,命令簡(jiǎn)單方便。不過(guò)其初始版本只支持串口下載,速度較慢。在網(wǎng)上出現(xiàn)了各種改進(jìn)版本:支持網(wǎng)絡(luò)功能、USB功能、燒寫(xiě)YAFFS文件系統(tǒng)映象等。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”中。當(dāng)然,這里有的目錄是包含多個(gè)部分的內(nèi)容。具體各個(gè)目錄的內(nèi)容組成如下:arch:arch目錄包括了所有和體系結(jié)構(gòu)相關(guān)的核心代碼。include:include目錄包括編譯核心所需要的大部分頭文件,例如與平臺(tái)無(wú)關(guān)的頭文件在include/linux子目錄下;init:init目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),有main.c和Version.c兩個(gè)文件;mmmm目錄包含了所有的內(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)加載的模塊;fs:fs目錄存放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目錄下;net:net目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個(gè)子目錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)方面;lib:lib目錄包含了核心的庫(kù)代碼,不過(guò)與處理器結(jié)構(gòu)相關(guān)的庫(kù)代碼被放在arch/*/lib/目錄下;scripts:scripts目錄包含用于配置核心的腳本文件;documentation:documentation目錄下是一些文檔,是對(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)中,使用戶(hù)能夠選擇此功能;最后,構(gòu)建子目錄Makefile,根據(jù)用戶(hù)的選擇,將相應(yīng)的代碼編譯到最終生成的Linux內(nèi)核中去。主要步驟有:組織目錄結(jié)構(gòu),配置文件,修改makefile文件等。3、Linux內(nèi)核的移植過(guò)程比較繁瑣,具體步驟如下:解壓內(nèi)核文件、修改機(jī)器碼、修改內(nèi)核源碼根目錄下的Makefile文件、修改''arch/arm/plat-s3c24xx/common-smdk.c”文件,修改NandFlash的分區(qū)信息和NandFlash的硬件信息、修改時(shí)鐘頻率、增加Yaffs2文件系統(tǒng)的支持、配置內(nèi)核、編譯內(nèi)核等。4、為什么要進(jìn)行內(nèi)核裁剪?答:內(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)需要的部分,這樣就在一定程序上縮小了生成的鏡像文件大小。1、在Linxu根文件系統(tǒng)中,一般包括這樣一些子目錄:/etc/、/dev/、/usr/、/usr/bin/、/bin/等。根文件系統(tǒng)的建立需要遵循一定的規(guī)則,包括目錄的位置及名字等。用來(lái)建立根文件系
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)營(yíng)銷(xiāo)管理的11項(xiàng)原則
- 《材料加工檢測(cè)技術(shù)》教學(xué)大綱
- 教案第一課神奇的貨幣
- 玉溪師范學(xué)院《田徑》2023-2024學(xué)年第一學(xué)期期末試卷
- 經(jīng)濟(jì)貿(mào)易畢業(yè)論文:中國(guó)外貿(mào)競(jìng)爭(zhēng)力探究
- 玉溪師范學(xué)院《普通話與教師口語(yǔ)》2021-2022學(xué)年第一學(xué)期期末試卷
- 會(huì)計(jì)從業(yè)資格考試財(cái)經(jīng)法規(guī)教案
- 建筑公司規(guī)章制度范本
- 銷(xiāo)售部門(mén)年終工作總結(jié)課件模板
- 東南亞運(yùn)動(dòng)戶(hù)外電商行業(yè)市場(chǎng)洞察
- 護(hù)士職業(yè)暴露原因分析與防護(hù)
- 蘇教版四年級(jí)上冊(cè)簡(jiǎn)單電路
- 《成渝金融科技師能力要求》(公開(kāi)征求意見(jiàn)稿)
- 2024年稅務(wù)考試-稅務(wù)稽查員筆試參考題庫(kù)含答案
- 西方近現(xiàn)代建筑史智慧樹(shù)知到期末考試答案2024年
- MOOC 國(guó)際私法-暨南大學(xué) 中國(guó)大學(xué)慕課答案
- 2023年杭州市公安局上城區(qū)分局警務(wù)輔助人員招聘考試真題及答案
- 考研經(jīng)驗(yàn)課件
- 變壓器拆除施工方案及流程
- 2024灌區(qū)智能控制閘門(mén)系統(tǒng)技術(shù)規(guī)程
- 朗致集團(tuán)邏輯測(cè)評(píng)試卷2024
評(píng)論
0/150
提交評(píng)論