【正文】
,但Client的窗口是自管理的,而且圖形操作是應(yīng)用程序自己完成的。對(duì)于應(yīng)用程序開發(fā)者來說,幾乎感覺不到Qt/Embedded客戶/服務(wù)器模型的存在,而只需要如同開發(fā)PC機(jī)的Qt程序一樣來開發(fā)Qt/Embedded應(yīng)用程序即可。在Qt/Embedded中,QWSServer類主要完成服務(wù)器的構(gòu)建,QWSDisplay則主要完成客戶端的構(gòu)建。 Qt/Embedded分析Qt/Embedded是Troll tech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本,Qt是KDE等項(xiàng)目使用的GUI支持庫(kù),許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded上。 按鈕:菜單中,利用程度高的命令用圖形表示出來,配置在應(yīng)用程序中,成為按鈕。數(shù)據(jù)管理程序,即在文件夾中用戶數(shù)據(jù)的管理、進(jìn)行特定數(shù)據(jù)管理的程序的情況下,數(shù)據(jù)通過圖標(biāo)顯示出來。一般使用鼠標(biāo)的第一按鈕進(jìn)行操作。 菜單:將系統(tǒng)可以執(zhí)行的命令以階層的方式顯示出來的一個(gè)界面。這種情況下,窗口的管理簡(jiǎn)單化,但是操作變?yōu)殡p重管理。在這種情況下,數(shù)據(jù)和顯示窗口的數(shù)量是一樣的。在窗口中,用戶可以在窗口中操作應(yīng)用程序,進(jìn)行數(shù)據(jù)的管理、生成和編輯。 墻紙,即桌面背景。在桌面上由于可以重疊顯示窗口,因此可以實(shí)現(xiàn)多任務(wù)化。Qt/Embedded 對(duì)存儲(chǔ)內(nèi)存的需求約在800kB到3MB(Intel 下x86)。Qt/Embedded是Qt的嵌入式Linux端口,是完整的自包含C++GUI和基于Linux的嵌入式平臺(tái)開發(fā)工具。Qt是完全面向?qū)ο蟮暮苋菀讛U(kuò)展,并且允許真正地組件編程。同時(shí)MiniGUI又將盡力與微軟的 MSWindows API保持兼容。 MiniGUI也是一個(gè)窗口系統(tǒng),他的主要組成元素是窗口,在這個(gè)基礎(chǔ)上 MiniGUI 中的窗口可以基本分四類,分別為主窗口、對(duì)話框、控件和主窗口中的窗片。由于其基于匯編實(shí)現(xiàn)的內(nèi)核并利用MMX指令進(jìn)行了優(yōu)化,OpenGUI運(yùn)行速度非???,可以用UltraFast形容,它支持32位的機(jī)器,能夠在MSDOS,QNX5和Linux下運(yùn)行,主要用來在這些系統(tǒng)中開發(fā)圖形應(yīng)用程序和游戲。OpenGUI支持鼠標(biāo)和鍵盤的事件。它和MiniGUI一樣,也是使用LGPL許可證。比如,應(yīng)用程序的用戶界面就需要精心定制,來方便用戶在較小尺寸的屏幕上輸入輸出;又如,嵌入式系統(tǒng)上的應(yīng)用程序一般不允許崩潰,所以必須采取安全有效的內(nèi)存管理策略保證程序的可靠性。用戶模型包含了顯示和交互的主要特征?!狽FS 網(wǎng)絡(luò)文件系統(tǒng),可方便調(diào)試應(yīng)用程序以及驅(qū)動(dòng)程序。,支持的文件系統(tǒng)有:——Yaffs 可讀寫的文件系統(tǒng),默認(rèn)使用。最值得注意的改進(jìn)是擴(kuò)展屬性(或文件元數(shù)據(jù))的引入。不但可以支持更多類型的設(shè)備,而且支持更多同類型的設(shè)備。用戶和組,惟一用戶和組的數(shù)量從65000增至40多億,也就是從16位增加到了32位??焖儆脩艨臻g互斥(Fast UserSpace Mutexes),“futexes”(快速用戶空間互斥)可以使線程串行化以避免競(jìng)態(tài)條件,引入它也提高了響應(yīng)速度。新的調(diào)度器基于每個(gè)CPU來分布時(shí)間片,這樣就消除了全局同步和重新分配循環(huán),從而提高了性能。NPTL為L(zhǎng)inux帶來了企業(yè)級(jí)線程支持,提供的性能遠(yuǎn)遠(yuǎn)超過了Linux Threads。內(nèi)存支持,NUMA支持,支持更大數(shù)量的RAM。(4)即插即用支持:。(3)統(tǒng)一設(shè)備模型:。這樣穩(wěn)定版本來源于上一個(gè)測(cè)試版升級(jí)版本號(hào),而一個(gè)穩(wěn)定版本發(fā)展到完全成熟后就不再發(fā)展。而內(nèi)存管理子系統(tǒng)也會(huì)使用文件系統(tǒng)來支持內(nèi)存數(shù)據(jù)塊的交換操作。進(jìn)程調(diào)度子系統(tǒng)需要使用內(nèi)存管理來調(diào)整一特定進(jìn)程所使用的物理內(nèi)存空間。通常,一個(gè)模塊會(huì)在等待硬件操作期間被掛起,而在操作完成后才可繼續(xù)運(yùn)行?! ∵@幾個(gè)模塊之間的依賴關(guān)系如圖21所示。虛擬文件系統(tǒng)模塊通過向所有的外部存儲(chǔ)設(shè)備提供一個(gè)通用的文件接口,隱藏了各種硬件設(shè)備的不同細(xì)節(jié)。所采取的調(diào)度策略是各進(jìn)程能夠公平合理地訪問CPU,同時(shí)保證內(nèi)核能及時(shí)地執(zhí)行硬件操作。Red Hat、Novell、Debian和Gentoo等Linux發(fā)行商都采用Linux內(nèi)核,然后加入更多的工具、庫(kù)和應(yīng)用程序來構(gòu)建一個(gè)完整的操作系統(tǒng)。當(dāng)Linux非常接近于一種可靠的/穩(wěn)定的系統(tǒng)時(shí)。整個(gè)故事從兩個(gè)在端終上打印AAAA...和BBBB...的進(jìn)程開始的。T許可協(xié)議的約束,為教學(xué)科研提供一個(gè)操作系統(tǒng)。完成這個(gè)控制工作的軟件就稱為操作系統(tǒng),在Linux的術(shù)語中被稱為“內(nèi)核”,也可以稱為“核心”。 linux內(nèi)核描述操作系統(tǒng)是一個(gè)用來和硬件打交道并為用戶程序提供一個(gè)有限服務(wù)集的低級(jí)支撐軟件。Linux的低成本和開放性,使其廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域。(5)設(shè)備獨(dú)立性:是指操作系統(tǒng)把所有外部設(shè)備統(tǒng)一當(dāng)作文件看待,只要安裝它們的驅(qū)動(dòng)程序,任何用戶都可以像使用文件一樣,操縱、使用這些設(shè)備,而不必知道它們的具體形式。(3)多任務(wù):是現(xiàn)代計(jì)算機(jī)的主要的一個(gè)特點(diǎn),是指計(jì)算機(jī)同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行互相獨(dú)立?,F(xiàn)今Linux已經(jīng)在嵌入式領(lǐng)域顯示了強(qiáng)勁的發(fā)展勢(shì)頭。也就是說,如果今天用Linux環(huán)境開發(fā)產(chǎn)品,那么將來換CPU就不會(huì)遇到困擾。到目前為止,它可以支持二三十種CPU。購(gòu)買費(fèi)用媒介成本技術(shù)支持全世界的自由軟件開發(fā)者提供支持網(wǎng)絡(luò)特性免費(fèi),而且性能優(yōu)異,軟件移植容易,代碼開放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短,新產(chǎn)品上市迅速,因?yàn)橛性S多公開的代碼可以參考和移植,實(shí)時(shí)性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實(shí)時(shí)性能穩(wěn)定性好安全性好。嵌入式linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。常用的嵌入式操作系統(tǒng)有如下幾種:WinCE,Vxworks,Symbian,Linux,uClinux,ETLinux等。外圍設(shè)備在嵌入式系統(tǒng)中主要用于完成存儲(chǔ)、通信、調(diào)試、顯示等輔助功能,如存儲(chǔ)器及外設(shè)器件和I/O端口、圖形控制器等。兩種定義分別是在不同方面來闡述嵌入式系統(tǒng)的特點(diǎn),可以將嵌入式系統(tǒng)簡(jiǎn)單的理解為一種軟件和硬件的綜合體,將電子、計(jì)算機(jī)技術(shù)與具體應(yīng)用相結(jié)合后的產(chǎn)物,是一種體型小巧、功能強(qiáng)大的集成系統(tǒng)。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)則控制著應(yīng)用程序編程與硬件的交互作用。 嵌入式系統(tǒng)概述嵌入式系統(tǒng)是集軟、硬件于一體的可獨(dú)立工作的“器件”。嵌入式系統(tǒng)有別于一般的計(jì)算機(jī)處理系統(tǒng),它不具備像硬盤那樣大容量的存儲(chǔ)介質(zhì),而大多使用閃存(Flash Memory)作為存儲(chǔ)介質(zhì)。作為一項(xiàng)成熟的技術(shù),KDE(Koll Desktop Environment,k桌面環(huán)境)桌面系統(tǒng)對(duì)于嵌入式窗口系統(tǒng)的設(shè)計(jì)有很大參考價(jià)值,Qt/Embedded給嵌入式窗口系統(tǒng)提供了很好的框架,提供了豐富的窗口小部件(Widgets),并且還支持窗口部件的定制,因此它可以為用戶提供漂亮的圖形界面。隨著嵌入式Linux技術(shù)的成熟,定制需要的尺寸尤為方便,同時(shí)支持更多平臺(tái),并從早期的試用階段邁進(jìn)到成為嵌入式市場(chǎng)的主流。據(jù)調(diào)查,目前國(guó)際上有兩百多種嵌入式操作系統(tǒng),這些嵌入式操作系統(tǒng)可以分為實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng)兩種。 研究目的和意義目前,在 Linux下應(yīng)用軟件開發(fā)領(lǐng)域急需一種容易學(xué)習(xí)、成本低、效率高的GUI應(yīng)用程序開發(fā)方法,以解決Linux應(yīng)用程序的易用性不高,應(yīng)用范圍相對(duì)狹窄的問題。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。嵌入式Linux具有可用于多種硬件平臺(tái)、源碼開放、內(nèi)核高效穩(wěn)定等優(yōu)點(diǎn),使其成為嵌入式領(lǐng)域主流的嵌入式操作系統(tǒng)。嵌入式系統(tǒng)的飛速發(fā)展離不開嵌入式處理器和嵌入式操作系統(tǒng)的發(fā)展。嵌入式系統(tǒng)指的是把計(jì)算機(jī)系統(tǒng)作為一個(gè)信息處理部件嵌入到應(yīng)用系統(tǒng)中而形成的系統(tǒng),是適應(yīng)具體應(yīng)用系統(tǒng)在功能、可靠性、成本及功耗諸多方面更多的綜合要求的專用計(jì)算機(jī)系統(tǒng),它是計(jì)算機(jī)技術(shù)追求經(jīng)濟(jì)型、小型化、可靠性、高速度和智能型的必然結(jié)果。關(guān)鍵詞 linux C語言 qt 嵌入式 S3C2440ALCompile using qt based on Linux platform digital photo frameAbstract The modern age rapid development of science and technology, and human history is about to enter a new era. Embedded Linux system has been more and more close to our life, Linux is the most popular free puter operating system kernel. It is a C language and in assembly language, accord with the POSIX of Unix operating system. Embedded Linux is will increasingly popular Linux operating system, can cut out modification in embedded puter system running on an operating system. Embedded Linux inherits the Internet on unlimited resources, and open source operating system has the characteristics of embedded. This paper briefly introduces the Linux platform based on QT in the digital photo frame, piled using the Embedded Linux kernel and QT to MiniGUI, Microwindows/Embedded security, such as graphical user interface Embedded the technical characteristics, and introduced the key application QT/Embedded security transplant a GUI application to Mini2440 experiment board process, in which Mini2440 experiment board, use S3C2440AL chip, and kernel.Keywords Linux C language qt embedded S3C2440AL目錄1. 前言 1 研究背景 1 研究目的和意義 22. 嵌入式系統(tǒng)和嵌入式Linux 4 嵌入式系統(tǒng)概述 4 嵌入式linux 6 嵌入式Linux的特點(diǎn)和優(yōu)勢(shì) 6 7 linux內(nèi)核描述 8 linux內(nèi)核系統(tǒng)體系結(jié)構(gòu) 9 113. 嵌入式Linux系統(tǒng)GUI設(shè)計(jì)分析 13 圖形用戶界面概述 14 嵌入式系統(tǒng)的GUI簡(jiǎn)介 14 GUI的組成 17 Qt/Embedded分析 19 Qt/Embedded的工作模式 19 Qt/Embedded中客戶端/服務(wù)器通信方式 214 QT技術(shù) 22 QT的優(yōu)勢(shì) 22 QT圖形用戶界面 23 QT Creator的特點(diǎn)以及優(yōu)勢(shì) 235 軟硬件開發(fā)環(huán)境 24 25 Mini2440特點(diǎn) 25 Mini2440開發(fā)板硬件資源特性 26 27 28 Linux內(nèi)核和yaffs文件系統(tǒng)移植 316 數(shù)碼相框程序的移植過程 33 移植QT 33 QT源代碼編譯 33 交叉編譯 34 程序開發(fā) 34 主程序中創(chuàng)建類 34 制定程序框架 35 編輯調(diào)試程序 35 各個(gè)功能的程序設(shè)計(jì) 36 文件管理模塊的設(shè)計(jì) 36 圖片播放模塊的設(shè)計(jì) 39 系統(tǒng)設(shè)置模塊的設(shè)計(jì) 41 設(shè)計(jì)成果 437 結(jié)論 44謝辭 45參考文獻(xiàn) 461. 前言21世紀(jì),隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,人類歷史即將進(jìn)入一個(gè)嶄新的時(shí)代──信息時(shí)代。它是一個(gè)用C語言和匯編語言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix操作系統(tǒng)。嵌入式Linux系統(tǒng)已經(jīng)越來越貼進(jìn)我們的生活,Linux是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。本文簡(jiǎn)要介紹在Linux平臺(tái)上基于QT編譯數(shù)碼相框,其中運(yùn)用到了嵌入式Linux內(nèi)核以及Qt/Embedded,MiniGUI,Microwindows等嵌入式圖形用戶界面的技術(shù)特點(diǎn),并重點(diǎn)介紹應(yīng)用Qt/Embedded移植一個(gè)圖形界面程序到Mini2440實(shí)驗(yàn)板的過程,其中Mini2440實(shí)驗(yàn)板,采用S3C2440AL芯片。嵌入式系統(tǒng)得到迅猛發(fā)展和普及,嵌入式技術(shù)的研究與發(fā)展成為當(dāng)前的一個(gè)熱點(diǎn)話題。近年來,隨著計(jì)算機(jī)、微電子、通信及網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式系統(tǒng)已經(jīng)應(yīng)用于工業(yè)控制、家用電器等領(lǐng)域,并廣泛用于移動(dòng)計(jì)算機(jī)平臺(tái)、信息家電、無線通信設(shè)備、電子商務(wù)平臺(tái)及軍事設(shè)備。嵌入式操作系統(tǒng)方面,開源系統(tǒng)Linux由于很多程序員的加入,使其不斷的在發(fā)展壯大。目前,嵌入式技術(shù)已成為通信和消費(fèi)類產(chǎn)品的共同發(fā)展方向。Linux是現(xiàn)代操作系統(tǒng)的典型代表,具有靈活性高、移植性強(qiáng)、可靠性好,支持多種硬件體系結(jié)構(gòu)、源代碼開放等特點(diǎn),所以在Linux的基礎(chǔ)上,借鑒它