浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » EDA/PLD

基于Qt/Embedded的GUI移植及應(yīng)用程序開發(fā)

發(fā)布時(shí)間:2007/9/11 0:00:00 訪問(wèn)次數(shù):820

隨著互聯(lián)網(wǎng)和移動(dòng)通信技術(shù)的日益成熟,兩者相互滲透和融合的步伐正在加快。21世紀(jì)被譽(yù)為“移動(dòng)之王”時(shí)代,與此同時(shí),嵌入式linux在手機(jī)、PDA(個(gè)人數(shù)字助理)等手持信息設(shè)備領(lǐng)域的應(yīng)用出現(xiàn)了一個(gè)強(qiáng)勁的發(fā)展勢(shì)頭。手持設(shè)備的關(guān)鍵在于人機(jī)交互技術(shù)的體現(xiàn),所以一個(gè)十分友好的圖形用戶界面(GUI)是必不可少的。

1 系統(tǒng)平臺(tái)構(gòu)建

文構(gòu)建的系統(tǒng)是實(shí)現(xiàn)一個(gè)掌上信息處理終端系統(tǒng),集個(gè)人數(shù)字助理應(yīng)用、網(wǎng)絡(luò)應(yīng)用、多媒體應(yīng)用于一身,并成功運(yùn)行在XSbase255嵌入式開發(fā)板上。整個(gè)系統(tǒng)包括四部分:

(1)引導(dǎo)裝載程序(BootLoader),這是一段駐留在開發(fā)板上的代碼,系統(tǒng)上電后首先被執(zhí)行,對(duì)CPU、內(nèi)存等進(jìn)行初始化,完成內(nèi)核映像的裝載和引導(dǎo);

(2)Linux內(nèi)核,是在官方的2.4.18 linux內(nèi)核基礎(chǔ)上,加入了相應(yīng)的硬件驅(qū)動(dòng)和新的文件系統(tǒng)而構(gòu)成的;

(3)圖形用戶界面,采用基于Qt/Embedded的Qtopia桌面環(huán)境;

(4)應(yīng)用程序的編寫與添加。本文重點(diǎn)介紹圖形用戶界面的移植和添加應(yīng)用程序。表1給出了整個(gè)系統(tǒng)平臺(tái)的結(jié)構(gòu)。



表1 系統(tǒng)平臺(tái)構(gòu)建

2 硬件平臺(tái)的選擇

采用XSBase255開發(fā)板,這是一款比較理想的PDA、手機(jī)等等應(yīng)用的開發(fā)系統(tǒng)。采用高性能(400MHz主頻)和低功耗的Intel PXA255 處理器,64Mb SDRAM以及32MB 的FLASH(閃存)組成。640*480分辨率的LG TFT LCD,和觸摸屏驅(qū)動(dòng)ADS7843。PXA255處理器是Intel公司新近推出的取代Strong ARM的新一代嵌入式應(yīng)用處理器,它擁有Thumb壓縮指令、64位長(zhǎng)乘法指令、擴(kuò)展型DSP指令等先進(jìn)特性。PXA255具有眾多的擴(kuò)展接口與無(wú)線接口,可支持PCMCIA、Compact Flash、MMC/SD Card、USB、Bluetooth IF、IrDA等設(shè)備。

3 嵌入式GUI的移植

3.1 Qt/Embedded選取

嵌入式Linux系統(tǒng)的有代表性的GUI系統(tǒng)主要有MiniGUI、MicroWindows、Tiny X以及Qt/Embedded。這些GUI系統(tǒng)在接口定義、體系結(jié)構(gòu)、功能特性等方面存在著很大的差別。

Tiny-X,是標(biāo)準(zhǔn)X-windows在嵌入式系統(tǒng)的小巧實(shí)現(xiàn),作為一個(gè)圖形環(huán)境,X-window是成功的,但由于在體系接口上的原因,限制了它對(duì)游戲、多媒體的支持能力。

MicroWindows,其主要特色在于提供了C/S體系結(jié)構(gòu),同時(shí)也提供了相對(duì)完善的圖形功能。但卻無(wú)任何硬件加速能力,圖形引擎中也存在著許多未經(jīng)優(yōu)化的低效算法。

MiniGUI,是建立在比較成熟的圖形引擎之上,其特點(diǎn)是小巧精致。它盡量保持與Win32的兼容,這樣在Win CE應(yīng)用的場(chǎng)合,也可以使用MiniGUI。

Qt/Embedded,是一個(gè)專門為小型設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng)。提供了豐富的窗口小部件(Widgets),并且還支持窗口部件的定制,因此它可以為用戶提供漂亮的圖形界面。Qt 是 KDE 等項(xiàng)目使用的 GUI 支持庫(kù),所以有許多基于 Qt 的 X Window 程序可以非常方便地移植到 Qt/Embedded 版本上。最終,在分析和比較了各種GUI的特點(diǎn),我們選用Qt/Embedded作為移植對(duì)象。

3.2 Qt/Embedded底層支持分析


不管你選擇的標(biāo)準(zhǔn)如何,大量現(xiàn)成的COTS電路板對(duì)于高性能嵌入式系統(tǒng)開發(fā)過(guò)程來(lái)說(shuō)是至關(guān)重要的。當(dāng)設(shè)計(jì)師拓展技術(shù)邊界時(shí),電路板供應(yīng)商與標(biāo)準(zhǔn)化組織都必須趕緊升級(jí)規(guī)范,并用相應(yīng)產(chǎn)品填補(bǔ)空缺。如果一直成功的COTS產(chǎn)品出現(xiàn)問(wèn)題,則可能是業(yè)界不能決定一種或兩種交換結(jié)構(gòu)技術(shù)。在供應(yīng)商制造的電路板支持多達(dá)6種相互競(jìng)爭(zhēng)結(jié)構(gòu)的情況下,預(yù)計(jì)按同一標(biāo)準(zhǔn)生產(chǎn)的模塊之間的互操作問(wèn)題會(huì)日益嚴(yán)重。Qt/Embedded  以原始  Qt  為基礎(chǔ),并做了許多出色的調(diào)整以適用于嵌入式環(huán)境。Qt/Embedded  通過(guò)  Qt  API  與  Linux  I/O  設(shè)施直接交互,成為嵌入式Linux端口。同Qt/X11相比,Qt/Embedded很省內(nèi)存,因?yàn)樗恍枰粋(gè)X服務(wù)器或是Xlib庫(kù),它在底層撅棄了X lib,采用framebuffer(幀緩沖)作為底層圖形接口。同時(shí),將外部輸入設(shè)備抽象為keyboard和mouse輸入事件。Qt/Embedde的應(yīng)用程序可以直接寫內(nèi)核緩沖幀,這避免開發(fā)者使用繁瑣的Xlib/Server系統(tǒng)。



表2  Qt/Embedded與Qt/X11的比較


Qt/Embedded的底層圖形引擎基于framebuffer,framebuffer出現(xiàn)在2.2.x以上內(nèi)核的版本當(dāng)中的一種驅(qū)動(dòng)程序接口。這種接口采用mmap系統(tǒng)調(diào)用,將顯示設(shè)備抽象為幀緩沖區(qū)。用戶可以將它看成是顯示內(nèi)存的一個(gè)映象,將其映射到進(jìn)程地址空間之后,就可以直接進(jìn)行讀寫操作了,而寫操作可以立即反映在屏幕上。framebuffer驅(qū)動(dòng)程序[1]是最重要的驅(qū)動(dòng)程序之一,正是這個(gè)驅(qū)動(dòng)程序才能使系統(tǒng)屏幕顯示內(nèi)容。其實(shí)現(xiàn)分為兩個(gè)方面:一是對(duì)LCD及其相關(guān)部件的初始化,包括畫面緩沖區(qū)的創(chuàng)建和對(duì)DMA通道的設(shè)置;二是對(duì)畫面緩沖區(qū)的讀寫,具體到代碼為read、write等系統(tǒng)調(diào)用接口。


3.

隨著互聯(lián)網(wǎng)和移動(dòng)通信技術(shù)的日益成熟,兩者相互滲透和融合的步伐正在加快。21世紀(jì)被譽(yù)為“移動(dòng)之王”時(shí)代,與此同時(shí),嵌入式linux在手機(jī)、PDA(個(gè)人數(shù)字助理)等手持信息設(shè)備領(lǐng)域的應(yīng)用出現(xiàn)了一個(gè)強(qiáng)勁的發(fā)展勢(shì)頭。手持設(shè)備的關(guān)鍵在于人機(jī)交互技術(shù)的體現(xiàn),所以一個(gè)十分友好的圖形用戶界面(GUI)是必不可少的。

1 系統(tǒng)平臺(tái)構(gòu)建

文構(gòu)建的系統(tǒng)是實(shí)現(xiàn)一個(gè)掌上信息處理終端系統(tǒng),集個(gè)人數(shù)字助理應(yīng)用、網(wǎng)絡(luò)應(yīng)用、多媒體應(yīng)用于一身,并成功運(yùn)行在XSbase255嵌入式開發(fā)板上。整個(gè)系統(tǒng)包括四部分:

(1)引導(dǎo)裝載程序(BootLoader),這是一段駐留在開發(fā)板上的代碼,系統(tǒng)上電后首先被執(zhí)行,對(duì)CPU、內(nèi)存等進(jìn)行初始化,完成內(nèi)核映像的裝載和引導(dǎo);

(2)Linux內(nèi)核,是在官方的2.4.18 linux內(nèi)核基礎(chǔ)上,加入了相應(yīng)的硬件驅(qū)動(dòng)和新的文件系統(tǒng)而構(gòu)成的;

(3)圖形用戶界面,采用基于Qt/Embedded的Qtopia桌面環(huán)境;

(4)應(yīng)用程序的編寫與添加。本文重點(diǎn)介紹圖形用戶界面的移植和添加應(yīng)用程序。表1給出了整個(gè)系統(tǒng)平臺(tái)的結(jié)構(gòu)。



表1 系統(tǒng)平臺(tái)構(gòu)建

2 硬件平臺(tái)的選擇

采用XSBase255開發(fā)板,這是一款比較理想的PDA、手機(jī)等等應(yīng)用的開發(fā)系統(tǒng)。采用高性能(400MHz主頻)和低功耗的Intel A255 處理器,64Mb SDRAM以及32MB 的FLASH(閃存)組成。640*480分辨率的LG TFT LCD,和觸摸屏驅(qū)動(dòng)ADS7843。A255處理器是Intel公司新近推出的取代Strong ARM的新一代嵌入式應(yīng)用處理器,它擁有Thumb壓縮指令、64位長(zhǎng)乘法指令、擴(kuò)展型DSP指令等先進(jìn)特性。A255具有眾多的擴(kuò)展接口與無(wú)線接口,可支持PCMCIA、Compact Flash、MMC/SD Card、USB、Bluetooth IF、IrDA等設(shè)備。

3 嵌入式GUI的移植

3.1 Qt/Embedded選取

嵌入式Linux系統(tǒng)的有代表性的GUI系統(tǒng)主要有MiniGUI、MicroWindows、Tiny X以及Qt/Embedded。這些GUI系統(tǒng)在接口定義、體系結(jié)構(gòu)、功能特性等方面存在著很大的差別。

Tiny-X,是標(biāo)準(zhǔn)X-windows在嵌入式系統(tǒng)的小巧實(shí)現(xiàn),作為一個(gè)圖形環(huán)境,X-window是成功的,但由于在體系接口上的原因,限制了它對(duì)游戲、多媒體的支持能力。

MicroWindows,其主要特色在于提供了C/S體系結(jié)構(gòu),同時(shí)也提供了相對(duì)完善的圖形功能。但卻無(wú)任何硬件加速能力,圖形引擎中也存在著許多未經(jīng)優(yōu)化的低效算法。

MiniGUI,是建立在比較成熟的圖形引擎之上,其特點(diǎn)是小巧精致。它盡量保持與Win32的兼容,這樣在Win CE應(yīng)用的場(chǎng)合,也可以使用MiniGUI。

Qt/Embedded,是一個(gè)專門為小型設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng)。提供了豐富的窗口小部件(Widgets),并且還支持窗口部件的定制,因此它可以為用戶提供漂亮的圖形界面。Qt 是 KDE 等項(xiàng)目使用的 GUI 支持庫(kù),所以有許多基于 Qt 的 X Window 程序可以非常方便地移植到 Qt/Embedded 版本上。最終,在分析和比較了各種GUI的特點(diǎn),我們選用Qt/Embedded作為移植對(duì)象。

3.2 Qt/Embedded底層支持分析


不管你選擇的標(biāo)準(zhǔn)如何,大量現(xiàn)成的COTS電路板對(duì)于高性能嵌入式系統(tǒng)開發(fā)過(guò)程來(lái)說(shuō)是至關(guān)重要的。當(dāng)設(shè)計(jì)師拓展技術(shù)邊界時(shí),電路板供應(yīng)商與標(biāo)準(zhǔn)化組織都必須趕緊升級(jí)規(guī)范,并用相應(yīng)產(chǎn)品填補(bǔ)空缺。如果一直成功的COTS產(chǎn)品出現(xiàn)問(wèn)題,則可能是業(yè)界不能決定一種或兩種交換結(jié)構(gòu)技術(shù)。在供應(yīng)商制造的電路板支持多達(dá)6種相互競(jìng)爭(zhēng)結(jié)構(gòu)的情況下,預(yù)計(jì)按同一標(biāo)準(zhǔn)生產(chǎn)的模塊之間的互操作問(wèn)題會(huì)日益嚴(yán)重。Qt/Embedded  以原始  Qt  為基礎(chǔ),并做了許多出色的調(diào)整以適用于嵌入式環(huán)境。Qt/Embedded  通過(guò)  Qt  API  與  Linux  I/O  設(shè)施直接交互,成為嵌入式Linux端口。同Qt/X11相比,Qt/Embedded很省內(nèi)存,因?yàn)樗恍枰粋(gè)X服務(wù)器或是Xlib庫(kù),它在底層撅棄了X lib,采用framebuffer(幀緩沖)作為底層圖形接口。同時(shí),將外部輸入設(shè)備抽象為keyboard和mouse輸入事件。Qt/Embedde的應(yīng)用程序可以直接寫內(nèi)核緩沖幀,這避免開發(fā)者使用繁瑣的Xlib/Server系統(tǒng)。



表2  Qt/Embedded與Qt/X11的比較


Qt/Embedded的底層圖形引擎基于framebuffer,framebuffer出現(xiàn)在2.2.x以上內(nèi)核的版本當(dāng)中的一種驅(qū)動(dòng)程序接口。這種接口采用mmap系統(tǒng)調(diào)用,將顯示設(shè)備抽象為幀緩沖區(qū)。用戶可以將它看成是顯示內(nèi)存的一個(gè)映象,將其映射到進(jìn)程地址空間之后,就可以直接進(jìn)行讀寫操作了,而寫操作可以立即反映在屏幕上。framebuffer驅(qū)動(dòng)程序[1]是最重要的驅(qū)動(dòng)程序之一,正是這個(gè)驅(qū)動(dòng)程序才能使系統(tǒng)屏幕顯示內(nèi)容。其實(shí)現(xiàn)分為兩個(gè)方面:一是對(duì)LCD及其相關(guān)部件的初始化,包括畫面緩沖區(qū)的創(chuàng)建和對(duì)DMA通道的設(shè)置;二是對(duì)畫面緩沖區(qū)的讀寫,具體到代碼為read、write等系統(tǒng)調(diào)用接口。


3.

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

聲道前級(jí)設(shè)計(jì)特點(diǎn)
    與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!