Microwindows在遠(yuǎn)程紅外抄表器中的應(yīng)用
發(fā)布時(shí)間:2007/8/29 0:00:00 訪問次數(shù):836
來源:電子設(shè)計(jì)應(yīng)用 作者:陳艷 李茜 閆效鶯 黃鵬 車小平
摘 要: 本文詳細(xì)闡述了Mcrowindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠(yuǎn)程紅外抄表器中的應(yīng)用。
關(guān)鍵詞: S3C44B0X;Mcrowindows;嵌入式mClinux;遠(yuǎn)程紅外抄表器
引言
隨著嵌入式系統(tǒng)的廣泛應(yīng)用,面向人機(jī)交互的嵌入式產(chǎn)品的需求量越來越大,GUI的設(shè)計(jì)也變得越來越重要。在Linux之上進(jìn)行實(shí)時(shí)嵌入式系統(tǒng)開發(fā)的廠商,一般會(huì)選擇如下幾種GUI系統(tǒng):高度裁減的X Windows 系統(tǒng)、MiniGUI、Microwindows、QT/Embedded等。Microwindows作為一種開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環(huán)境引入到運(yùn)行Linux的小型設(shè)備和平臺(tái)上,其體系結(jié)構(gòu)如圖1所示。
Microwindows的可移植性非常好,有多種平臺(tái)的支持,而以Samsung公司的S3C44B0X嵌入式處理器芯片為核心的ARM平臺(tái)就是其中的一種。
本文詳細(xì)闡述了Microwindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠(yuǎn)程紅外抄表器中的應(yīng)用。
圖1 Microwindows的體系結(jié)構(gòu)
Microwindows在S3C44B0X上的應(yīng)用
內(nèi)核的裁剪與配置
在嵌入式系統(tǒng)中,內(nèi)核裁減是必不可少的工作。內(nèi)核的大小,關(guān)系到硬件系統(tǒng)需要多大的存儲(chǔ)空間,存儲(chǔ)空間越大需要的硬件成本也越高。 mClinux內(nèi)核采用模塊化的設(shè)計(jì),即很多功能塊可以獨(dú)立的加上或卸下,開發(fā)人員在設(shè)計(jì)內(nèi)核時(shí)把這些內(nèi)核模塊作為可選的選項(xiàng),可以在編譯系統(tǒng)內(nèi)核時(shí)指定。因此,一種較通用的做法是對mClinux內(nèi)核重新編譯,在編譯時(shí)選擇嵌入式設(shè)備所需要的功能支持模塊,同時(shí)刪除不需要的功能。通過對內(nèi)核的重新配置,可以使系統(tǒng)運(yùn)行所需要的內(nèi)核顯著減小,從而縮減資源使用量。
以S3C44B0X為核心的Embest EduKit-II目標(biāo)平臺(tái)采用了mClinux操作系統(tǒng),進(jìn)入顯示屏是256色STN LCD,其顯示驅(qū)動(dòng)基于Frame Buffer的驅(qū)動(dòng)程序,因此Microwindows的顯示需要在內(nèi)核中有Linux Frame Buffer支持。當(dāng)然,如果還需要其他的一些功能,例如TFTP下載,則也可以在配制中加載進(jìn)去。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 芯片為核心的目標(biāo)平臺(tái)上運(yùn)行的應(yīng)用程序,從而開發(fā)出新一代的嵌入式產(chǎn)品,如紅外抄表器,PDA等。
在此GUI的平臺(tái)搭建過程中,在內(nèi)核中添加兩個(gè)應(yīng)用程序,它們分別為mterm.c、muserfd.c。其中mterm.c是一個(gè)顯示終端的窗口,在主機(jī)上的超級終端上輸入信息,在LCD上類似Windows的窗口中就能得到顯示。實(shí)現(xiàn)過程如下:
(1)修改./config/config.in,在相應(yīng)的菜單塊中增加一行,如下所示:
bool'mterm' CONFIG_USER_
MICROWIN_BIN_MTERM
bool ' muserfd ' CONFIG_USER_
MICROWIN_BIN_MUSERFD
(2)在mClinux-dist\user\
microwin\Makefile文件中增加一行,如下所示:
$(ROMFSINST) -e
CONFIG_USER_MICROWIN_BIN_ MTERM /bin/ mterm
$(ROMFSINST) -e CONFIG_USER_MICROWIN_BIN_ MUSERFD /bin/ muserfd
修改后,對mClinux進(jìn)行重新編譯,就把新的應(yīng)用程序加載到文件系統(tǒng)中了。
此外,還有一種快速添加應(yīng)用程序到文件系統(tǒng)中的方法,即省略在系統(tǒng)中添加程序編譯加載信息,直接用交叉編譯工具自行編譯,然后將生成的Flat可執(zhí)行文件放在romfs/bin目錄下,使用命令生成romfs鏡像。
編譯Microwindows
在應(yīng)用程序配置界面中,選擇Microwindows,按照圖 3 的提示配置選定Microwindows中的項(xiàng),其余不選定。
從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的編譯配置界面
運(yùn)行Microwindows應(yīng)用程序
編譯完成后,連接PC機(jī)上的超級終端,就可以運(yùn)行新的內(nèi)核了。在超級終端的sash提示符下,輸入如下命令運(yùn)行Microwindows應(yīng)用程序:
/>cd /bin
/bin>./ mterm
這時(shí),在LCD上就會(huì)顯示一個(gè)類似Windows的窗口
來源:電子設(shè)計(jì)應(yīng)用 作者:陳艷 李茜 閆效鶯 黃鵬 車小平
摘 要: 本文詳細(xì)闡述了Mcrowindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠(yuǎn)程紅外抄表器中的應(yīng)用。
關(guān)鍵詞: S3C44B0X;Mcrowindows;嵌入式mClinux;遠(yuǎn)程紅外抄表器
引言
隨著嵌入式系統(tǒng)的廣泛應(yīng)用,面向人機(jī)交互的嵌入式產(chǎn)品的需求量越來越大,GUI的設(shè)計(jì)也變得越來越重要。在Linux之上進(jìn)行實(shí)時(shí)嵌入式系統(tǒng)開發(fā)的廠商,一般會(huì)選擇如下幾種GUI系統(tǒng):高度裁減的X Windows 系統(tǒng)、MiniGUI、Microwindows、QT/Embedded等。Microwindows作為一種開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環(huán)境引入到運(yùn)行Linux的小型設(shè)備和平臺(tái)上,其體系結(jié)構(gòu)如圖1所示。
Microwindows的可移植性非常好,有多種平臺(tái)的支持,而以Samsung公司的S3C44B0X嵌入式處理器芯片為核心的ARM平臺(tái)就是其中的一種。
本文詳細(xì)闡述了Microwindows在S3C44B0X上的應(yīng)用,最后給出了Mcrowindows在遠(yuǎn)程紅外抄表器中的應(yīng)用。
圖1 Microwindows的體系結(jié)構(gòu)
Microwindows在S3C44B0X上的應(yīng)用
內(nèi)核的裁剪與配置
在嵌入式系統(tǒng)中,內(nèi)核裁減是必不可少的工作。內(nèi)核的大小,關(guān)系到硬件系統(tǒng)需要多大的存儲(chǔ)空間,存儲(chǔ)空間越大需要的硬件成本也越高。 mClinux內(nèi)核采用模塊化的設(shè)計(jì),即很多功能塊可以獨(dú)立的加上或卸下,開發(fā)人員在設(shè)計(jì)內(nèi)核時(shí)把這些內(nèi)核模塊作為可選的選項(xiàng),可以在編譯系統(tǒng)內(nèi)核時(shí)指定。因此,一種較通用的做法是對mClinux內(nèi)核重新編譯,在編譯時(shí)選擇嵌入式設(shè)備所需要的功能支持模塊,同時(shí)刪除不需要的功能。通過對內(nèi)核的重新配置,可以使系統(tǒng)運(yùn)行所需要的內(nèi)核顯著減小,從而縮減資源使用量。
以S3C44B0X為核心的Embest EduKit-II目標(biāo)平臺(tái)采用了mClinux操作系統(tǒng),進(jìn)入顯示屏是256色STN LCD,其顯示驅(qū)動(dòng)基于Frame Buffer的驅(qū)動(dòng)程序,因此Microwindows的顯示需要在內(nèi)核中有Linux Frame Buffer支持。當(dāng)然,如果還需要其他的一些功能,例如TFTP下載,則也可以在配制中加載進(jìn)去。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 芯片為核心的目標(biāo)平臺(tái)上運(yùn)行的應(yīng)用程序,從而開發(fā)出新一代的嵌入式產(chǎn)品,如紅外抄表器,PDA等。
在此GUI的平臺(tái)搭建過程中,在內(nèi)核中添加兩個(gè)應(yīng)用程序,它們分別為mterm.c、muserfd.c。其中mterm.c是一個(gè)顯示終端的窗口,在主機(jī)上的超級終端上輸入信息,在LCD上類似Windows的窗口中就能得到顯示。實(shí)現(xiàn)過程如下:
(1)修改./config/config.in,在相應(yīng)的菜單塊中增加一行,如下所示:
bool'mterm' CONFIG_USER_
MICROWIN_BIN_MTERM
bool ' muserfd ' CONFIG_USER_
MICROWIN_BIN_MUSERFD
(2)在mClinux-dist\user\
microwin\Makefile文件中增加一行,如下所示:
$(ROMFSINST) -e
CONFIG_USER_MICROWIN_BIN_ MTERM /bin/ mterm
$(ROMFSINST) -e CONFIG_USER_MICROWIN_BIN_ MUSERFD /bin/ muserfd
修改后,對mClinux進(jìn)行重新編譯,就把新的應(yīng)用程序加載到文件系統(tǒng)中了。
此外,還有一種快速添加應(yīng)用程序到文件系統(tǒng)中的方法,即省略在系統(tǒng)中添加程序編譯加載信息,直接用交叉編譯工具自行編譯,然后將生成的Flat可執(zhí)行文件放在romfs/bin目錄下,使用命令生成romfs鏡像。
編譯Microwindows
在應(yīng)用程序配置界面中,選擇Microwindows,按照圖 3 的提示配置選定Microwindows中的項(xiàng),其余不選定。
從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的編譯配置界面
運(yùn)行Microwindows應(yīng)用程序
編譯完成后,連接PC機(jī)上的超級終端,就可以運(yùn)行新的內(nèi)核了。在超級終端的sash提示符下,輸入如下命令運(yùn)行Microwindows應(yīng)用程序:
/>cd /bin
/bin>./ mterm
這時(shí),在LCD上就會(huì)顯示一個(gè)類似Windows的窗口
熱門點(diǎn)擊
- 在PC上運(yùn)行的實(shí)時(shí)操作系統(tǒng)LabVIEW R
- Keil C動(dòng)態(tài)內(nèi)存管理機(jī)制分析及改進(jìn)
- ARM內(nèi)核的中斷技術(shù)
- 交流異步電動(dòng)機(jī)矢量控制系統(tǒng)的嵌入式設(shè)計(jì)
- 視頻采集卡Windows95驅(qū)動(dòng)程序設(shè)計(jì)
- Microwindows在遠(yuǎn)程紅外抄表器中的
- 8051單片機(jī)在線升級軟件的方法
- 采用8位單片機(jī)驅(qū)動(dòng)PCI總線網(wǎng)卡的設(shè)計(jì)方案
- 基于ARM和FPGA的多功能車輛總線嵌入式系
- 基于I2C總線的MSP430單片機(jī)應(yīng)用系統(tǒng)設(shè)
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究