當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]Microwindows在遠程紅外抄表器中的應(yīng)用

摘  要: 本文詳細闡述了Mcrowindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠程紅外抄表器中的應(yīng)用。
關(guān)鍵詞:  S3C44B0X;Mcrowindows;嵌入式mClinux;遠程紅外抄表器

引言
    隨著嵌入式系統(tǒng)的廣泛應(yīng)用,面向人機交互的嵌入式產(chǎn)品的需求量越來越大,GUI的設(shè)計也變得越來越重要。在Linux之上進行實時嵌入式系統(tǒng)開發(fā)的廠商,一般會選擇如下幾種GUI系統(tǒng):高度裁減的X Windows 系統(tǒng)、MiniGUI、Microwindows、QT/Embedded等。Microwindows作為一種開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環(huán)境引入到運行Linux的小型設(shè)備和平臺上,其體系結(jié)構(gòu)如圖1所示。

    Microwindows的可移植性非常好,有多種平臺的支持,而以Samsung公司的S3C44B0X嵌入式處理器芯片為核心的ARM平臺就是其中的一種。

    本文詳細闡述了Microwindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠程紅外抄表器中的應(yīng)用。


圖1  Microwindows的體系結(jié)構(gòu)

Microwindows在S3C44B0X上的應(yīng)用
內(nèi)核的裁剪與配置
    在嵌入式系統(tǒng)中,內(nèi)核裁減是必不可少的工作。內(nèi)核的大小,關(guān)系到硬件系統(tǒng)需要多大的存儲空間,存儲空間越大需要的硬件成本也越高。 mClinux內(nèi)核采用模塊化的設(shè)計,即很多功能塊可以獨立的加上或卸下,開發(fā)人員在設(shè)計內(nèi)核時把這些內(nèi)核模塊作為可選的選項,可以在編譯系統(tǒng)內(nèi)核時指定。因此,一種較通用的做法是對mClinux內(nèi)核重新編譯,在編譯時選擇嵌入式設(shè)備所需要的功能支持模塊,同時刪除不需要的功能。通過對內(nèi)核的重新配置,可以使系統(tǒng)運行所需要的內(nèi)核顯著減小,從而縮減資源使用量。

    以S3C44B0X為核心的Embest EduKit-II目標平臺采用了mClinux操作系統(tǒng),進入顯示屏是256色STN LCD,其顯示驅(qū)動基于Frame Buffer的驅(qū)動程序,因此Microwindows的顯示需要在內(nèi)核中有Linux Frame Buffer支持。當然,如果還需要其他的一些功能,例如TFTP下載,則也可以在配制中加載進去。mClinux內(nèi)核對Frame Buffer支持的配置圖如圖 2 所示。


圖2  mClinux內(nèi)核配置圖(關(guān)于Frame Buffer)

基于Microwindows API的應(yīng)用程序的添加
    由于Microwindows API兼容Win32 API的編程模式,所以對于熟悉Win32 API的工程師而言,只要熟悉Microwindows API的函數(shù)庫,就可以根據(jù)客戶需求,開發(fā)出可以在Microwindows上支持的以Intel 16位、32位CPU,MIPS R4000 以及 ARM 芯片為核心的目標平臺上運行的應(yīng)用程序,從而開發(fā)出新一代的嵌入式產(chǎn)品,如紅外抄表器,PDA等。

    在此GUI的平臺搭建過程中,在內(nèi)核中添加兩個應(yīng)用程序,它們分別為mterm.c、muserfd.c。其中mterm.c是一個顯示終端的窗口,在主機上的超級終端上輸入信息,在LCD上類似Windows的窗口中就能得到顯示。實現(xiàn)過程如下:

(1)修改./config/config.in,在相應(yīng)的菜單塊中增加一行,如下所示:
bool'mterm' CONFIG_USER_
MICROWIN_BIN_MTERM
bool ' muserfd ' CONFIG_USER_
MICROWIN_BIN_MUSERFD

(2)在mClinux-distuser
microwinMakefile文件中增加一行,如下所示:
$(ROMFSINST) -e
 CONFIG_USER_MICROWIN_BIN_ MTERM      /bin/ mterm
$(ROMFSINST) -e CONFIG_USER_MICROWIN_BIN_ MUSERFD   /bin/ muserfd
修改后,對mClinux進行重新編譯,就把新的應(yīng)用程序加載到文件系統(tǒng)中了。

    此外,還有一種快速添加應(yīng)用程序到文件系統(tǒng)中的方法,即省略在系統(tǒng)中添加程序編譯加載信息,直接用交叉編譯工具自行編譯,然后將生成的Flat可執(zhí)行文件放在romfs/bin目錄下,使用命令生成romfs鏡像。

編譯Microwindows
    在應(yīng)用程序配置界面中,選擇Microwindows,按照圖 3 的提示配置選定Microwindows中的項,其余不選定。

    從Microwindows的配置界面可以看到新添加的應(yīng)用程序已經(jīng)出現(xiàn)在配置界面中,設(shè)置完畢后保存、退出。在Cygwin環(huán)境下依次執(zhí)行make dep; make clean; make lib_only;  make user_only ; make romfs; make image命令,即可完成編譯過程。


圖3 Microwindows的編譯配置界面

運行Microwindows應(yīng)用程序
    編譯完成后,連接PC機上的超級終端,就可以運行新的內(nèi)核了。在超級終端的sash提示符下,輸入如下命令運行Microwindows應(yīng)用程序:
/>cd /bin
/bin>./ mterm
這時,在LCD上就會顯示一個類似Windows的窗口。
  
Microwindows在遠程紅外抄表器中的應(yīng)用
    遠程紅外抄表器是專為住宅區(qū)物業(yè)管理人員抄取電表、水表、煤氣表設(shè)計的。它作為一款有推廣意義的嵌入式產(chǎn)品,為了便于用戶對其進行操作,它不但需要給用戶提供一個友好的圖形界面,而且對成本的考慮也非常重要。Microwindows是一個開放源碼的項目,它提供了比較完善的圖形功能,因此把它應(yīng)用于抄表器的開發(fā)中能夠在滿足用戶需求的基礎(chǔ)上有效地降低成本。

    遠程紅外抄表器的軟件設(shè)計框圖如圖4所示。對于Microwindows在紅外抄表上的應(yīng)用主要涉及以下幾個方面:
1、 Microwindows的硬件驅(qū)動程序的實現(xiàn),包括屏幕、鼠標和鍵盤的驅(qū)動程序的編寫。


圖4 紅外抄表器的軟件系統(tǒng)

2、 Microwindows內(nèi)核的裁減及其編譯運行。在裁減過程中應(yīng)該選擇工程師熟悉的編程接口及其所選接口要求的一些選項,例如如果選擇了Nano-X API,則在配置Microwindows時就必須選擇支持客戶/服務(wù)器的選項Nano-X和nanawm。本設(shè)計選擇的是另一個編程接口Microwindows API,其配置編譯過程已經(jīng)做了詳細的闡述。

3、對Microwindows所提供的編程接口的應(yīng)用程序進行編寫。選擇編程接口,按照抄表器的功能需求編寫應(yīng)用程序,應(yīng)用程序要體現(xiàn)所有的功能,由應(yīng)用程序調(diào)用驅(qū)動程序。應(yīng)用程序的設(shè)計一般包括如下幾個方面:多種輸入法的設(shè)計與支持;日期時間設(shè)置;定時開關(guān)機設(shè)置;背光開啟時間設(shè)置;液晶對比度調(diào)節(jié)設(shè)置;自動啟動設(shè)置;開機密碼設(shè)置;串口選擇及波特率設(shè)置;數(shù)據(jù)保護設(shè)置;節(jié)電模式設(shè)置;系統(tǒng)信息。
  
結(jié)語
    本文著重闡述了Microwindows在以S3C44B0X為核心的ARM平臺上的應(yīng)用,在此基礎(chǔ)上給出了Microwindows在遠程紅外抄表器中的應(yīng)用。Microwindows正在嵌入式開發(fā)領(lǐng)域穩(wěn)步發(fā)展,是完全免費的開放式源代碼,為嵌入式設(shè)備提供了更多的解決方案。任何開發(fā)PDA或可移動設(shè)備的工程師都可從因特網(wǎng)免費下載相關(guān)程序,并將其移植或開發(fā)。熟悉圖形應(yīng)用程序的用戶可以很快就在該系統(tǒng)上編寫自己的圖形應(yīng)用程序,在未來的嵌入式系統(tǒng)設(shè)計中,它的應(yīng)用潛力將是無可限量的。

參考文獻:
1 田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程.北京:北京航空航天大學(xué)出版社,2005.
2 張曉林,崔迎煒等.嵌入式系統(tǒng)設(shè)計與實踐. 北京:北京航空航天大學(xué)出版社,2006.
3 宮輝.基于MC68HC908GP32的紅外抄表器.清華大學(xué)Motorola單片機與DSP應(yīng)用開發(fā)研究中心.
4 鄧曉歐,周忠麗.嵌入式 GUI 系統(tǒng) Microwindows 的研究與應(yīng)用.中國民航飛行學(xué)院學(xué)報   2005,6:22-24.
5 吳升艷,岳春生,胡冰. 嵌入式 Linux 系統(tǒng)下 Microwindows 的應(yīng)用. [J] 單片機與嵌入式系統(tǒng)應(yīng)用  2003,1:103-105.

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉