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

正文內容

基于嵌入式gui的工作日志記錄器的設計與開發(fā)畢業(yè)設計(doc畢業(yè)設計論文)-在線瀏覽

2025-08-14 20:39本頁面
  

【正文】 系統(tǒng)都是商業(yè)化產品,其高昂的價格使許多低端產品的小公司望而卻步;而且,源代碼封閉性也大大限制了開發(fā)者的積極性,因為這些EOS提供給編程人員的,往往只有API應用編程接口,一般以函數(shù)形式出現(xiàn),這些函數(shù)均是不能修改的。Linux操作系統(tǒng)是UNIX操作系統(tǒng)的一種克隆系統(tǒng)。此后借助于因特網(wǎng),經過全世界各地計算機愛好者的共同努力,現(xiàn)已成為當今世界上使用最多的一種UNIX類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。凡遵循國際標準所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實現(xiàn)互聯(lián)。2.多用戶是指系統(tǒng)資源可以被不同用戶各自擁有并使用,即每個用戶對自己的資源有特定的權限,互不影響。3.多任務是現(xiàn)代計算機最主要的一個特點。Linux系統(tǒng)調度每一個進程平等地訪問微處理器。4.穩(wěn)定性強,Linux不屬于任何一家公司,但它卻擁有全世界愿意投入自由軟件的開發(fā)人員。所以,Linux雖不是商業(yè)的產物,但它的質量卻不遜于商業(yè)產品。另外,由于用戶可以免費得到Linux的內核源代碼,因此,用戶可以修改內核源代碼,以便適應新增加的外部設備。Linux在通信和網(wǎng)絡功能方面優(yōu)于其他操作系統(tǒng)。7.可靠的系統(tǒng)安全在Linux操作系統(tǒng)中采取了許多安全技術措施,包括對讀、寫進行權限控制、帶保護的子系統(tǒng)、審計跟蹤、核心授權等,這些措施為網(wǎng)絡多用戶環(huán)境中的用戶提供了必要的安全保障。Linux一開始是基于Intel 386機器設計的,但是隨著網(wǎng)絡的散布,加上有許多工程師致力于各式平臺的移植,使得Linux可以在x8MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SHTransmeta等平臺上運行。9.應用軟件多自由軟件世界里有個很大的特點就是軟件多,授權幾乎都是采用GPL方式,大家都可以自由參考與使用,但是因為這些軟件多半是由設計者利用空余時間開發(fā)的,不以贏利為目的,所以并不能擔保這些軟件完全沒有問題。 Linux內核內核是操作系統(tǒng)的內部核心程序,它向外部提供了對計算機設備的核心管理調用。通常,一個程序會跨越兩個空間。Linux系統(tǒng)使用了單一內核結構。在這樣的發(fā)展過程中,比起結構的清晰,他們更加注重功能的強大和高效率的代碼。 雖然Linux是一個單一內核操作系統(tǒng),但它與傳統(tǒng)的單一內核UNIX操作系統(tǒng)不同。而在Linux中,可以動態(tài)裝入和卸載內核中的部分代碼。在Linux中,可以在需要時自動裝入和卸載模塊。它是整個操作系統(tǒng)的核心,具有獨特的性質[6][7]。進程調度模塊用來負責控制進程對CPU資源的使用,所采取的調度策略是各進程能夠公平合理地訪問CPU,同時保證內核能及時地執(zhí)行硬件操作。文件系統(tǒng)模塊用于支持對外部設備的驅動和存儲,虛擬文件系統(tǒng)模塊通過向所有的外部存儲設備提供一個通用的文件接口,隱藏了各種硬件設備的不同細節(jié),從而提供并支持與其他操作系統(tǒng)兼容的多種文件系統(tǒng)格式。網(wǎng)絡接口模塊提供對多種網(wǎng)絡通信標準的訪問并支持許多網(wǎng)絡硬件[8]。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受。嵌入式GUI要求簡單、直觀、可靠、占用資源小且反應快速,以適應系統(tǒng)硬件資源有限的條件。 總體來講,嵌入式GUI具備以下特點:體積小、運行時耗用系統(tǒng)資源小、上層接口與硬件無關、高度可移植、高可靠性、可配置[9]。由于嵌入式開發(fā)人員對實時嵌入式系統(tǒng)在理解上的不同,是的這些GUI系統(tǒng)在接口定義、體系結構、功能特性等方面存在很大差別,它們所采取的技術路線也有所不同。Qt/Embedded是高端嵌入式設備PDA及手機的主流開發(fā)工具。Qt是KDE等項目使用GUI支持庫,所以有許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上[10][11][12]。此設計的主要工作是在Linux(本次設計所使用的Linux發(fā)行版為紅帽的桌面系統(tǒng)Fedora9)下ARM交叉環(huán)境的搭建,在Windows xp下QT SDK的安裝以及設計編寫工作日志記錄器的主程序。 硬件平臺簡介Mini2440 是一款真正低價實用的ARM9 開發(fā)板,是目前國內性價比最高的一款學習板;它采用Samsung S3C2440 為微處理器,并采用專業(yè)穩(wěn)定的CPU 內核電源芯片和復位芯片來保證系統(tǒng)運行時的穩(wěn)定性。 開發(fā)板主要資源SDRAM存儲系統(tǒng)Mini2440 使用了兩片外接的32M bytes 總共64M bytes 的SDRAM 芯片(型號為:HY57V561620FTP/MT48LC16M16A2),一般稱之為內存,它們并接在一起形成32bit 的總線數(shù)據(jù)寬度,這樣可以增加訪問的速度;因為是并接,故它們都使用了nGCS6 作為片選,CPU 手冊,這就決定了它們的物理起始地址為0x30000000。請注意,本開發(fā)板并非面向手持移動設備設計,因此它并不具備完善的電源管理電路。為了方便用戶外接其他電源,我們還設計了一個電源接口 CON8, 間距的單排插座,中間均為“地”,兩側均為5V。串口S3C2440 本身總共有3 個串口UART0、2,其中UART0,1 可組合為一個全功能的串口,在大部分的應用中,我們只用到3 個簡單的串口功能(本開發(fā)板提供的Linux 和WinCE驅動也是這樣設置的),即通常所說的發(fā)送(TXD)和接收(RXD),它們分別對應板上的CONCONCON3,這3 個接口都是從CPU 直接引出的,是TTL 電平。USB接口本開發(fā)板具有兩種USB 接口,一個是USB Host,它和普通PC 的USB 接口是一樣的,可以接USB 攝像頭、USB 鍵盤、USB 鼠標、優(yōu)盤等常見的USB 外設,另外一種是USB Slave,我們一般使用它來下載程序到目標板,當開發(fā)板裝載了WinCE 系統(tǒng)時,它可以通過ActiveSync軟件和Windows 系統(tǒng)進行同步,當開發(fā)板裝載了Linux 系統(tǒng)時,目前尚無相應的驅動和應用[13][17]。我們將提更加廣泛的 USB Host 外設應用,請經常留意我們網(wǎng)站的更新信息。S3C2440使用了ARM920T內核,它功耗低,非常適合需要控制成本和功耗應用的場合。S3C2440將系統(tǒng)組成縮減至最小,芯片上集成的功能包括:分開的16K指令/數(shù)據(jù)緩存、SDRAM控制器、LCD控制器、4通道DMA、3通道UART、IIC總線、IIS總線、SD主機接口、PWM定時器、看門狗、片上PLL時鐘發(fā)生器、8通道10位AD控制器和觸摸屏接口、攝像頭接口以及帶日歷函數(shù)的實時時鐘。S3C2440具有各種特性,包括:NAND Flash啟動引導、Cache存儲器、時鐘電源管理、中斷控制器、具有脈沖帶寬調制功能的定時器、RTC實時時鐘、通用I/O端口、DMA控制器、LCD控制器STN LCD顯示特性、TFT彩色顯示屏、UART、A/D轉換和觸摸屏接口等等。體系結構:為手持設備和通用嵌入式應用提供片上集成系統(tǒng)解決方案;16/32 位RISC體系結構和ARM920T內核強大的指令集;加強的ARM體系結構MMU用于支持WinCE,EPOC 32和Linux;指令高速存儲緩沖器(ICache),數(shù)據(jù)高速存儲緩沖器(DCache),寫緩沖器和物理地址TAG RAM,減少主存帶寬和響應性帶來的影響;采用ARM920T CPU內核支持ARM調試體系結構;內部高級微控制總線(AMBA)體系結構(,AHB/APB)。 軟件開發(fā)環(huán)境介紹完硬件環(huán)境之后,要實現(xiàn)一個軟件的開發(fā)也必須得有相應的軟件開發(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 經過比較簡單的安裝和設置,依然可以使用root 用戶登錄(大多數(shù)開發(fā)均需要此用戶權限),F(xiàn)edora 10 則需要經過稍微復雜的設置才能使用root。首先下載Fedora 9 dvd iso文件并刻錄成光盤(自己用來開發(fā)的電腦配置太差,如果再用虛擬機的話編譯庫的時候時間會非常慢,而且對虛擬機的穩(wěn)定性總是不放心,故還是使用雙系統(tǒng)即win xp+Fedora 9的開發(fā)環(huán)境)。設置根用戶的密碼,就是在進入系統(tǒng)時用戶名輸入root,之后要輸入的密碼,很重要,必須設置,至少六位以上,之后也基本上只要next就可以了,直到讓你定制系統(tǒng)時,選擇現(xiàn)在定制。安裝完重啟即可。 交叉編譯環(huán)境的搭建在一種計算機環(huán)境中運行的編譯程序,能編譯出在另外一種環(huán)境下運行的代碼,我們就稱這種編譯器支持交叉編譯。簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。同一個體系結構可以運行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結構上運行。我們常用的計算機軟件,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼(比如C代碼)編譯(pile)成計算機可以識別和執(zhí)行的二進制代碼。然而,在進行嵌入式系統(tǒng)的開發(fā)時,運行程序的目標平臺通常具有有限的存儲空間和運算能力,比如常見的 ARM 平臺,其一般的靜態(tài)存儲空間大概是16到32MB,而CPU的主頻大概在100MHz到500MHz之間。為了解決這個問題,交叉編譯工具就應運而生了。所以進行嵌入式開發(fā),搭建交叉編譯環(huán)境是必不可少的步驟。在 Linux 平臺下,要為開發(fā)板編譯內核,圖形界面Qtopia,bootloader,還有其他一些應用程序,均需要交叉編譯工具鏈。Step1:將光盤目錄linux\ 復制到某個目錄下如tmp\,然后進入到該目錄,執(zhí)行解壓命令:cd /tmptar xvzf –C /執(zhí)行該命令,將把 armlinuxgcc 安裝到/usr/loca/arm/ 目錄。圖 41 交叉編譯器版本至此,用于ARM的交叉編譯器已經正確的安裝好了。并解壓在/OPT目錄下。./configure opensource embedded arm xplatform qws/linuxarmg++ nowebkit qtlibtiff qtlibmng qtmousetslib qtmousepc nomouselinuxtpmake amp。 make install或者也可以編譯一個shell腳本文件,代碼如下:/bin/bashrm fr rm fr /usr/local/Trolltech/tar xfvz cd echo yes | ./configure opensource embedded arm xplatform qws/linuxarmg++ nowebkit qtlibtiff qtlibmng qtmousetslib qtmousepc nomouselinuxtpmake amp。 make installcd /usr/local/Trolltech/保存為buildall,并追加其可執(zhí)行權限之后,在命令行輸入./buildall等待編譯結束,就可以了。安裝并配置KDE集成交叉編譯環(huán)境。故而本次設計我也使用了QT Creater這個方便的KDE集成交叉編譯環(huán)境來編譯我要運行到ARM上的應用程序。之后照著其官網(wǎng)上的說明安裝完畢。之后只要去tools/options/qt4選項卡下,選擇剛剛安裝的ARM庫的qmake文件,之后點擊rebuild,當看到qmake路徑旁邊出現(xiàn)了一個綠色的小勾,這樣將QT Creater與我自己編譯的用于ARM的庫文件就配置好了。 移植目的是讓 可以在mini2440 上運行。修改總目錄下的Makefile原export KBUILD_BUILDHOST := $(SUBARCH)ARCH ?= $(SUBARCH)CROSS_COMPILE ?=改為export KBUILD_BUILDHOST := $(SUBARCH)ARCH ?= armCROSS_COMPILE ?= armlinux其中,ARCH 是指定目標平臺為arm,CROSS_COMPILE 是指定交叉編譯器,這里指定的是系統(tǒng)默認的交叉編譯器,如要使用其它的,則要把編譯器的全路徑在這里寫出。執(zhí)行:make s3c2410_defconfig 。編譯時間較長內核移植的目標平臺首先,很關鍵的一點,內核在啟動時,是通過bootloader 傳入的機器碼(MACH_TYPE)確定應啟動哪種目標平臺的,友善之臂已經為mini2440 申請了自己的機器碼為1999,如圖:圖 43 內核移植的機器碼接下來, ,它其實就是國外愛好者為mini2440 移植添加的主要內容了,但我們不用它,把它直接刪除。找到MACHINE_START(S3C2440, SMDK2440),修改為MACHINE_START(MINI2440, FriendlyARM Mini2440 development board)。因為我們要制作自己的mini2440 平臺體系, 中所有的smdk2440 字樣改為mini2440,可以使用批處理命令修改,在vim 的命令模式下輸入:%s/smdk2440/mini2440/g上面這句的意思是:把所有和“smdk2440”匹配的字符串全部替換為“mini2440”,前面的“%s“代表字符串匹配,最后的“g”代表global,是全局的意思,輸入如圖圖 44 內核移植的目標平臺除此之外,還有一個地方需要改動,在mini2440_machine_init(void)函數(shù)中,把smdk_machine_init()函數(shù)調用注釋掉,因為我們后面會編寫自己的初始化函數(shù),不需要調用smdk2440 原來的,如上圖所示。使用Linux 官方自帶的mini2440 配置make zImage 。 開發(fā)板文件系統(tǒng)的構建文件系統(tǒng)是操作系統(tǒng)的重要組成部分,用于控制對數(shù)據(jù)文件及設備的存取
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1