基于S3C2440的WindML圖形驅(qū)動設(shè)計(jì)
O 引言
隨著信息技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域越來越廣,嵌入式系統(tǒng)對圖形用戶界面的需求日趨增強(qiáng)。VxWorks是美國WindRiver公司開發(fā)的一款高性能、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng)。它以良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用于通信、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通信、飛機(jī)導(dǎo)航等。
WindML(wind media library)是嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks提供的一個(gè)可裁減的多媒體組件。該組件庫支持基于嵌入式系統(tǒng)的多媒體應(yīng)用程序,為各種嵌入式操作系統(tǒng)提供基本的圖形、視頻和音頻技術(shù),并可以開發(fā)基于這些操作系統(tǒng)的設(shè)備驅(qū)動。它提供一套與硬件無關(guān)的邏輯API給應(yīng)用層調(diào)用,而給底層提供不同硬件構(gòu)架的驅(qū)動,使程序具有很好的移植性和可擴(kuò)展性。本文主要討論在S3C2440微控制器上實(shí)現(xiàn)LCD驅(qū)動程序和鍵盤驅(qū)動程序的方法。
1 S3C2440和WindML簡介
S3C2440是三星推出的16/32 b RISC微處理器。S3C2440是一款專用的以手持設(shè)備為主而設(shè)計(jì)的芯片,其特點(diǎn)有低功耗、高速的處理計(jì)算能力,采用ARM920T內(nèi)核AMBA總線構(gòu)架,實(shí)現(xiàn)了MMU和哈佛緩存體系構(gòu)架,有高達(dá)400 MHz的系統(tǒng)頻率。此外,S3C2440帶有LCD專用控制器和專用DMA通道、IIS音頻總線接口、AC97解碼總線接口及SPI,I2C,USB等總線接口,非常適用于手持設(shè)備。
Wind媒體庫(WindML)支持在嵌入式系統(tǒng)上運(yùn)行多媒體應(yīng)用程序,提供基本的圖形、視頻和音頻技術(shù)。WindML包括兩個(gè)組成部分:軟件開發(fā)工具包(SDK)和驅(qū)動開發(fā)工具包(DDK),如圖1所示。
SDK組件用于開發(fā)應(yīng)用程序。它為圖形、輸入處理、多媒體、字體和內(nèi)存管理提供了一個(gè)廣泛的API,允許開發(fā)者為不同硬件平臺書寫硬件獨(dú)立的可移植代碼。DDK組件適用于實(shí)現(xiàn)驅(qū)動程序。它為通用硬件配置提供一系列完整的參考驅(qū)動程序。DDK是可擴(kuò)展的、自定義的。Win-dML有多層架構(gòu),不同的功能被抽象到不同的層中。
WindML中定義了圖形驅(qū)動、視頻驅(qū)動、字體驅(qū)動、輸入驅(qū)動和音頻驅(qū)動。
2 LCD驅(qū)動程序設(shè)計(jì)
WindML圖形驅(qū)動主要通過2D層、板級支持包及操作系統(tǒng)和圖形硬件設(shè)備3層進(jìn)行通信。體系結(jié)構(gòu)如圖2所示。
評論