摘要:本文主要闡述了利用嵌入式操作系統(tǒng)VxWorks的圖形開發(fā)組件WindML進(jìn)行圖形界面開發(fā)的相關(guān)技術(shù),并且總結(jié)出了程序設(shè)計(jì)的總體框架以及一些在實(shí)際編程中遇到的問題的解決方法,實(shí)現(xiàn)了WindML功能的擴(kuò)展。關(guān)鍵詞:嵌入式操作系統(tǒng);圖形界面;VxWorks引言嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,顯然,嵌入式系統(tǒng)中的操作系統(tǒng)是整個(gè)系統(tǒng)的核心部分。VxWorks作為性能優(yōu)秀的嵌入式操作系統(tǒng),
摘 要: 本文主要闡述了利用嵌入式操作系統(tǒng)VxWorks的圖形開發(fā)組件WindML進(jìn)行圖形界面開發(fā)的相關(guān)技術(shù),并且總結(jié)出了程序設(shè)計(jì)的總體框架以及一些在實(shí)際編程中遇到的問題的解決方法,實(shí)現(xiàn)了WindML功能的擴(kuò)展。
關(guān)鍵詞: 嵌入式操作系統(tǒng);圖形界面;VxWorks
引言
嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,顯然,嵌入式系統(tǒng)中的操作系統(tǒng)是整個(gè)系統(tǒng)的核心部分。VxWorks作為性能優(yōu)秀的嵌入式操作系統(tǒng),不論是在可靠性、實(shí)時(shí)性、可裁減性方面,還是在開放性、易用性等方面都是相當(dāng)不錯(cuò)的。
本文主要利用WindML解決了嵌入式系統(tǒng)一般圖形開發(fā)中所遇到的問題,對個(gè)別實(shí)現(xiàn)中的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)闡述,并且總結(jié)出了圖形界面開發(fā)的一般流程以供借鑒。
VxWorks概述
VxWorks操作系統(tǒng)是美國Wind River公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),它十分靈活,具有多達(dá)1800個(gè)功能強(qiáng)大的應(yīng)用程序接口(API);其次,它適用面廣,可以用于從最簡單到最復(fù)雜的產(chǎn)品設(shè)計(jì);再次,它可靠性高,可以用于從防抱死剎車系統(tǒng)到星際探索的關(guān)鍵任務(wù);最后,它適應(yīng)性強(qiáng),可以用于所有流行的
CPU平臺。VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)包括微內(nèi)核 Wind、高級的網(wǎng)絡(luò)支持、強(qiáng)有力的文件系統(tǒng)和I/O管理、C++和
其它標(biāo)準(zhǔn)支持等核心功能。
Tornado及WindML概述
WindML概述
WindML(Wind媒體庫)提供了對運(yùn)行在嵌入式系統(tǒng)上的多媒體應(yīng)用程序的支持,以及用來開發(fā)可定制的標(biāo)準(zhǔn)化設(shè)備驅(qū)動(dòng)程序的框架。并且,WindML提供了一系列工具用來處理輸入設(shè)備和過程事件。以上這些功能絕大部分都由WindML提供的API來完成。
WindML由兩個(gè)部分組成:軟件開發(fā)工具箱(SDK)和硬件開發(fā)工具箱(DDK)。
SDK用來開發(fā)應(yīng)用程序,在圖形、輸入處理、多媒體、字體和
內(nèi)存管理等方面,提供了全面的API,并且允許開發(fā)者在不同的硬件平臺下完成獨(dú)立于硬件的簡單代碼。
DDK用來完成驅(qū)動(dòng)程序的開發(fā),它提供了一系列完整的通常硬件配置情況下的驅(qū)動(dòng)程序參考,以及一系列能使開發(fā)者迅速開發(fā)出驅(qū)動(dòng)程序的API。DDK具有可擴(kuò)展性和可定制性。DDK是SDK與硬件之間的中間層,直接與應(yīng)用對象的硬件設(shè)備(包括顯示器、視頻、音頻、鍵盤和鼠標(biāo)等)相連接。
圖1 自動(dòng)隱藏流程圖
圖2 窗口互鎖流程圖圖形界面開發(fā)技術(shù)
程序總體框架
幾乎所有實(shí)際應(yīng)用方面的編程都有一個(gè)框架可以遵循,利用WindML的圖形開發(fā)也不例外。雖然,它限制了一些有個(gè)性和特色的程序的出現(xiàn),但它畢竟能夠減少編程時(shí)的錯(cuò)誤,而且能夠提高編程的效率。圖形開發(fā)設(shè)計(jì)的總體框架主要是調(diào)用
uglInitialize完成 UGL (通用圖形庫)初始化,設(shè)備驅(qū)動(dòng)裝載,創(chuàng)建圖形環(huán)境變量完成對所有資源的釋放,并退出。
基本操作簡要介紹
二維圖形庫
● 繪圖基本要素:基本的圖形是由簡單的幾何要素組成的,包括橢圓、直線、多邊形。
● 文字渲染和字體管理:提供了一種簡便的方法將文本信息繪制到顯示設(shè)備上。
● 位圖管理: API提供了一個(gè)簡便的機(jī)制用來創(chuàng)建和渲染單色、彩色和透明位圖圖像至顯示設(shè)備。
● 圖形指針管理:指針是一個(gè)由應(yīng)用程序創(chuàng)建的,并由指針設(shè)備定位到屏幕上的圖像。它支持
254種顏色以及透明色和反向像素。