日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件

摘要:本文主要分析介紹了Vxworks系統(tǒng)的媒體庫WindML的結構和特點,并嘗試在嵌入式系統(tǒng)下,特別是在更具難度的Vxworks系統(tǒng)下,進行移植WorldWind軟件。

隨著多媒體信息技術、互聯(lián)網技術、通信技術產品智能化趨勢的加強,嵌入式系統(tǒng)以其占用內存少、高性能、具有完全的可伸縮性、性能穩(wěn)定等特點得到了越來越廣泛的應用。

其應用主要包括網絡通信、航空航天、醫(yī)療儀器、狀態(tài)監(jiān)控以及消費電子產品等領域。是美國VxWorks WindRiver System Inc.公司推出的強實時嵌入式操作系統(tǒng),它在高可靠、高實時性、高性能領域有獨到的優(yōu)勢和廣泛的應用,特別是因為成功應用于火星探路器而名聲大噪。本文將主要圍繞VxWorks操作系統(tǒng)的圖形用戶接口的實現(xiàn)機制進行分析,討論WorldWind軟件的移植。

1 WorldWind 軟件概述

NASA 就是我們所熟知的美國航天宇航局,在美國的高調宣傳之下與FBI 一樣如雷貫耳,能夠使用NASA 所開發(fā)的軟件會不會有一種特殊的心情呢?WorldWind(簡稱WW)就是一款出身高貴的軟件,擁有NASA 的血統(tǒng)。同時它也是一款特殊的軟件。華麗的界面,出彩的圖象,完全自主的功能應用,完全可以和GoogleEarth(簡稱GE)軟件相媲美。它與GoogleEarth最大的優(yōu)勢在于它的代碼開源,這樣便于我們更加深入的了解他。這也是WW 比GE 更受大家的青睞的最重要的原因。同時也為我們這些愛好者移植該軟件提供了方便。

1.1 Add-On 功能

WW 是一款可以讓用戶通過從太空視角全面觀察地球表面的軟件,以他優(yōu)秀的衛(wèi)星圖庫與地形資料,通過3D 技術的應用,讓用戶擁有身臨其境的感覺。與同類型軟件一樣,亦可以使用圖層功能來方便使用者更快的索取自己想要的信息。不過不同的是WW 的圖層更為強大。這一切都得益于他的一個名為Add-On 的功能。此功能讓你不光可以享有官方所提供的圖層數(shù)據(jù),更為讓人興奮的是由于WW 為開源軟件,他允許其他第三方人員為它提供編寫的成品圖層功能。圖層是做什么用的?簡單的來說,如果WW 給我們提供的模型球體是這款軟件的骨架,那么圖層則就是WW 的血脈,肌肉。兩者是相輔相成的關系,骨架固然重要,但是人與人的不同并不簡單的體現(xiàn)在骨架上,更多的是依靠血脈,肌肉來體現(xiàn)。這個功能就是為了讓軟件更為豐滿,給于其很高的增長潛力,而同類型的 GE 則較之遜色的多了。

1.2 DDS 圖片WW 默認設置中將下載到本地的圖片(一般是jpg 格式)轉換為dds 格式,這樣本地的cache 中都是dds 文件,一般說來同樣分辨率的dds 文件比jpg 文件大。我通過修改默認設置,不讓WW 轉為dds 格式,直接用jpg 格式,發(fā)現(xiàn)WW 中顯示效果差不多,地形也能正確渲染。

DDS 是DirectDraw Surface 的縮寫,它是DirectX 紋理壓縮(DirectX TextureCompression,簡稱DXTC)的產物。許多3D 軟件包括大部分游戲都用dds 格式,又稱“貼圖”,許多fans 通過修改dds 文件可以生成特殊顯示效果。在WW 中也用到了其它格式的圖片:JPEG:(文件擴展名為jpg 或jpeg)應用最廣泛的圖片格式之一,它采用一種特殊的有損壓縮算法,將不易被人眼察覺的圖像顏色刪除,從而達到較大的壓縮比(可達到2:1 甚至40:1),所以“身材嬌小,容貌姣好”,特別適用于網絡環(huán)境。

PNG:與JPEG 格式類似,網頁中有很多圖片都是這種格式,壓縮比高于GIF,支持圖像透明,可以利用Alpha 通道調節(jié)圖像的透明度。BMP:Windows 系統(tǒng)下的標準位圖格式,使用很普遍。其結構簡單,未經過壓縮,一般圖像文件會比較大。它最大的好處就是能被大多數(shù)軟件“接受”,可稱為通用格式。

GIF:分為靜態(tài)GIF 和動畫GIF 兩種,支持透明背景圖像,適用于多種操作系統(tǒng),“體型”很小,網上很多小動畫都是GIF 格式。其實GIF 是將多幅圖像保存為一個圖像文件,從而形成動畫,所以歸根到底GIF 仍然是圖片文件格式。

2 VxWorks 系統(tǒng)概述

VxWorks是美國WindRiver公司開發(fā)的,具有工業(yè)領導地位的高性能嵌入式實時操作系統(tǒng)。VxWorks具有專門為實時嵌入式系統(tǒng)設計開發(fā)的操作系統(tǒng)內核,提供了高效的實時多任務調度、中斷管理,實時的系統(tǒng)資源以及實時的任務間通信。基于VxWorks操作系統(tǒng)的應用程序可以在不同的CPU平臺上輕松移植。VxWorks只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。VxWorks以其卓越的性能被廣泛地應用在通信、軍事、航空、航天等實時性要求極高因而普通操作系統(tǒng)難以勝任的領域中,美國的F-16戰(zhàn)斗機、B-2隱形轟炸機和愛國者導彈及火星控測器“探路者”上都使用了VxWorks。

在VxWorks的一般嵌入式應用中,可以選擇Zinc For VxWorks或WindML來進行圖形界面設計,它們都是VxWorks中的可裁減的多媒體組件,都可以在VxWorks操作系統(tǒng)上以較低的系統(tǒng)開銷實現(xiàn)豐富多彩的圖形界面。Zinc是一套完善的圖形用戶界面開發(fā)工具,適用于為高性能嵌入式設備開發(fā)低內存開銷、本地編譯的圖形化用戶接口。WindML是將 Zinc和硬件設備之間連接在一起的簡捷高效的通用多媒體圖形庫。WindML主要提供了對芯片、輸入/輸出設備、音頻/視頻、幀緩沖器等的開放的應用程序接口(API)。因此,Zinc必須通過調用多媒體圖形庫WindML的應用程序接口來實現(xiàn)其圖形功能。Zinc屬于高端應用,組件的價格也較貴,而WindML在大多數(shù)情況下已經足可以滿足應用需求了。而且,WindML編程也比較靈活,有更大的自由度。因此,一般是選用WindML來作圖形界面設計。

3 WindML

3.1WindML 的系統(tǒng)結構和功能

WindML是基于實時嵌入式操作統(tǒng)的多媒體應用的支持鏈接庫,它提供VxWorks基本的圖形、視頻、音頻技術支持,并提供定制設備驅動的標準API接口,便于用戶根據(jù)自己的硬件設備開發(fā)標準的設備驅動。它是一個代碼量少、方便裁剪的提供語言接口的鏈接庫。圖1是基于VxWorks的WindML系統(tǒng)結構,它主要由SDK、DDK和硬件組成。其中SDK(SoftwareDevelopment Kit)是硬件無關層,它對用戶應用程序提供統(tǒng)一的編程接口,包括圖形、視頻、音頻和事件驅動服務器等,滿足用戶的基于事件驅動的多媒體應用的需要;DDK(DriverDevelopment Kit)是硬件相關層,即所謂的設備驅動程序,它與用戶的硬設備相關,一般應由用戶根據(jù)具體硬件定制開發(fā),它對硬件系統(tǒng)層輸出初始化信息、控制信息和用戶應用程序的圖形人機接口,對SDK層提供設備無關的標準驅動接口;硬件層一般由用戶定制,以實現(xiàn)相應要求。


圖1 WindML系統(tǒng)結構

3.2 WindML事件驅動機制的設計思想

3.2.1 分層模塊化

WindML事件驅動機制設計成幾個模塊,如I/O設備驅動模塊、I/O子系統(tǒng)處理模塊、輸入監(jiān)測任務模塊、消息分發(fā)模塊等。在模塊內,又按功能劃分成更小的模塊。同時,I/O設備驅動與I/O子系統(tǒng)處理模塊嚴格處于系統(tǒng)的最下層,它用VxWorks系統(tǒng)的實時性設計來保證WindML事件的實時獲取,并且上層模塊可以不知道下層的實現(xiàn)細節(jié)。

3.2.2 任務隊列化

WindML應用系統(tǒng)中,一定有很多任務,因此,不管是系統(tǒng)任務或用戶任務,都采用任務隊列方式管理本任務應處理的事件,以保證事件的完整性和有效性。

3.2.3 低開銷強實時性

為了減小模塊間的影響和保證強實時性,避免額外的拷貝操作,在實現(xiàn)中大量采用了指標方式,特別是在I/O子系統(tǒng)和消息分發(fā)模塊中。

3.3 WindML事件驅動機制的實現(xiàn)方案

WindML是一個基于事件驅動的圖形庫,它采用客戶/服務器模式,事件驅動的原理如圖2??蛻魬贸绦蚨素撠煷翱诘睦L制、窗口更新和其它用戶消息的響應,每一個窗體對象均建立一個消息隊列,用來接收服務器端的事件,從而進行處理。服務器端主要由一個叫“輸入監(jiān)測任務”的任務來集中處理。輸入監(jiān)控任務依靠VxWorks I/O系統(tǒng)和select機制來采集I/O設備的實時事件,然后將其打包(或壓縮)成標準結構的事件信息。打包后的信息通過uglEventPost函數(shù),發(fā)送到事件處理模塊中,在這個模塊中搜索應用程序的所有窗口的所有消息隊列,判斷當前事件應該由哪一個窗口的消息隊列來接收,并將其發(fā)送到這個消息隊列中。這樣,這個客戶應用程序就可以從消息隊列中取出消息信息,進行相應的處理。而且,這種分層模塊化機制也為用戶直接以事件方式在窗口間進行通信提供了方便,只要調用uglEventPost函數(shù)即可,而不必經過其它底層模塊。因此,在整個過程中,有幾部分的實現(xiàn)非常關鍵,包括I/O子系統(tǒng)與設備I/O驅動、Select機制的實現(xiàn)方案、輸入監(jiān)測任務的實現(xiàn)機制、事件回調注冊與事件分發(fā)處理機制等。


圖2WindML 事件驅動原理圖

3.3WindML 的使用

WindML 本身也具有可裁剪性和可配置性,以適應不同的應用要求。WindML 可以為在VxWorks 操作系統(tǒng)下開發(fā)的軟件提供基本圖形、視頻和音頻文面的操作。WindML 適用于很多種CPU,可以提供獨立于硬件的代碼,同時它也支持鼠標、鍵盤等輸入設備.WindML 的主要功能有二維圖形API,事件服務,區(qū)域和窗口管理,多媒體,資源管理。

其中,二維圖形API 是最常用的部分,包括基本畫圖操作(畫線、矩形、橢圖、多邊形、點),選擇字體輸出文體,位圖,光標管理,批量畫圖操作,圖形上下文,色彩管理,雙緩沖。事件服務程序是用來處理輸入設備的輸入請求的。它會把鍵盤、鼠標等輸入的數(shù)據(jù)轉化為事件并且傳送給事件句柄,送到應用隊列中。區(qū)域和窗口管理可以在界面上定義一個區(qū)域或多線程之間共享的窗口以供畫圖操作。多媒體API 支持NTSC,PAL,SECAM 等視頻制式,DSP 或混頻器兩種設備的音頻輸出,也支持JPEG 圖形格式。

WindML 的圖形界面是以像素為單位的,一般采用配色表來選擇顏色,先在配色表上配置好一種顏色的R、G、B 值,并用其在配色表中的索引值代表這種顏色。VxWorks 支持C 和C++。在WindML 的編程中,用C 和C++寫的程序完全可以編譯通過,但是C 語言中的printf()等函數(shù)是無法在圖形界面上輸出字符的,必須用WindML 提供的相應函數(shù)才行。例如,uglTextDraw(ge,x1,y1,length,text)是在屏幕上(x1, y1)處用前面已設置的字體輸出英文字符串text。WindML 本身不支持中文,而在國內的應用場合,圖形界面中不能顯示中文往往是不符合要求的。這里可以用調用點陣字庫的辦法解決這樣的問題。國家標準規(guī)定:漢字庫分94個區(qū),每個區(qū)有94 個漢字(以位作區(qū)別),每個漢字在漢字庫中有確定的區(qū)和位編號。每個漢字在庫中是以點陣字模型式存儲的,一般采用16×16 點陣(32 字節(jié))、24×24 點陣(72字節(jié)),每個點用一個二進制位(0 或1)表示,地應在屏幕上顯示出來,就是相應的漢字。

由于在中文環(huán)境下,輸入的是漢字的內碼,我們必須將之轉換成區(qū)位碼,算出偏移量,從字庫中找到對應的漢字,將其字模顯示即可。采用這種方法就需要有字庫文件,還必須自己寫一個調用字庫顯示漢字的函數(shù)。這樣,在主程序中將需要顯示的漢字用引號表示成一個字符串,調用顯示漢字的函數(shù)即可。由于Tornado 中無法直接輸入中文,需要在其它的編輯器中(如UltraEdit)輸入漢字字符串保存后在Tornado 中打開即可。

在圖形顯示前,必須先調用WindML 的API 函數(shù)UglInitialize()進行初始化,然后還需要產生一個圖形環(huán)境,這樣才可以顯示自己的圖片。WindML 使用多線程和多任務,但圖形的資源是一定的,為防止多線程之間產生資源沖突,需要使用互斥信號量鎖定資源。WindML 中,一般在使用一組畫圖函數(shù)前,用UglBatchStart(gc)通過互斥信號量鎖定圖形上下文、圖形設備及緩沖,并且隱藏光標。在畫圖操作完成后,再用 UglBatchEnd(gc)釋放被鎖定資源以被其它的畫圖函數(shù)所使用。

4 結束語

該軟件的在VxWorks系統(tǒng)下的移植工作已基本實現(xiàn),圖形的顯示與瀏覽基本完成。不過現(xiàn)在顯示的圖形格式為JPEG,DDS格式圖形的顯示和軟件功能的完善正在進行中。



與人玫瑰

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年8月26日 /美通社/ -- 在全球數(shù)字經濟加速演進的時代浪潮中,海量數(shù)據(jù)資源正成為企業(yè)發(fā)展的雙刃劍。超66%的企業(yè)面臨"數(shù)據(jù)沉睡"危機——分散于供應鏈、財務、客戶運營等數(shù)十個系統(tǒng)的業(yè)務...

關鍵字: AI 模型 軟件 數(shù)據(jù)分析

加快開發(fā)進程;提升質量、安全性、性能與成本效益 利用耐世特在底盤領域的專業(yè)知識和線控技術產品組合 美國密西根州奧本山2025年8月11日 /美通社/ --?耐...

關鍵字: MOTION 軟件 運動控制 NI

從自然汲取,向未來創(chuàng)造 上海2025年8月8日 /美通社/ -- 2025 世界機器人大會將于8月8-12日在北京亦創(chuàng)國際會展中心拉開帷幕,F(xiàn)esto(A112展位­)將以"從自然汲取,向未來創(chuàng)造&q...

關鍵字: FESTO 機器人 BSP 軟件

引言:穿越變革浪潮,迎接智能金融時代 上海2025年7月28日 /美通社/ -- 在全球科技變革的浪潮中,生成式AI正加速驅動各行業(yè)變革,金融行業(yè)尤為顯著。在強監(jiān)管與用戶需求升級的雙重壓力,行業(yè)亟需重構服務模...

關鍵字: 軟件 生成式AI 模型 數(shù)字化

寧波2025年7月28日 /美通社/ -- 日前,在第四屆寧波市專利創(chuàng)新大賽的聚光燈下,中之杰智能的創(chuàng)新技術"一種基于電子周轉箱的生產管理方法及系統(tǒng)"強勢斬獲專利優(yōu)秀獎。這枚沉甸甸的獎章背后...

關鍵字: 軟件 電子 智能工廠 BSP

杭州2025年7月28日 /美通社/ -- 近日,大華股份與北京北大軟件工程股份有限公司(以下簡稱"北大軟件")簽署戰(zhàn)略合作協(xié)議。雙方將重點圍繞長江禁漁等領域,發(fā)揮各自在產品、技術、平臺等方面的經驗和...

關鍵字: 軟件 數(shù)字化

成都 2025年7月16日 /美通社/ -- 由立嘉會議展覽有限公司主辦的"2025第四屆成渝地區(qū)裝備制造業(yè)博覽會"將于9月11日至13日在成都世紀城新國際會展中心盛大舉辦。本屆博覽會以&...

關鍵字: BSP 軟件 供應鏈 智能制造

上海 2025年7月14日 /美通社/ -- 近日,微創(chuàng)軟件與全球領先的工業(yè)級綠色智能系統(tǒng)解決方案提供商——上海電氣集團股份有限公司旗下直屬子公司上海電氣數(shù)字科技有限公司,以下簡稱"電氣數(shù)科"宣布深...

關鍵字: 電氣 軟件 數(shù)字化 BSP

全新的集成解決方案確保企業(yè)以安全、負責任的方式應用 AI智能體及其他生成式AI技術。 借助以上工具,企業(yè)可以對智能體執(zhí)行"紅隊測試"和審計,并檢測"影子智能體"...

關鍵字: IBM 軟件 智能體 AI

從傳統(tǒng)機械制造邁向數(shù)字化、智能化的轉型之路,軟件定義汽車(SDV)的出現(xiàn),無疑成為這場變革的關鍵驅動力,預示著產業(yè)拐點即將來臨。那么,支撐軟件定義汽車發(fā)展的支柱究竟是什么呢?

關鍵字: 軟件 傳感器 智能化
關閉