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

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]在VxWorks嵌入式平臺(tái)下采用點(diǎn)陣漢字顯示技術(shù),使得戰(zhàn)場(chǎng)信息、態(tài)勢(shì)、指令等獲得了中文顯示。最終使設(shè)計(jì)開(kāi)發(fā)的軍事指揮系統(tǒng)不僅具有良好的可靠性和卓越的實(shí)時(shí)性,同時(shí)具有直觀而方便的中文平臺(tái)以及友好的交互能力,大大提升了整體作戰(zhàn)效能。

由于對(duì)實(shí)時(shí)性和可靠性的要求,現(xiàn)代軍事指揮系統(tǒng)越來(lái)越廣泛地采用嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks。WindRiver公司的媒體庫(kù)windML (Wind Media Li-brary)提供了基于VxWorks的圖形解決方案,其UGL組件提供了顯示模式設(shè)置、標(biāo)準(zhǔn)輸入/輸出控制和點(diǎn)、線、面作圖等函數(shù),但沒(méi)有直接提供完備的漢字顯示解決方案,不支持漢字顯示。針對(duì)實(shí)際指揮系統(tǒng)中人機(jī)交互界面的需求,全西文的的交互方式顯然不便于文件的傳輸和信息的交換。本文通過(guò)對(duì)漢字編碼和windML顯示機(jī)制的分析,給出了VxWorks嵌入式平臺(tái)下漢字顯示的實(shí)施方案。

1 VxWorks在軍事指揮系統(tǒng)中的應(yīng)用

所謂嵌入式系統(tǒng),是指內(nèi)置到火控、戰(zhàn)車(chē)、飛機(jī)、導(dǎo)彈以及衛(wèi)星和艦船導(dǎo)航等各類(lèi)武器系統(tǒng)和作戰(zhàn)平臺(tái)上的計(jì)算機(jī)系統(tǒng)。隨著信息技術(shù)的迅猛發(fā)展,尤其是計(jì)算機(jī)技術(shù)和微電子技術(shù)的快速發(fā)展,嵌入式系統(tǒng)在軍事上得到了廣泛應(yīng)用。嵌入式計(jì)算機(jī)系統(tǒng),最早出現(xiàn)在20世紀(jì)60年代武器控制中,后來(lái)用于軍事指揮控制和通信系統(tǒng),所以軍事國(guó)防歷來(lái)就是嵌入式系統(tǒng)的一個(gè)重要應(yīng)用領(lǐng)域?,F(xiàn)在,各種武器控制(火炮控制、導(dǎo)彈控制、智能炸彈制導(dǎo)引爆裝置)、坦克、艦艇、轟炸機(jī)等,以及陸??崭鞣N軍用電子裝備、現(xiàn)代化的軍事指揮系統(tǒng)等都可以看到嵌入式系統(tǒng)的影子。

在實(shí)時(shí)嵌入式操作系統(tǒng)中,VxWorks以其高可靠性和高實(shí)時(shí)性得到了廣泛的應(yīng)用。VxWorks是美國(guó)Wind River System公司(風(fēng)河公司,簡(jiǎn)稱(chēng)WRS公司)推出的一個(gè)實(shí)時(shí)操作系統(tǒng)。VxWorks是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng),具有專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的操作系統(tǒng)內(nèi)核,它包括了進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾部分。

VxWorks在軍事指揮系統(tǒng)中應(yīng)用時(shí),由于指揮系統(tǒng)對(duì)人機(jī)交互能力的要求較高,需要對(duì)武器參數(shù)、操作進(jìn)程以及作戰(zhàn)指令等戰(zhàn)場(chǎng)信息進(jìn)行顯示,因此迫切需要完成VxWorks下的中文顯示開(kāi)發(fā)。軍事指揮系統(tǒng)中所顯示戰(zhàn)場(chǎng)信息如圖1所示。

2 VxWorks下漢字顯示方案

2.1 WindML基本功能

WindML是由WindRiver公司提供的媒體庫(kù),其UGL組件提供了顯示模式設(shè)置、標(biāo)準(zhǔn)輸入/輸出控制和點(diǎn)、線、面作圖等函數(shù),以及對(duì)芯片、輸入/輸出設(shè)備、音頻/視頻、幀緩沖器等開(kāi)放的應(yīng)用程序接口。

WindML的主要功能有二維圖形API、事件服務(wù)、區(qū)域和視窗管理、多媒體API和資源管理。其中,二維圖形API是最常用的部分,包括基本繪圖操作 (如畫(huà)線、矩形、橢圓、多邊形、點(diǎn)等),選擇字體輸出文本、位圖管理、光標(biāo)管理、批量繪圖操作、圖形上下文、色彩管理和雙緩沖等。事件服務(wù)程序用來(lái)處理輸入設(shè)備的輸入請(qǐng)求。它會(huì)把鍵盤(pán)、鼠標(biāo)等輸入數(shù)據(jù)轉(zhuǎn)化為事件并加入應(yīng)用隊(duì)列;區(qū)域和視窗管理可以在界面上定義一個(gè)區(qū)域或多線程之間共享的窗口,以進(jìn)行繪圖操作;多媒體APl支持NTSC,PAL,SECAM等視頻制式下DSP或混頻器兩種設(shè)備的音頻輸出,也支持JPEG圖形格式;資源管理器是指常規(guī)的 WindML資源(例如設(shè)備和事件隊(duì)列)、內(nèi)存管理和驅(qū)動(dòng)器注冊(cè)等資源的建立、控制和刪除。

2.2 WindML字體驅(qū)動(dòng)體系結(jié)構(gòu)

WindML字體驅(qū)動(dòng)在WindML 2D API上提供了一個(gè)通用的抽象層,允許應(yīng)用程序通過(guò)一個(gè)通用2D字體API庫(kù)使用不同的字體引擎。通用2D字體API是提供給應(yīng)用程序使用字體API的公共接口。字體驅(qū)動(dòng)不同于VxWorks中的其他驅(qū)動(dòng),它不允許執(zhí)行或使用任何圖形驅(qū)動(dòng)接口以下的程序,也就是說(shuō)它不直接訪問(wèn)硬件,只訪問(wèn)系統(tǒng)所使用的圖形驅(qū)動(dòng)或間接通過(guò)UGL圖形驅(qū)動(dòng)結(jié)構(gòu)來(lái)訪問(wèn)硬件。這就允許字體驅(qū)動(dòng)可以運(yùn)行在任何圖形驅(qū)動(dòng)之上,與字體引擎硬件無(wú)關(guān)。WindML字體驅(qū)動(dòng)體系結(jié)構(gòu)如圖2所示。

2.3 點(diǎn)陣漢字輸出過(guò)程

點(diǎn)陣漢字的顯示是利用WindML的圖形輸出功能來(lái)實(shí)現(xiàn)的。設(shè)計(jì)開(kāi)發(fā)中利用WindML對(duì)位圖字符顯示和雙字節(jié)編碼的支持,按照WindML位圖字體文件的格式完成漢字點(diǎn)陣的轉(zhuǎn)換存儲(chǔ),并使用WindML的雙字節(jié)顯示函數(shù)實(shí)現(xiàn)點(diǎn)陣獲取、點(diǎn)陣顯示,將漢字顯示出來(lái)。

WindML有很多字庫(kù)文件,原始安裝狀態(tài)下都是西文字庫(kù)文件,要在VxWorks系統(tǒng)中顯示中文漢字,解決方案是將西文字庫(kù)文件修改成為中文字庫(kù)文件,即設(shè)計(jì)一種類(lèi)似西文字庫(kù)格式的C語(yǔ)言文件,文件中存儲(chǔ)雙字節(jié)的漢字編碼、點(diǎn)陣信息及字體的控制信息等。字庫(kù)文件經(jīng)過(guò)系統(tǒng)配置、編譯后生成點(diǎn)陣字庫(kù)文件目標(biāo)代碼,點(diǎn)陣驅(qū)動(dòng)程序從目標(biāo)代碼中獲取點(diǎn)陣信息傳遞給應(yīng)用程序編程接口,應(yīng)用程序調(diào)用圖形顯示函數(shù)輸出漢字。WindML下漢字顯示處理過(guò)程如圖3所示。


2.4 點(diǎn)陣漢字存儲(chǔ)結(jié)構(gòu)

國(guó)家標(biāo)準(zhǔn)對(duì)漢字庫(kù)結(jié)構(gòu)做了統(tǒng)一規(guī)定:字庫(kù)分為94個(gè)區(qū),每個(gè)區(qū)有94個(gè)漢字,每個(gè)漢字有確定的區(qū)和位編碼,用兩個(gè)字節(jié)表示,第一個(gè)字節(jié)表示漢字所在的區(qū)號(hào),第二個(gè)字節(jié)表示位號(hào),即所謂的區(qū)位碼。每個(gè)漢字在字庫(kù)中以點(diǎn)陣字模形式存儲(chǔ),一般采用16×16點(diǎn)陣、24×24點(diǎn)陣,每個(gè)點(diǎn)用二進(jìn)制位(0或1)表示,對(duì)應(yīng)在屏幕上顯示出來(lái)就是相應(yīng)的漢字。每個(gè)漢字都有惟一的區(qū)位碼,通過(guò)區(qū)位碼計(jì)算出漢字在字庫(kù)中的位置,從而確定漢字的字模。

點(diǎn)陣漢字字庫(kù)C語(yǔ)言文件有固定的結(jié)構(gòu),分為三個(gè)部分:點(diǎn)陣屬性表、點(diǎn)陣信息描述總表和點(diǎn)陣信息表。點(diǎn)陣屬性表用來(lái)描述點(diǎn)陣漢字的字符結(jié)構(gòu)和字模結(jié)構(gòu)參數(shù)的結(jié)構(gòu)體,包含參數(shù)有像素大小、字符名稱(chēng)、字符家族名稱(chēng)等,特別定義了指向點(diǎn)陣信息總表的數(shù)組指針,字體驅(qū)動(dòng)程序利用這個(gè)指針尋找點(diǎn)陣信息總表。點(diǎn)陣信息描述總表 它是一個(gè)存放指向點(diǎn)陣信息表指針的動(dòng)態(tài)數(shù)組,其元素個(gè)數(shù)取決于漢字點(diǎn)陣信息表的個(gè)數(shù)。

點(diǎn)陣信息表點(diǎn)陣信息表以數(shù)組的形式表示,主要用來(lái)存儲(chǔ)漢字的GB2312碼(西文是ASCII碼)和詳細(xì)點(diǎn)陣信息。可以是一個(gè)表也可以是若干個(gè)表。把漢字按 GB2312編碼的頁(yè)分類(lèi),構(gòu)建多個(gè)漢字分表,也可以把中西文裝在混合表里做成一個(gè)大表,西文字符被擴(kuò)展成雙字節(jié)存儲(chǔ)。

3 點(diǎn)陣漢字字庫(kù)實(shí)例

自己開(kāi)發(fā)點(diǎn)陣存儲(chǔ)、點(diǎn)陣獲取、點(diǎn)陣顯示,改造windML的雙字節(jié)或單字節(jié)顯示函數(shù),使其能判斷漢字碼,一旦判斷出漢字碼,則使用自己開(kāi)發(fā)的點(diǎn)陣獲取、點(diǎn)陣顯示等把漢字顯示出來(lái)。該方法對(duì)點(diǎn)陣的操作更加靈活,適合非標(biāo)準(zhǔn)的點(diǎn)陣算法,或者當(dāng)開(kāi)發(fā)者已有成熟的點(diǎn)陣操作方法時(shí),把該方法綁接到WindML上。

不必理會(huì)WindML雙字節(jié)編碼機(jī)制,這里需要的是一個(gè)漢字的點(diǎn)陣字庫(kù),這個(gè)點(diǎn)陣字庫(kù)不必按照WindML的雙字節(jié)編碼機(jī)制進(jìn)行編碼,里面所存儲(chǔ)的只是漢字的點(diǎn)陣信息和區(qū)位碼信息,這個(gè)字庫(kù)可以通過(guò)從Windows中導(dǎo)出;由于不選用WindML的雙字節(jié)編碼機(jī)制,所以對(duì)于VxWorks中關(guān)于如何控制打點(diǎn)以及顯示點(diǎn)陣字體驅(qū)動(dòng),并不需要具體了解;更重要的是擁有更大的靈活性,只需把自己所寫(xiě)的漢字顯示函數(shù)綁定到WindML上面即可。因此這里必須要求自己寫(xiě)點(diǎn)陣的存儲(chǔ)、點(diǎn)陣顯示、漢字顯示函數(shù)。做起來(lái)比較簡(jiǎn)單,只要求了解漢字編碼的基本知識(shí),即漢字雙字節(jié)編碼中,高、低字節(jié)的最高位都是為‘1’,而西文字符編碼中最高位為‘0’,利用這點(diǎn)來(lái)判斷所要顯示的字符是漢字還是英文。

在設(shè)計(jì)開(kāi)發(fā)過(guò)程中,在現(xiàn)有的西文字庫(kù)的基礎(chǔ)上進(jìn)行修改,添加相應(yīng)的字體參數(shù)和漢字的點(diǎn)陣信息,形成點(diǎn)陣漢字字庫(kù)文件uflhz12.c,uflhz16.c,uflhz24.c,以分別存儲(chǔ)12,16和24號(hào)宋體的字庫(kù)信息。這個(gè)過(guò)程用Windows編程來(lái)實(shí)現(xiàn)。

以下是16號(hào)宋體字庫(kù)文件中的點(diǎn)陣信息表:



該指針指向點(diǎn)陣信息表的首地址,并被點(diǎn)陣描述結(jié)構(gòu)直接調(diào)用。

字庫(kù)文件的最后定義了點(diǎn)陣屬性表,該表規(guī)定了整個(gè)點(diǎn)陣字庫(kù)的屬性以及字模和間距,并定義點(diǎn)陣指針。

4 結(jié) 語(yǔ)

在VxWorks嵌入式平臺(tái)下采用點(diǎn)陣漢字顯示技術(shù),使得戰(zhàn)場(chǎng)信息、態(tài)勢(shì)、指令等獲得了中文顯示。最終使設(shè)計(jì)開(kāi)發(fā)的軍事指揮系統(tǒng)不僅具有良好的可靠性和卓越的實(shí)時(shí)性,同時(shí)具有直觀而方便的中文平臺(tái)以及友好的交互能力,大大提升了整體作戰(zhàn)效能。

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

VxWorks是一款廣泛應(yīng)用于嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)(RTOS)。作為實(shí)時(shí)操作系統(tǒng)領(lǐng)域的領(lǐng)導(dǎo)者,VxWorks以其強(qiáng)大的功能和可靠性,在多個(gè)行業(yè)領(lǐng)域得到了廣泛應(yīng)用。本文將向讀者簡(jiǎn)要介紹VxWorks系統(tǒng),包括其定義、特...

關(guān)鍵字: VxWorks 操作系統(tǒng) 嵌入式

自己目前開(kāi)發(fā)的嵌入式開(kāi)發(fā)所用的操作系統(tǒng)是VxWorks,以前讀大學(xué)的時(shí)候用的最多的是linux操作系統(tǒng),但是,對(duì)于這兩種操作系統(tǒng)之間到底有什么區(qū)別,還真沒(méi)有真正去細(xì)心的總結(jié)過(guò),被別人問(wèn)起時(shí),難免有些尷尬的感覺(jué),畢竟自己是...

關(guān)鍵字: VxWorks Linux

調(diào)試指令,dbgHelp顯示所有的調(diào)試命令

關(guān)鍵字: VxWorks 調(diào)試命令

  目前,觸摸面板在全球已開(kāi)始自成一項(xiàng)產(chǎn)業(yè),作為一項(xiàng)先進(jìn)的計(jì)算機(jī)輸入設(shè)備,它是目前最簡(jiǎn)單、方便、自然的而且又適用于多媒體信息查詢(xún)裝備。觸摸面板具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等許多優(yōu)

關(guān)鍵字: VxWorks 通信模型

  • 新一代實(shí)時(shí)操作系統(tǒng)的 Security Profile 在各個(gè)層面為互聯(lián)設(shè)備提供全程保護(hù)。   • 從Wibu-Systems中無(wú)縫集成基于硬件和基于軟件的安

關(guān)鍵字: profile security VxWorks 物聯(lián)網(wǎng) 風(fēng)河公司

  • Wind River 的COTS (商用現(xiàn)貨) 平臺(tái)為空客集團(tuán)ATLANTE無(wú)人機(jī)項(xiàng)目提供核心安全性相關(guān)的綜合模塊化航電應(yīng)用軟件。   • VxWorks 6

關(guān)鍵字: 653 platform VxWorks 風(fēng)河公司

2020年,StackOverflow對(duì)全球開(kāi)發(fā)人員進(jìn)行了關(guān)于最受歡迎的編程語(yǔ)言的調(diào)查。 在排名中,Python語(yǔ)言超過(guò)Java,排名第二(緊隨Rust之后)。 與去年的排名相比,Python已成為增長(zhǎng)最快的編程語(yǔ)言,并...

關(guān)鍵字: python VxWorks 嵌入式

新聞?wù)? · 網(wǎng)站為開(kāi)發(fā)人員量身定制,提供軟件工程、概念驗(yàn)證、開(kāi)源集成、實(shí)驗(yàn)性軟件以及史上首個(gè)免費(fèi)VxWorks? real-RTOS SDK。 · Wind River Labs可用項(xiàng)目的特色亮點(diǎn):適用于VxWor...

關(guān)鍵字: sdk VxWorks 智能邊緣軟件

新聞要點(diǎn)-VxWorks是支持RISC-V架構(gòu)且部署最為廣泛的商業(yè)化RTOS-借力最新開(kāi)源硬件指令集架構(gòu),風(fēng)河持續(xù)增強(qiáng)在RTOS業(yè)界的領(lǐng)先地位-風(fēng)河同時(shí)加入了RISC-V基金會(huì)領(lǐng)先的智能邊緣軟件提供商風(fēng)河®近日宣...

關(guān)鍵字: risc-v rtos VxWorks 風(fēng)河

全球領(lǐng)先的智能邊緣軟件提供商風(fēng)河公司近日宣布,推出其業(yè)界領(lǐng)先的實(shí)時(shí)操作系統(tǒng)(RTOS) VxWorks 的最新版本。

關(guān)鍵字: VxWorks 嵌入式開(kāi)發(fā) 風(fēng)河
關(guān)閉