freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于嵌入式系統(tǒng)的圖形界面應(yīng)用設(shè)計(jì)范文(更新版)

  

【正文】 ems”子菜單中近保留“cramfs”文件系統(tǒng)支持,并且開(kāi)啟NFS文件系統(tǒng)支持,去掉其它選項(xiàng)。(3)Real Time Clock:時(shí)鐘驅(qū)動(dòng)選項(xiàng),應(yīng)選上“Samsung S3C series SoC RTC”,這樣系統(tǒng)時(shí)鐘才能正常運(yùn)行。此時(shí) 編譯好的可加載模塊也被安裝到預(yù)定位置,默認(rèn)為/lib/modules。our IP is Filename ‘’Load address : 0x30008000Loading:Done其中 0x30008000 為指定的下載到內(nèi)存的地址, 就是帶有引導(dǎo)頭的內(nèi)核映像。在嵌入式開(kāi)發(fā)過(guò)程中,通常使用這種文件系統(tǒng)搭建交叉編譯環(huán)境。研究過(guò)程中,使用了 LJD2410 型開(kāi)發(fā)板,此開(kāi)發(fā)板的處理器是基于 ARM920T的 Samsung S3c2410,能夠滿足嵌入式導(dǎo)航計(jì)算機(jī)的硬件需求。本課題選用功能強(qiáng)大的 Uboot 作為啟動(dòng)加載程序,通過(guò)對(duì)其源代碼進(jìn)行修改,使其可以正常運(yùn)行于開(kāi)發(fā)板,并且實(shí)現(xiàn)下載、燒寫等功能。雖然移植后的Linux系統(tǒng)可以正常運(yùn)行在開(kāi)發(fā)板上,能滿足設(shè)計(jì)需求。第二篇:嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用第一章:嵌入式系統(tǒng)定義:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能,可靠性,成本,體積,功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。根文件系統(tǒng)選用了Cramfs文件系統(tǒng),這種文件系統(tǒng)采用壓縮格式,存儲(chǔ)空間需求小,但是不影響讀取速度,非常適合與嵌入式Linux系統(tǒng)。其次,介紹了交叉開(kāi)發(fā)環(huán)境的建立。cramfs是一個(gè)只讀文件系統(tǒng),采用了zlib壓縮,壓縮比一般可以達(dá)到1:2,但仍可以做到高效的隨機(jī)讀取。跟文件系統(tǒng)(root filesystem)是 Linux系統(tǒng)的核心部分,包含系統(tǒng)使用的軟件和庫(kù),以及無(wú)偶有用來(lái)為用戶提供支持架構(gòu)和用戶使用的應(yīng)用軟件,并作為存儲(chǔ)數(shù)據(jù)讀寫結(jié)果的區(qū)域。這個(gè)引導(dǎo)頭可以用 Uboot 附帶的 mkimage 工具生成,命令如下:$ mkimagen 39。(5)其它驅(qū)動(dòng)支持保持默認(rèn)即可。(14)Security options:包含安全性有關(guān)選項(xiàng),保持默認(rèn)。(6)Boot options:包含內(nèi)核啟動(dòng)相關(guān)選項(xiàng),其中內(nèi)核啟動(dòng)參數(shù)設(shè)置為:“noinitrd console=ttySAC0,115200 root=/dev/nfs init=linuxrc nfsroot=:/home/arm/FS/myrootfs mem=64Mip=::::LJD2410:eth0:off”,支持NFS文件系統(tǒng)。M—將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內(nèi)核中的模塊。amp。CS8900A的驅(qū)動(dòng)文件有兩個(gè): ,這兩個(gè)文件可以由網(wǎng)絡(luò)獲得,將其拷貝至 drivers/net/arm 文件夾下,但這樣并不能使驅(qū)動(dòng)程序正常工作,還應(yīng)對(duì)內(nèi)核源文件做些修改。Linux 對(duì)于特定硬件平臺(tái)的軟件叫做BSP(Board Support Package).Linux 內(nèi)核已經(jīng)支持了各種體系的多種開(kāi)發(fā)板,我們很容易從中找到與本課題類似的目標(biāo)板,參考該目標(biāo)板并做一定的修改,即可完成移植工作。(10)/documents包含了內(nèi)核源碼各個(gè)部分的說(shuō)明文件。該目錄也包含了不同平臺(tái)需要的庫(kù)文件。(b)kernel:存放支持體系結(jié)構(gòu)特有的(如信號(hào)處理和SMP)特征的實(shí)現(xiàn)。(2)使用命令設(shè)置環(huán)境變量。燒寫完成后,斷開(kāi)JTAG線,PC機(jī)運(yùn)行DNW串口調(diào)試軟件。(2)通過(guò)串口線燒寫。這個(gè)文件中還定義了Uboot 保存環(huán)境變量的底層函數(shù)。其中 nand_init()函數(shù)是對(duì) NAND Flash 的最初初始化函數(shù)。(2)在 board 子目錄中建立 LJD2410開(kāi)發(fā)板目錄: $ cp rf board/smdk2410 board/LJD2410 $ cd board/LJD2410 $ mv (3)在 include/configs/中建立配置頭文件:$ cp include/configs/ include/configs/(4)測(cè)試編譯能否成功: $ make distclean $ make LJD2410_config $ make CROSS_COMPILE=armlinux如果編譯成功,證明已經(jīng)建立好了LJD2410的編譯項(xiàng),但是還要進(jìn)行進(jìn)一步的修改,因?yàn)楝F(xiàn)在的代碼是完全拷貝 smdk2410 開(kāi)發(fā)板的,還不能工作在LJD2410板上。(5)使能中斷,利用enable_interrupts()函數(shù)實(shí)現(xiàn)。(b)配置??臻g,配置代碼段的開(kāi)始地址、動(dòng)態(tài)內(nèi)存區(qū)長(zhǎng)度、全局?jǐn)?shù)據(jù) 大小以及分配IRQ 和FRQ的??臻g。Uboot ,它用匯編語(yǔ)言寫成。工作于這種模式下的 Bootloader 通常都會(huì)向它的終端用戶提供一個(gè)簡(jiǎn)單的命令行接口。表41 Uboot頂層目錄下部分目錄的存放規(guī)則 Uboot 的啟動(dòng)過(guò)程及工作原理 啟動(dòng)模式介紹Bootloader 都包含兩種不同的操作模式:“啟動(dòng)加載”模式和“下載”模式,這種區(qū)別僅對(duì)于開(kāi)發(fā)人員才有意義。Uboot 簡(jiǎn)介Uboot 是德國(guó) DENX 小組的開(kāi)發(fā)用于多種嵌入式 CPU 的 Bootloader 程序,Uboot 不僅僅支持嵌入式Linux系統(tǒng)的引導(dǎo),還支NetBSD,VxWorks,QNX,ARTOS,LynxOS 等嵌入式操作系統(tǒng)。通過(guò)這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。(2)通過(guò)下列命令可以安裝armlinux交叉編譯工具:$ cp /$ cd /$ tar jxvf 這樣,交叉編譯工具就被安裝到了/usr/local/arm/。sync:文件同步寫入到內(nèi)存和硬盤當(dāng)中。NFS 服務(wù)簡(jiǎn)介:NFS 就是 Network File System 的縮寫,最早之前是由 Sun 這家公司所開(kāi)發(fā)的。圖 34DNW 設(shè)置每次使用DNW之前,應(yīng)當(dāng)設(shè)置DNW連接到串口。(4)筆記本的網(wǎng)卡接口通過(guò)以太網(wǎng)線連接到路由器的LAN2口。在 Ubuntu 中建立 arm用戶,專門用于 ARM 開(kāi)發(fā)。由此可見(jiàn),選擇嵌入式Linux操作系統(tǒng),就有了豐富的資源保障,在節(jié)省成本的同時(shí),提高了開(kāi)發(fā)效率。嵌入式 Linux 操作系統(tǒng)Linux 的嵌入式改造主要圍繞體積和實(shí)時(shí)性展開(kāi),目前已經(jīng)有很多公司在進(jìn)行這方面的工作,其中包括 RTLinux,uClinux,Embedix,Xlinux,MidoriLinux和紅旗嵌入式 Linux等等。即在任意一種處理器模式下,可訪問(wèn)的寄存器包括15個(gè)通用寄存器(R0~R14)、一至二個(gè)狀態(tài)寄存器和程序計(jì)數(shù)器。 ARM體系結(jié)構(gòu)ARM微處理器基本架構(gòu):ARM9微處理器采用RISC體系結(jié)構(gòu):優(yōu)先選取使用頻最高的簡(jiǎn)單指令,避免復(fù)雜指令RISC體系結(jié)構(gòu)應(yīng)具有如下特點(diǎn):,指令歸整、簡(jiǎn)單、基本尋址方式有2~3種。S3c2410的內(nèi)核基于 ARM920T,帶有MMU功能,主頻高達(dá)203MHz,可以支持 Linux、WinCE 等主流嵌入式操作系統(tǒng)。(3)完成交叉編譯環(huán)境的建立。它具有通用操作系統(tǒng)的基本特點(diǎn),能夠有效管理復(fù)雜的系統(tǒng) 資源;能夠快速的處理大量的信息;能夠提供庫(kù)函數(shù)、驅(qū)動(dòng)程序、工具集以 及部分應(yīng)用程序??偟膩?lái)說(shuō),嵌入式GUI要求簡(jiǎn)單、直觀、可靠、占用資源小且反應(yīng)速度快,以適應(yīng)系統(tǒng)硬件資源有限的條件嘲。一方面,嵌入式硬件性能不斷提升,使得嵌入式設(shè)備上運(yùn)行精美的圖形用戶界面成為可能;另一方面,嵌入式手持式消費(fèi)電子產(chǎn)品的普及,例如PDA(個(gè)人數(shù)字助理)、智能手機(jī)、PMP(便攜式多媒體播放器),一個(gè)完善的嵌入式圖形用戶界面成為不可缺少的組成部分,嵌入式GUI(圖形用戶界面:Graphical User Interface)為嵌入式系統(tǒng)提供了一種應(yīng)用于特殊場(chǎng)合的人機(jī)交互接口。隨著計(jì)算機(jī)的發(fā)展和應(yīng)用的普及,嵌入式系統(tǒng)取得了迅猛的發(fā)展,嵌入式產(chǎn)品已經(jīng)滲透到社會(huì)經(jīng)濟(jì)、軍事、交通、通信等相關(guān)行業(yè),而且深入到家電、娛樂(lè)等各個(gè)領(lǐng)域,掀起了一場(chǎng)數(shù)字化革命。這種面向用戶的系統(tǒng)工程設(shè)計(jì)目的是優(yōu)化產(chǎn)品性能,使操作更人性化,減輕使用者的認(rèn)知負(fù)擔(dān),使其更適合用戶的操作需要,直接提升產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力??梢灶A(yù)見(jiàn),隨著電子、計(jì)算機(jī)等行業(yè)的高速發(fā)展,嵌入式系統(tǒng)將以它專用化,效率高的特性深入實(shí)際應(yīng)用的各個(gè)領(lǐng)域,因而開(kāi)發(fā)與改進(jìn)嵌入式圖形用戶界面有著長(zhǎng)遠(yuǎn)的意義。因此,本設(shè)計(jì)選用嵌入式Linux作為嵌入式導(dǎo)航計(jì)算機(jī)的操作系統(tǒng),這對(duì)于實(shí)現(xiàn)導(dǎo)航計(jì)算機(jī)的高效率、低功耗具有現(xiàn)實(shí)意義。(6)制作根文件系統(tǒng)。S3c2410 將系統(tǒng)的存儲(chǔ)空間分為 8 組(bank),每組大小是 128MB,共1GB。,ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:,從而提高指令的執(zhí)行效率。其 中,ARM指令為32位的長(zhǎng)度,Thumb指令為16位長(zhǎng)度。、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等。而大多數(shù)嵌入式Linux使用的開(kāi)發(fā)工具也是遵守GPL協(xié)議的,同樣也可以免費(fèi)獲得。前者用于串口調(diào)試,后者用于燒寫B(tài)ootloader。FS:用于存放根文件系統(tǒng)相關(guān)的程序。PC機(jī)中安裝有DNW串口調(diào)試工具,在使用DNW之前,應(yīng)當(dāng)對(duì)PC機(jī)的串口進(jìn)行設(shè)置。TFTP承載在UDP上,提供不可靠的數(shù)據(jù)流傳輸服務(wù),不提供存取授權(quán)與認(rèn)證機(jī)制,使用超時(shí)重傳方式來(lái)保證數(shù)據(jù)的到達(dá)。通過(guò) NFS 服務(wù)器可以讓開(kāi)發(fā)板將網(wǎng)絡(luò)遠(yuǎn)端的 NFS 主機(jī)分享的目錄,掛載到開(kāi)發(fā)板當(dāng)中,在開(kāi)發(fā)板看起來(lái),那個(gè)遠(yuǎn)端主機(jī)的目錄就好像是自己的根目錄一樣,可以方便的進(jìn)行開(kāi)發(fā)調(diào)試。 安裝交叉編譯工具交叉編譯簡(jiǎn)介:所謂交叉編譯,簡(jiǎn)單的說(shuō),就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼,比如在 PC平臺(tái)上(X86 CPU)編譯出能運(yùn)行在以 ARM 為內(nèi)核的CPU平臺(tái)上的程序,一般選擇GNU開(kāi)發(fā)工具 gcc。 User specific environment and startup programsexport TARGET=armlinuxexport PRJROOT=/home/armexportPATH=$PATH:$HOME/bin:$PREFIX/bin:/usr/local/arm/:/sbin:/usr/ sbin:/usr/local/sbin測(cè)試交叉編譯器:可以通過(guò)一個(gè)簡(jiǎn)單的程序測(cè)試安裝好的交叉編譯工具,看其能否正常工作。Bootloader 不但依賴于 CPU 的體系結(jié)構(gòu),而且依賴于嵌入式板級(jí)設(shè)備的配置。,用以下命令將其解壓。也即 Bootloader 從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載 到 RAM中運(yùn)行,整個(gè)過(guò)程并沒(méi)有用戶的介入。依賴于CPU體系結(jié)構(gòu)的代碼(如CPU初始化代碼等)通常都放在階段1中且通常用匯編語(yǔ)言實(shí)現(xiàn),而階段 2 則通常用C語(yǔ)言來(lái)實(shí)現(xiàn),這樣可以實(shí)現(xiàn)復(fù)雜的功能,而且有更好的可讀性和移植性。(4)禁掉所有中斷。隨后進(jìn)入第二階段。Uboot的移植過(guò)程移植Uboot 的主要工作就是添加開(kāi)發(fā)板硬件相關(guān)的文件、配置選項(xiàng),然后進(jìn)行編譯。這可以參考 ,詳見(jiàn)附錄 A1。在/drivers/nand_legacy/ 中添加 NAND Flash 初始化函數(shù)nand_init,詳見(jiàn)附錄 A2。文件 /mon/ 中 包 含 了 Flash 擦 寫 函 數(shù),結(jié)合 CFG_NAND_LEGACY這個(gè)宏,添加代碼實(shí)現(xiàn) NAND Flash的擦寫功能。通過(guò)JTAG接口燒寫的優(yōu)點(diǎn)是操作簡(jiǎn)單,但是燒寫速度較慢,總體來(lái)說(shuō)是一種非常經(jīng)濟(jì)實(shí)用的方法。輸入“help”命令,可以看到Uboot 當(dāng)前的所有命令列表,如表32所示,每一條命令后面是簡(jiǎn)單的說(shuō)明。5 Linux 內(nèi)核的移植Linux 內(nèi)核的結(jié)構(gòu)在對(duì)Linux內(nèi)核移植之前,首先要明確內(nèi)核源碼的基本組織情況,只有了解了各目錄級(jí)代碼的功能才能準(zhǔn)確找到需要修改和改進(jìn)的地方。(e)mathemu:模擬 FPU 的代碼。這是研究核心如何工作的好起點(diǎn)。Linux 啟動(dòng)過(guò)程簡(jiǎn)析Linux 內(nèi)核啟動(dòng)就是引導(dǎo)內(nèi)核映像啟動(dòng)的過(guò)程。修改頂層Makefile文件,指定體系結(jié)構(gòu)和編譯器地址:ARCH := armCROSS_COMPILE := /usr/local/arm/ 修改 NAND Flash 分區(qū)信息本課題中,NAND Flash應(yīng)按照功能分為 4個(gè)分區(qū),如圖41所示:圖51 NAND Flash分區(qū)示意圖 Linux 內(nèi)核對(duì)于 Flash分區(qū)由 arch/arm/plats3c24xx/ 文件中的 mtd_partition smdk_default_nand_part 結(jié)構(gòu)體定義,默認(rèn)已經(jīng)分為了8個(gè)區(qū)。 添加 CS8900A 內(nèi)核編譯項(xiàng)Kconfig 文件是 內(nèi)核引入的配置文件,是內(nèi)核配置選項(xiàng)的源文件。 使用配置菜單配置內(nèi)核可以選擇不同的配置界面,圖形界面或者光標(biāo)界面。(1)General setup:包含通用的一些配置選項(xiàng),保持默認(rèn)即可。(9)Power management options:包含電源管理功能,保持默認(rèn)。 驅(qū)動(dòng)程序配置選項(xiàng)幾乎所有Linux的設(shè)備驅(qū)動(dòng)都在“Device Drivers”菜單下,它對(duì)設(shè)備驅(qū)動(dòng)程序加以歸類,放在子菜單下。 編譯 Linux 內(nèi)核正式編譯Linux內(nèi)核之前,應(yīng)當(dāng)清理一下內(nèi)核樹(shù),命令如下:$ make mrproper 文件,所以應(yīng)當(dāng)在配置內(nèi)核之前做。 內(nèi)核映像的下載及運(yùn)行 文件夾內(nèi)。嵌入式系統(tǒng)中通常可以選擇的根文件系統(tǒng)有:Romfs, CRAMFS, RAMFS,JFFS2, EXT2等,甚至還可以使用NFS(網(wǎng)絡(luò)文件系統(tǒng))作為根文件系統(tǒng)。 建立Linux根文件系統(tǒng)目錄嵌入式Linux根文件系統(tǒng)必須包含一些必須的目錄,比如設(shè)備目錄/dev、命令目錄/bin、庫(kù)目錄/lib等等。這部分是整個(gè)課題的基礎(chǔ),之后的所有工作都是在這個(gè)基礎(chǔ)上完成的。將Linux 內(nèi)核和根文件系統(tǒng)部署到開(kāi)發(fā)板后,開(kāi)發(fā)板就可以脫離交叉開(kāi)發(fā)環(huán)境而獨(dú)立運(yùn)行,最終達(dá)到設(shè)計(jì)需求。嵌入式系統(tǒng)的基本開(kāi)發(fā)流程:系統(tǒng)定義
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1