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

正文內(nèi)容

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

  

【正文】 文件。這種方法得益于先前所做的移植工作,優(yōu)點(diǎn)是操作簡(jiǎn)便,可以在線設(shè)置,重啟開發(fā)板即可生效。(3)通過JTAG調(diào)試接口燒寫。其調(diào)用與CFG_NAND_LEGACY 宏有關(guān),如果沒定義CFG_NAND_LEGACY 這個(gè)宏,就按照 start_armboot()調(diào)用 drivers/nand/ 中的 nand_init 函數(shù)(該函數(shù)在 已經(jīng)被實(shí)現(xiàn))默認(rèn)規(guī)定,但還有個(gè) board_nand_init()函數(shù)沒實(shí)現(xiàn),需自己添加。(6)初始化網(wǎng)絡(luò)設(shè)備。此階段要完成的主要工作如下:(1)設(shè)置異常向量,當(dāng)發(fā)生異常時(shí),執(zhí)行 cpu/arm920t/ 中定義的中斷處理函數(shù)。但從最終用戶的角度看,Boot Loader 的作用就是用來(lái)加載操作系統(tǒng),而并不存在所謂的啟動(dòng)加載模式與下載工作模式的區(qū)別。通常,Bootloader是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。no_root_squash:若登陸共享目錄的使用者是 root 的話,則他的權(quán)限將被限 制為匿名使用者,通常他的UID和GID都會(huì)變?yōu)閚obody。點(diǎn)擊菜單中的 “Serial Port”——“Connect”,當(dāng)DNW的標(biāo)題欄出現(xiàn)[COM1,115200bps]的提示后,表明已經(jīng)連接好,此時(shí)才可以使用DNW工具。在 home 目錄中建立下列幾個(gè)子目錄:Boot:用于存放bootloader相關(guān)程序。與目前市場(chǎng)上的眾多商業(yè)的實(shí)時(shí)系統(tǒng)相比,嵌入式Linux除具有內(nèi)核穩(wěn)定,功能強(qiáng)大,支持多種硬件平臺(tái),兼容性好的優(yōu)勢(shì)外,還擁有以下的特點(diǎn):(1)完全開放源代碼嵌入式 Linux完全開放其源代碼,這使得修改,裁剪 Linux成為可能,開發(fā)者可以根據(jù)實(shí)際需要優(yōu)化操作系統(tǒng)代碼,降低整個(gè)系統(tǒng)的開銷與能耗。在所有的寄存器中,有些是在 7種處理器模式下共用的同一個(gè)物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。同時(shí)它還采用了一種叫做Advanced Microcontroller Bus Architecture(AMBA)的新型總線結(jié)構(gòu)。在這個(gè)系統(tǒng)平臺(tái)上可以運(yùn)行導(dǎo)航程序,接受傳感器的數(shù)據(jù) 經(jīng)處理后得到任務(wù)所需要的信息,從而實(shí)施導(dǎo)航任務(wù)??v觀國(guó)際相關(guān)產(chǎn)業(yè)在圖形用戶界面方面的發(fā)展現(xiàn)狀,許多國(guó)際知名公司早已認(rèn)識(shí)到GUI在嵌入式產(chǎn)品方面產(chǎn)生的強(qiáng)大增值功能,以及帶動(dòng)的巨大市場(chǎng)價(jià)值,因此在公司內(nèi)部成立了專門從事GUI研究與設(shè)計(jì)的部門。圖形用戶界面(GUI)是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),以及商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程。嵌入式Linux有著嵌入式導(dǎo)航計(jì)算機(jī)操作系統(tǒng)需要的很多特色:支持多 任務(wù)處理、中斷處理及任務(wù)間通信,性能穩(wěn)定,剪裁性好,開發(fā)與使用都很 方便。此外S3c2410還集成了以下片上功能:(1)16KB指令 Cache和16KB的數(shù)據(jù)Cache;(2)LCD控制器(支持STN和TFT);(3)4通道DMA;(4)3通道UART;(5)2通道USB;(6)4路PWM和 1個(gè)內(nèi)部時(shí)鐘控制器;(7)117個(gè)通用IO,24路外部中斷;(8)16位看門狗定時(shí)器;(9)RTC(實(shí)時(shí)時(shí)鐘);(10)1通道IIC/IIS控制器;(11)NAND Flash控制器;(12)PLL數(shù)字鎖相環(huán)。ARM微處理器的指令結(jié)構(gòu):ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。(2)成本低GPL協(xié)議保證了源自Linux的嵌入式Linux也是開放源代碼的自由軟件。Kernel:用于存放 Linux內(nèi)核源碼。 配置TFTP及NFS服務(wù)TFTP 服務(wù)簡(jiǎn)介:TFTP(Trivial File Transfer Protocol)協(xié)議即簡(jiǎn)單文件傳輸協(xié)議,是TCP/IP協(xié)議族中的一個(gè)用來(lái)在客戶機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。(3)本地測(cè)試NFS:輸入以下命令可以將NFS根目錄掛載到本地的/mnt 目錄中: $ sudo mount :/home/arm/FS/myroot /mnt 此時(shí)/mnt 中的內(nèi)容應(yīng)當(dāng)與NFS根目錄中的內(nèi)容一致。因此,在嵌入式世界里建立一個(gè)通用的Bootloader幾乎是不可能的,不同處理器構(gòu)架都有不同的 Bootloader。啟動(dòng)加載(Bootloading)模式:這種模式也稱為“自主”(Autonomous)模式。(2)設(shè)置CPU的模式為SVC(管理模式,操作系統(tǒng)使用的保護(hù)模式)(3)關(guān)閉看門狗。(7)進(jìn)入U(xiǎn)-boot 的命令循環(huán),接受用戶輸入的命令,執(zhí)行相應(yīng)的工作。如果定義CFG_NAND_LEGACY,就不使用默認(rèn)的nand_init,而調(diào)用自己寫的nand_init函數(shù)了,本課題選擇第二種方式。本課題采用第三種方法。還是以設(shè)置開發(fā)板 IP 地址為例,Uboot 提示符下輸入以下命令:LJD2410 setenv ipaddr LJD2410 saveenv 系統(tǒng)顯示:Saving Environment to NAND...Erasing Nand...Writing to Nand...done 表明新設(shè)置的環(huán)境變量已保存至Flash中的變量區(qū)。(5)/init 包含了內(nèi)核的初始化代碼,內(nèi)核從此處工作。根據(jù)以上原則,本課題選擇SMDK2410作為參考板。 Linux 內(nèi)核的剪裁配置配置內(nèi)核選項(xiàng)是整個(gè)移植過程中很重要的一步,本設(shè)計(jì)使用SMDK2410作為參考開發(fā)板,所以可以參考內(nèi)核中 SMDK2410 開發(fā)板的配置文件,通過以下命令將其復(fù)制到內(nèi)核根文件夾下:$ cp arch/arm/config/ 在此基礎(chǔ)上,根據(jù)本課題的實(shí)際需求進(jìn)行配置增減。(8)Userapace binary formats:包含支持的應(yīng)用程序格式,僅保留“ELF”格式支持,去掉其它。程序默認(rèn)保存為“.config”,此文件位于內(nèi)核根目錄內(nèi),可以直接修改。Linux系統(tǒng)中使用“/”來(lái)唯一表示根文件系統(tǒng)的安裝路徑。通過 TFTP和NFS等網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)高效連接,有利于提高開發(fā)效率。嵌入式系統(tǒng)應(yīng)用范圍:汽車,工業(yè)控制,通信設(shè)備,消費(fèi)電子,商業(yè)終端,航空航天,軍事需求。第三,本文重點(diǎn)介紹了 Linux 系統(tǒng)的移植過程。 NFS 文件系統(tǒng)與Cramfs文件系統(tǒng)NFS(Network File System)是由SUN公司發(fā)展,并于1984年推出的一種文件系統(tǒng)。Linux 版本的編譯已經(jīng)簡(jiǎn)化,使用一個(gè) make 命令就可以完成諸如建 立文件依賴、生成zImage、編譯模塊、安裝模塊等一系列功能。(10)Networking:包含網(wǎng)絡(luò)功能:需要開啟基本功能選項(xiàng)。由于光標(biāo)菜單運(yùn)行時(shí)不依賴于X11圖形軟件環(huán)境,可以運(yùn)行在字符終端上,所以光標(biāo)菜單界面比較通用。按照?qǐng)D41的分區(qū)信息,修改該結(jié)構(gòu)體為:static struct mtd_partition smdk_default_nand_part[] = {[0] = {.name = “Uboot”,.size = 0x00100000,.offset = 0x0,},[1] = {.name = “Kernel”,.offset = 0x00100000,.size = 0x00300000,},[2] = {.name = “RootFS”,.offset = 0x00400000,.size = 0x02800000,},[3] = {.name = “User”,.offset = 0x02d00000,.size = 0x00f00000,},同時(shí)還應(yīng)根據(jù)CPU手冊(cè)修改NAND Flash的讀寫時(shí)序:static struct s3c2410_platform_nand smdk_nand_info = {.tacls= 0,.twrph0= 30,.twrph1= 0,}。(6)/ipc包含了進(jìn)程間通信代碼。Linux 內(nèi)核主要由 5 個(gè)子系統(tǒng)組成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系 統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信。具體操作如下:(1)連接好開發(fā)板和PC主機(jī),主機(jī)安裝并口設(shè)備驅(qū)動(dòng)程序??梢钥吹?nand_init()調(diào)用 NF_Init()函數(shù),使能 NAND Flash 控制器和 NAND Flash;調(diào)用 NF_Reset()函數(shù)置位,NF_WaitRB()查詢 NAND Flash 的狀態(tài),最后再調(diào)用 nand_probe((ulong)nand)函數(shù)探測(cè) NAND Flash。 準(zhǔn)備工作(1)建立開發(fā)板編譯項(xiàng),在頂層Makefile中加入如下兩行: LJD2410_config : unconfig $(MKCONFIG)$(:_config=)arm arm920t LJD2410 NULL s3c24x0 各項(xiàng)意義如下:arm:CPU 的架構(gòu)(ARCH)arm920t:CPU 的類型(CPU),其對(duì)應(yīng)于 cpu/arm920t 子目錄。(5)設(shè)置 cpu 頻率,默認(rèn)頻率比為 FCLK:HCLK:PCLK = 1:2:4,默認(rèn)FCLK的值為120 Mhz,該值為S3C2410手冊(cè)的推薦值。這種模式是 Boot Loader 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時(shí)侯,Bootloader 顯然必須工作在這種模式下。對(duì)于不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運(yùn)行在一塊板子上的Bootloader運(yùn)行在另一塊板子上,一般也要修改其源代碼。GNU的開發(fā)工具都是免費(fèi)的,遵循 GPL協(xié)議,任何人可以從網(wǎng)上獲取。TFTP 服務(wù)在 Linux 系統(tǒng)中有客戶端和服務(wù)器兩個(gè)軟件包。Program:用于存放用戶程序。(3)豐富的實(shí)用軟件支持Linux 提供了大量的實(shí)用程序和各種應(yīng)用軟件。Thumb指令集為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省30% ~40%以上的存儲(chǔ)空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。Bank0 到 Bank6 都采用固定 Bank 起始尋址,用于 ROM 或 SRAM。圖12 嵌入式導(dǎo)航計(jì)算機(jī)硬件平臺(tái)結(jié)構(gòu)圖 本課題的主要工作和研究?jī)?nèi)容本課題的最重目標(biāo)是為嵌入式導(dǎo)航計(jì)算機(jī)移植Linux操作系統(tǒng)。圖形用戶界面的廣泛流行是當(dāng)今計(jì)算機(jī)技術(shù)的重大成就之一,它極大的方便了非專業(yè)用戶的使用,可以通過窗口、菜單方便的進(jìn)行操作。為了適應(yīng)嵌入式設(shè)備對(duì)人機(jī)交互界面的要求,本論文對(duì)基于嵌入式Linux圖形用戶界面的設(shè)計(jì)實(shí)現(xiàn)進(jìn)行了研究。本課題的目的就是針對(duì)其硬件環(huán)境,搭建起一個(gè)高效、穩(wěn)定的嵌入式操 作系統(tǒng)的平臺(tái)。S3c2410 是著名半導(dǎo)體公司 Samsung 推出的一款 32 位 RISC 處理器。,ARM處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與 之對(duì)應(yīng)。一般情況下,嵌入式操作系統(tǒng)可以分為兩類,一類是面向控制、通信等領(lǐng)域的實(shí)時(shí)操作系統(tǒng),如 WindRiver 公司的 VxWorks、ISI 的 pSOS、QNX系統(tǒng)軟件公司的QNX、ATI的 Nucleus等;另一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)操作系統(tǒng),這類產(chǎn)品包括個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、機(jī)頂盒等。使用 Linux 操作系統(tǒng)及其自帶的工具,是目前最權(quán)威的嵌入式Linux系統(tǒng)開發(fā)方式,但是許多操作都是基于命令行的,所以需要扎實(shí)的Linux基礎(chǔ)知識(shí)。圖33 串口屬性設(shè)置運(yùn)行 DNW 工具,選擇菜單“Configuration”——“Options”,按圖 24所示進(jìn)行設(shè)置。本課題要將 home 目錄中 的/home/zp/share 目錄讓 .*的 IP 共享, 則在該文件末尾添加下列語(yǔ)句:/home/arm/FS/myrootfs (rw,sync,no_root_squash)配置參數(shù)說明: rw:具有可擦寫的權(quán)限。$ armlinuxgcc –o Hello $ file HelloHello:ELF 32bit LSB executable ,ARM, version 1(ARM), for GNU/Linux , dynamically linked(uses shared libs), not stripped 4 移植 Bootloader Bootloader 概述簡(jiǎn)單地說,Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。第三類目錄是Uboot 的應(yīng)用程序、工具或者文檔。這前4K完成的主要工作就是 Uboot 啟動(dòng)的第一個(gè)階段(stage1)。(4)外圍設(shè)備初始化,利用 devices_init()函數(shù)實(shí)現(xiàn)。S3c2410處理器帶有NAND Flash控制器,但是Uboot 沒有定義其寄存器地址,修改 include/,加入如下代碼: define oNFCONF 0x00 define oNFCMD 0x04 define oNFADDR 0x08 define oNFDATA 0x0C define oNFSTAT 0x10 define oNFECC 0x14 添加 NAND Flash 讀寫功能Uboot 運(yùn)行至第二階段進(jìn)入 start_armboot()函數(shù)。常用的燒寫方法有如下幾種:(1)將Flash取下,用編程器燒寫。以開發(fā)板的IP地址為例,:define CONFIG_IPADDR 這種方法定義簡(jiǎn)便,但是每次更改環(huán)境變量必須重新編譯、燒寫Uboot程序,操作復(fù)雜,不方便調(diào)試。(4)/include包含了建立內(nèi)核代碼時(shí)所需的大部分庫(kù)文件。移植的難度也取決于兩種硬件平臺(tái)的差異。 ARM amp。(5)Kernel Features:包含內(nèi)核特性相關(guān)選項(xiàng),保持默認(rèn)。(4)由于嵌入式導(dǎo)航計(jì)算機(jī)只使用串口作為輸入輸出接口,所以應(yīng)該剪裁掉那些無(wú)用的驅(qū)動(dòng),包括:并口、ATA及SATA驅(qū)動(dòng)、RAID驅(qū)動(dòng)、ISDN支持、輸入設(shè)備驅(qū)動(dòng)、多媒體設(shè)備支持、USB 支持以及MMC/SD卡支持。當(dāng)內(nèi)核下載完成后,可以通過bootm命令啟動(dòng)內(nèi)核:LJD2410 bootm 0x30008000 6 建立根文件系統(tǒng) 根文件系統(tǒng)概述 根文件系統(tǒng)簡(jiǎn)介對(duì)于嵌入式操作系統(tǒng)而言,僅包含內(nèi)核是不夠的,還必須有文件系
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1