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

正文內(nèi)容

基于嵌入式gui的工作日志記錄器的設(shè)計(jì)與開發(fā)本科畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-24 20:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 問(wèn)CPU,同時(shí)保證內(nèi)核能及時(shí)地執(zhí)行硬件操作。內(nèi)存管理模塊用于確保所有進(jìn)程能夠安全地共享機(jī)器主內(nèi)存區(qū),同時(shí),內(nèi)存管理模塊還支持虛擬內(nèi)存管理方式,使得Linux支持進(jìn)程使用比實(shí)際內(nèi)存空間更多的內(nèi)存容量,并可以利用文件系統(tǒng)把暫時(shí)不用的內(nèi)存數(shù)據(jù)塊交換到外部存儲(chǔ)設(shè)備上去,當(dāng)需要時(shí)再交換回來(lái)。文件系統(tǒng)模塊用于支持對(duì)外部設(shè)備的驅(qū)動(dòng)和存儲(chǔ),虛擬文件系統(tǒng)模塊通過(guò)向所有的外部存儲(chǔ)設(shè)備提供一個(gè)通用的文件接口,隱藏了各種硬件設(shè)備的不同細(xì)節(jié),從而提供并支持與其他操作系統(tǒng)兼容的多種文件系統(tǒng)格式。進(jìn)程間通信模塊子系統(tǒng)用于支持多種進(jìn)程間的信息交換方式。網(wǎng)絡(luò)接口模塊提供對(duì)多種網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的訪問(wèn)并支持許多網(wǎng)絡(luò)硬件[8]。3 嵌入式圖形用戶界面圖形用戶界面(Graphical User Interface,簡(jiǎn)稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶來(lái)說(shuō)在視覺(jué)上更易于接受。 嵌入式GUI概述嵌入式GUI(Graphics User Interface)為嵌入式系統(tǒng)提供了一種應(yīng)用于特殊場(chǎng)合的人機(jī)交互界面。嵌入式GUI要求簡(jiǎn)單、直觀、可靠、占用資源小且反應(yīng)快速,以適應(yīng)系統(tǒng)硬件資源有限的條件。另外,由于嵌入式系統(tǒng)硬件本身的特殊性,嵌入式GUI應(yīng)具備高度可移植性與可裁減性,以適應(yīng)不同的硬件條件和使用需求。 總體來(lái)講,嵌入式GUI具備以下特點(diǎn):體積小、運(yùn)行時(shí)耗用系統(tǒng)資源小、上層接口與硬件無(wú)關(guān)、高度可移植、高可靠性、可配置[9]。 嵌入式GUI的分類目前在常用的嵌入式GUI領(lǐng)域,廣泛使用的有QT/Embedded、Microwindows和MiniGUI三種。由于嵌入式開發(fā)人員對(duì)實(shí)時(shí)嵌入式系統(tǒng)在理解上的不同,是的這些GUI系統(tǒng)在接口定義、體系結(jié)構(gòu)、功能特性等方面存在很大差別,它們所采取的技術(shù)路線也有所不同。三種GUI優(yōu)缺點(diǎn)分析下面以形式總結(jié)以上說(shuō)敘述的三種圖形用戶界面GUI的優(yōu)缺點(diǎn):圖形用戶界面優(yōu)點(diǎn)缺點(diǎn)MiniGUI(1)輕量級(jí)的圖形用戶界面支持(2)系統(tǒng)圖形抽象層(3)多字體和多字符集支持(4)兩個(gè)不同架構(gòu)的版本Minithread和Minilite(1)控件功能不夠豐富(2)C代碼,擴(kuò)展不利Microwindows(1)開源項(xiàng)目(1)典型的基于C/S體系結(jié)構(gòu)(3)最底層是面向圖形輸出和鍵盤、鼠標(biāo)或觸摸屏的驅(qū)動(dòng)程序,中間層提供底層硬件抽象接口(1)無(wú)任何硬件加速能力(2)圖形引擎中存在許多低效算法,同時(shí)未經(jīng)任何優(yōu)化(3)代碼質(zhì)量差Qt/Embedded隨意設(shè)置程序界面的外觀非常容易的根據(jù)硬件特性定制有針對(duì)手機(jī)的Qtopia應(yīng)用套件商用客戶較多當(dāng)移植Qt/Embedded程序到不同平臺(tái)時(shí),只需要重新編譯代碼,而不需要對(duì)代碼進(jìn)行修改程序本地化很容易程序與Java集成很容易代碼量過(guò)大,最好用于flash大的智能手機(jī)結(jié)構(gòu)過(guò)于復(fù)雜,很難進(jìn)行底層太多的擴(kuò)充商用需要一定的授權(quán)費(fèi)用表格 31 三種GUI優(yōu)缺點(diǎn)分析綜上對(duì)比,不難看出,Qt/Embedded是一個(gè)專門為小型設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng)。Qt/Embedded是高端嵌入式設(shè)備PDA及手機(jī)的主流開發(fā)工具。作為一項(xiàng)成熟的技術(shù),KDE桌面系統(tǒng)對(duì)于嵌入式窗口系統(tǒng)的設(shè)計(jì)有很大參考價(jià)值,Qtopia給嵌入式窗口系統(tǒng)提供了很好的框架,提供了豐富的窗口小部件(widgets),并且還支持窗口部件的定制,因此它可以為用戶提供漂亮的圖形界面。Qt是KDE等項(xiàng)目使用GUI支持庫(kù),所以有許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上[10][11][12]。4 嵌入式GUI的開發(fā)軟硬件環(huán)境本章主要介紹設(shè)計(jì)基于GUI的嵌入式工作日志記錄器所用到的軟件和硬件平臺(tái),其中硬件主要是MINI2440開發(fā)板、三星S3C2440處理器而軟件主要是QT集成開發(fā)環(huán)境QT sdk。此設(shè)計(jì)的主要工作是在Linux(本次設(shè)計(jì)所使用的Linux發(fā)行版為紅帽的桌面系統(tǒng)Fedora9)下ARM交叉環(huán)境的搭建,在Windows xp下QT SDK的安裝以及設(shè)計(jì)編寫工作日志記錄器的主程序。Linux內(nèi)核的移植,文件系統(tǒng)的構(gòu)建(包括能在ARM上運(yùn)行的QT/E )與移植。 硬件平臺(tái)簡(jiǎn)介Mini2440 是一款真正低價(jià)實(shí)用的ARM9 開發(fā)板,是目前國(guó)內(nèi)性價(jià)比最高的一款學(xué)習(xí)板;它采用Samsung S3C2440 為微處理器,并采用專業(yè)穩(wěn)定的CPU 內(nèi)核電源芯片和復(fù)位芯片來(lái)保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。mini2440 的PCB 采用沉金工藝的四層板設(shè)計(jì),專業(yè)等長(zhǎng)布線,保證關(guān)鍵信號(hào)線的信號(hào)完整性,生產(chǎn)采用機(jī)器貼片,批量生產(chǎn);出廠時(shí)都經(jīng)過(guò)嚴(yán)格的質(zhì)量控制。 開發(fā)板主要資源SDRAM存儲(chǔ)系統(tǒng)Mini2440 使用了兩片外接的32M bytes 總共64M bytes 的SDRAM 芯片(型號(hào)為:HY57V561620FTP/MT48LC16M16A2),一般稱之為內(nèi)存,它們并接在一起形成32bit 的總線數(shù)據(jù)寬度,這樣可以增加訪問(wèn)的速度;因?yàn)槭遣⒔?,故它們都使用了nGCS6 作為片選,CPU 手冊(cè),這就決定了它們的物理起始地址為0x30000000。電源系統(tǒng)及接口本開發(fā)板的電源系統(tǒng)比較簡(jiǎn)單,直接使用外接的5V 電源,通過(guò)降壓芯片產(chǎn)生整個(gè)系統(tǒng)所需要的三種電壓:、。請(qǐng)注意,本開發(fā)板并非面向手持移動(dòng)設(shè)備設(shè)計(jì),因此它并不具備完善的電源管理電路。整個(gè)系統(tǒng)的電源通斷是由S1 撥動(dòng)開關(guān)控制的,它不能通過(guò)軟件實(shí)現(xiàn)開關(guān)機(jī)。為了方便用戶外接其他電源,我們還設(shè)計(jì)了一個(gè)電源接口 CON8, 間距的單排插座,中間均為“地”,兩側(cè)均為5V。注意,這兩個(gè)5V 并非是相通的,其中一個(gè)連接了外部電源的5V,另外一個(gè)則連接了經(jīng)過(guò)撥動(dòng)開關(guān)S1 之后的5V。串口S3C2440 本身總共有3 個(gè)串口UART0、2,其中UART0,1 可組合為一個(gè)全功能的串口,在大部分的應(yīng)用中,我們只用到3 個(gè)簡(jiǎn)單的串口功能(本開發(fā)板提供的Linux 和WinCE驅(qū)動(dòng)也是這樣設(shè)置的),即通常所說(shuō)的發(fā)送(TXD)和接收(RXD),它們分別對(duì)應(yīng)板上的CONCONCON3,這3 個(gè)接口都是從CPU 直接引出的,是TTL 電平。為了方便用戶使用,其中UART0 做了RS232 電平轉(zhuǎn)換,它們對(duì)應(yīng)于COM0,可以通過(guò)附帶的直連線與PC 機(jī)互相通訊。USB接口本開發(fā)板具有兩種USB 接口,一個(gè)是USB Host,它和普通PC 的USB 接口是一樣的,可以接USB 攝像頭、USB 鍵盤、USB 鼠標(biāo)、優(yōu)盤等常見(jiàn)的USB 外設(shè),另外一種是USB Slave,我們一般使用它來(lái)下載程序到目標(biāo)板,當(dāng)開發(fā)板裝載了WinCE 系統(tǒng)時(shí),它可以通過(guò)ActiveSync軟件和Windows 系統(tǒng)進(jìn)行同步,當(dāng)開發(fā)板裝載了Linux 系統(tǒng)時(shí),目前尚無(wú)相應(yīng)的驅(qū)動(dòng)和應(yīng)用[13][17]。為了方便用戶通過(guò)程序控制USB Slave 和PC 的通斷,我們?cè)O(shè)置了USB_EN 信號(hào),如圖,它使用的CPU 資源為GPC5。我們將提更加廣泛的 USB Host 外設(shè)應(yīng)用,請(qǐng)經(jīng)常留意我們網(wǎng)站的更新信息。 S3C2440處理器簡(jiǎn)介S3C2440AL是16/32位精簡(jiǎn)指令集微處理器,是為應(yīng)用于小型掌上設(shè)備和高性價(jià)比、低功耗、高性能的嵌入式系統(tǒng)應(yīng)用而提供的微控制。S3C2440使用了ARM920T內(nèi)核,它功耗低,非常適合需要控制成本和功耗應(yīng)用的場(chǎng)合。ARM920T實(shí)現(xiàn)了MMU、AMBA總線及Harvard緩存結(jié)構(gòu),每行8字長(zhǎng)度的獨(dú)立16K指令緩存和數(shù)據(jù)緩存。S3C2440將系統(tǒng)組成縮減至最小,芯片上集成的功能包括:分開的16K指令/數(shù)據(jù)緩存、SDRAM控制器、LCD控制器、4通道DMA、3通道UART、IIC總線、IIS總線、SD主機(jī)接口、PWM定時(shí)器、看門狗、片上PLL時(shí)鐘發(fā)生器、8通道10位AD控制器和觸摸屏接口、攝像頭接口以及帶日歷函數(shù)的實(shí)時(shí)時(shí)鐘。S3C2440的主頻為400MHZ,最高頻率可達(dá)533MHz,且功耗只有mW級(jí),是理想的車載電腦的主選芯片。S3C2440具有各種特性,包括:NAND Flash啟動(dòng)引導(dǎo)、Cache存儲(chǔ)器、時(shí)鐘電源管理、中斷控制器、具有脈沖帶寬調(diào)制功能的定時(shí)器、RTC實(shí)時(shí)時(shí)鐘、通用I/O端口、DMA控制器、LCD控制器STN LCD顯示特性、TFT彩色顯示屏、UART、A/D轉(zhuǎn)換和觸摸屏接口等等。S3C2440AL的資源包括:1個(gè)LCD控制器、SDRAM控制器、NAND FLASH控制器、3路UART通道、4路DMA通道、4個(gè)具有PWM功能的計(jì)時(shí)器和一個(gè)內(nèi)部時(shí)鐘、8通道的10位ADC、8通道10位AD控制器、IISBUS接口、IICBUS接口、2個(gè)USB主機(jī)接口、1個(gè)USB設(shè)備接口、SD接口、MMC卡接口、看門狗計(jì)數(shù)器、117位通用I/O口和24位外部中斷源、攝像頭接口和觸摸屏接口。體系結(jié)構(gòu):為手持設(shè)備和通用嵌入式應(yīng)用提供片上集成系統(tǒng)解決方案;16/32 位RISC體系結(jié)構(gòu)和ARM920T內(nèi)核強(qiáng)大的指令集;加強(qiáng)的ARM體系結(jié)構(gòu)MMU用于支持WinCE,EPOC 32和Linux;指令高速存儲(chǔ)緩沖器(ICache),數(shù)據(jù)高速存儲(chǔ)緩沖器(DCache),寫緩沖器和物理地址TAG RAM,減少主存帶寬和響應(yīng)性帶來(lái)的影響;采用ARM920T CPU內(nèi)核支持ARM調(diào)試體系結(jié)構(gòu);內(nèi)部高級(jí)微控制總線(AMBA)體系結(jié)構(gòu)(,AHB/APB)。系統(tǒng)管理器:支持大/小端方式;支持高速總線模式和異步總線模式;尋址空間每bank 128M字節(jié);支持可編程的每bank 8/16/32位數(shù)據(jù)總線帶寬;從bank 0到bank 6都采用固定的bank起始尋址;bank7具有可編程的bank的起始地址和大??;8個(gè)存儲(chǔ)器bank;所有的存儲(chǔ)器bank都具有可編程的操作周期;支持外部等待信號(hào)延長(zhǎng)總線周期;支持掉電式的SDRAM自刷新模式;支持各種型號(hào)的ROM引導(dǎo)[18]。 軟件開發(fā)環(huán)境介紹完硬件環(huán)境之后,要實(shí)現(xiàn)一個(gè)軟件的開發(fā)也必須得有相應(yīng)的軟件開發(fā)環(huán)境,本次開發(fā)環(huán)境的搭建主要包括:1. 操作系統(tǒng)的選擇及安裝;2. 交叉編譯環(huán)境的搭建; 操作系統(tǒng)的選擇及安裝Linux發(fā)行版的選擇:我嘗試了幾種LINUX發(fā)行版的操作系統(tǒng)( lts,Centos5,F(xiàn)edora9,F(xiàn)edora10)Fedora 9 經(jīng)過(guò)比較簡(jiǎn)單的安裝和設(shè)置,依然可以使用root 用戶登錄(大多數(shù)開發(fā)均需要此用戶權(quán)限),F(xiàn)edora 10 則需要經(jīng)過(guò)稍微復(fù)雜的設(shè)置才能使用root。并且按照我嘗試的步驟安裝Fedora 9,不再需要其他補(bǔ)丁之類的繁瑣設(shè)置(ubuntu 就需要經(jīng)常這樣更新設(shè)置,并且ubuntu跟很多常用的發(fā)行版linux在很多設(shè)置方面有些許的不同,所以給像我這樣的初學(xué)者的學(xué)習(xí)帶來(lái)很大的困擾,Centos5雖然同為紅帽集團(tuán)的LINUX,但是它所面向的是服務(wù)器商業(yè)的應(yīng)用,對(duì)很多常用的程序員所要使用到的庫(kù)的支持都不行,特別是缺少tslib的支持,現(xiàn)在網(wǎng)上能找到的tslib對(duì)QT/E的支持都有些問(wèn)題,故而放棄),因此我認(rèn)為Fedora 9 是最適合初學(xué)者的開發(fā)平臺(tái)。首先下載Fedora 9 dvd iso文件并刻錄成光盤(自己用來(lái)開發(fā)的電腦配置太差,如果再用虛擬機(jī)的話編譯庫(kù)的時(shí)候時(shí)間會(huì)非常慢,而且對(duì)虛擬機(jī)的穩(wěn)定性總是不放心,故還是使用雙系統(tǒng)即win xp+Fedora 9的開發(fā)環(huán)境)。首先語(yǔ)言選中文,鍵盤布局選美式鍵盤,網(wǎng)絡(luò)設(shè)置用默認(rèn)的就成,以下就把幾個(gè)比較重要的地方講解下。設(shè)置根用戶的密碼,就是在進(jìn)入系統(tǒng)時(shí)用戶名輸入root,之后要輸入的密碼,很重要,必須設(shè)置,至少六位以上,之后也基本上只要next就可以了,直到讓你定制系統(tǒng)時(shí),選擇現(xiàn)在定制。最主要的就是要在用途中勾選上程序開發(fā)這一項(xiàng),這個(gè)選項(xiàng)意味著當(dāng)你安裝完系統(tǒng)以后便會(huì)有了本次設(shè)計(jì)所需要的庫(kù)而不需要額外的別的庫(kù)文件。安裝完重啟即可。至此Fedora 9的安裝就結(jié)束了,以root用戶進(jìn)入系統(tǒng)后,就可以開始配置交叉編譯環(huán)境。 交叉編譯環(huán)境的搭建在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯。這個(gè)編譯過(guò)程就叫交叉編譯。簡(jiǎn)單地說(shuō),就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。這里需要注意的是所謂平臺(tái),實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。 交叉編譯這個(gè)概念的出現(xiàn)和流行是和嵌入式系統(tǒng)的廣泛發(fā)展同步的。我們常用的計(jì)算機(jī)軟件,都需要通過(guò)編譯的方式,把使用高級(jí)計(jì)算機(jī)語(yǔ)言編寫的代碼(比如C代碼)編譯(pile)成計(jì)算機(jī)可以識(shí)別和執(zhí)行的二進(jìn)制代碼。 我們使用PC平臺(tái)上的Windows工具開發(fā)針對(duì)Windows本身的可執(zhí)行程序,這種編譯過(guò)程稱為native pilation,中文可理解為本機(jī)編譯。然而,在進(jìn)行嵌入式系統(tǒng)的開發(fā)時(shí),運(yùn)行程序的目標(biāo)平臺(tái)通常具有有限的存儲(chǔ)空間和運(yùn)算能力,比如常見(jiàn)的 ARM 平臺(tái),其一般的靜態(tài)存儲(chǔ)空間大概是16到32MB,而CPU的主頻大概在100MHz到500MHz之間。這種情況下,在ARM平臺(tái)上進(jìn)行本機(jī)編譯就不太可能了,這是因?yàn)橐话愕木幾g工具鏈(pilation tool chain)需要很大的存儲(chǔ)空間,并需要很強(qiáng)的CPU運(yùn)算能力。為了解決這個(gè)問(wèn)題,交叉編譯工具就應(yīng)運(yùn)而生了。通過(guò)交叉編譯工具,我們就可以在CPU能力很強(qiáng)、存儲(chǔ)控件足夠的主機(jī)平臺(tái)上(比如PC上)編譯出針對(duì)其他平臺(tái)的可執(zhí)行程序。所以進(jìn)行嵌入式開發(fā),搭建交叉編譯環(huán)境是必不可少的步驟。要進(jìn)行交叉編譯,我們需要在主機(jī)平臺(tái)上安裝對(duì)應(yīng)的交叉編譯工具鏈(cross pilation tool chain),然后用這個(gè)交叉編譯工具鏈編譯我們的源代碼,最終生成可在目標(biāo)平臺(tái)上運(yùn)行的代碼。在 Linux 平臺(tái)下,要為開發(fā)板編譯內(nèi)核,圖形界面Qtopia,bootloader,還有其他一些應(yīng)用程序,均需要交叉編譯工具鏈。之前的系統(tǒng),要使用不同的編譯器版本才能正常編譯各個(gè)部分,因此要在開發(fā)過(guò)程不斷切換設(shè)置,這十
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1