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