Microwindows在遠程紅外抄表器中的應用
發布時間:2007/8/29 0:00:00 訪問次數:824
來源:電子設計應用 作者:陳艷 李茜 閆效鶯 黃鵬 車小平
摘 要: 本文詳細闡述了Mcrowindows在S3C44B0X上的應用,最后給出了Mcrowindows在遠程紅外抄表器中的應用。
關鍵詞: S3C44B0X;Mcrowindows;嵌入式mClinux;遠程紅外抄表器
引言
隨著嵌入式系統的廣泛應用,面向人機交互的嵌入式產品的需求量越來越大,GUI的設計也變得越來越重要。在Linux之上進行實時嵌入式系統開發的廠商,一般會選擇如下幾種GUI系統:高度裁減的X Windows 系統、MiniGUI、Microwindows、QT/Embedded等。Microwindows作為一種開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環境引入到運行Linux的小型設備和平臺上,其體系結構如圖1所示。
Microwindows的可移植性非常好,有多種平臺的支持,而以Samsung公司的S3C44B0X嵌入式處理器芯片為核心的ARM平臺就是其中的一種。
本文詳細闡述了Microwindows在S3C44B0X上的應用,最后給出了Mcrowindows在遠程紅外抄表器中的應用。
圖1 Microwindows的體系結構
Microwindows在S3C44B0X上的應用
內核的裁剪與配置
在嵌入式系統中,內核裁減是必不可少的工作。內核的大小,關系到硬件系統需要多大的存儲空間,存儲空間越大需要的硬件成本也越高。 mClinux內核采用模塊化的設計,即很多功能塊可以獨立的加上或卸下,開發人員在設計內核時把這些內核模塊作為可選的選項,可以在編譯系統內核時指定。因此,一種較通用的做法是對mClinux內核重新編譯,在編譯時選擇嵌入式設備所需要的功能支持模塊,同時刪除不需要的功能。通過對內核的重新配置,可以使系統運行所需要的內核顯著減小,從而縮減資源使用量。
以S3C44B0X為核心的Embest EduKit-II目標平臺采用了mClinux操作系統,進入顯示屏是256色STN LCD,其顯示驅動基于Frame Buffer的驅動程序,因此Microwindows的顯示需要在內核中有Linux Frame Buffer支持。當然,如果還需要其他的一些功能,例如TFTP下載,則也可以在配制中加載進去。mClinux內核對Frame Buffer支持的配置圖如圖 2 所示。
圖2 mClinux內核配置圖(關于Frame Buffer)
基于Microwindows API的應用程序的添加
由于Microwindows API兼容Win32 API的編程模式,所以對于熟悉Win32 API的工程師而言,只要熟悉Microwindows API的函數庫,就可以根據客戶需求,開發出可以在Microwindows上支持的以Intel 16位、32位CPU,MIPS R4000 以及 ARM 芯片為核心的目標平臺上運行的應用程序,從而開發出新一代的嵌入式產品,如紅外抄表器,PDA等。
在此GUI的平臺搭建過程中,在內核中添加兩個應用程序,它們分別為mterm.c、muserfd.c。其中mterm.c是一個顯示終端的窗口,在主機上的超級終端上輸入信息,在LCD上類似Windows的窗口中就能得到顯示。實現過程如下:
(1)修改./config/config.in,在相應的菜單塊中增加一行,如下所示:
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進行重新編譯,就把新的應用程序加載到文件系統中了。
此外,還有一種快速添加應用程序到文件系統中的方法,即省略在系統中添加程序編譯加載信息,直接用交叉編譯工具自行編譯,然后將生成的Flat可執行文件放在romfs/bin目錄下,使用命令生成romfs鏡像。
編譯Microwindows
在應用程序配置界面中,選擇Microwindows,按照圖 3 的提示配置選定Microwindows中的項,其余不選定。
從Microwindows的配置界面可以看到新添加的應用程序已經出現在配置界面中,設置完畢后保存、退出。在Cygwin環境下依次執行make dep; make clean; make lib_only; make user_only ; make romfs; make image命令,即可完成編譯過程。
圖3 Microwindows的編譯配置界面
運行Microwindows應用程序
編譯完成后,連接PC機上的超級終端,就可以運行新的內核了。在超級終端的sash提示符下,輸入如下命令運行Microwindows應用程序:
/>cd /bin
/bin>./ mterm
這時,在LCD上就會顯示一個類似Windows的窗口
來源:電子設計應用 作者:陳艷 李茜 閆效鶯 黃鵬 車小平
摘 要: 本文詳細闡述了Mcrowindows在S3C44B0X上的應用,最后給出了Mcrowindows在遠程紅外抄表器中的應用。
關鍵詞: S3C44B0X;Mcrowindows;嵌入式mClinux;遠程紅外抄表器
引言
隨著嵌入式系統的廣泛應用,面向人機交互的嵌入式產品的需求量越來越大,GUI的設計也變得越來越重要。在Linux之上進行實時嵌入式系統開發的廠商,一般會選擇如下幾種GUI系統:高度裁減的X Windows 系統、MiniGUI、Microwindows、QT/Embedded等。Microwindows作為一種開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環境引入到運行Linux的小型設備和平臺上,其體系結構如圖1所示。
Microwindows的可移植性非常好,有多種平臺的支持,而以Samsung公司的S3C44B0X嵌入式處理器芯片為核心的ARM平臺就是其中的一種。
本文詳細闡述了Microwindows在S3C44B0X上的應用,最后給出了Mcrowindows在遠程紅外抄表器中的應用。
圖1 Microwindows的體系結構
Microwindows在S3C44B0X上的應用
內核的裁剪與配置
在嵌入式系統中,內核裁減是必不可少的工作。內核的大小,關系到硬件系統需要多大的存儲空間,存儲空間越大需要的硬件成本也越高。 mClinux內核采用模塊化的設計,即很多功能塊可以獨立的加上或卸下,開發人員在設計內核時把這些內核模塊作為可選的選項,可以在編譯系統內核時指定。因此,一種較通用的做法是對mClinux內核重新編譯,在編譯時選擇嵌入式設備所需要的功能支持模塊,同時刪除不需要的功能。通過對內核的重新配置,可以使系統運行所需要的內核顯著減小,從而縮減資源使用量。
以S3C44B0X為核心的Embest EduKit-II目標平臺采用了mClinux操作系統,進入顯示屏是256色STN LCD,其顯示驅動基于Frame Buffer的驅動程序,因此Microwindows的顯示需要在內核中有Linux Frame Buffer支持。當然,如果還需要其他的一些功能,例如TFTP下載,則也可以在配制中加載進去。mClinux內核對Frame Buffer支持的配置圖如圖 2 所示。
圖2 mClinux內核配置圖(關于Frame Buffer)
基于Microwindows API的應用程序的添加
由于Microwindows API兼容Win32 API的編程模式,所以對于熟悉Win32 API的工程師而言,只要熟悉Microwindows API的函數庫,就可以根據客戶需求,開發出可以在Microwindows上支持的以Intel 16位、32位CPU,MIPS R4000 以及 ARM 芯片為核心的目標平臺上運行的應用程序,從而開發出新一代的嵌入式產品,如紅外抄表器,PDA等。
在此GUI的平臺搭建過程中,在內核中添加兩個應用程序,它們分別為mterm.c、muserfd.c。其中mterm.c是一個顯示終端的窗口,在主機上的超級終端上輸入信息,在LCD上類似Windows的窗口中就能得到顯示。實現過程如下:
(1)修改./config/config.in,在相應的菜單塊中增加一行,如下所示:
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進行重新編譯,就把新的應用程序加載到文件系統中了。
此外,還有一種快速添加應用程序到文件系統中的方法,即省略在系統中添加程序編譯加載信息,直接用交叉編譯工具自行編譯,然后將生成的Flat可執行文件放在romfs/bin目錄下,使用命令生成romfs鏡像。
編譯Microwindows
在應用程序配置界面中,選擇Microwindows,按照圖 3 的提示配置選定Microwindows中的項,其余不選定。
從Microwindows的配置界面可以看到新添加的應用程序已經出現在配置界面中,設置完畢后保存、退出。在Cygwin環境下依次執行make dep; make clean; make lib_only; make user_only ; make romfs; make image命令,即可完成編譯過程。
圖3 Microwindows的編譯配置界面
運行Microwindows應用程序
編譯完成后,連接PC機上的超級終端,就可以運行新的內核了。在超級終端的sash提示符下,輸入如下命令運行Microwindows應用程序:
/>cd /bin
/bin>./ mterm
這時,在LCD上就會顯示一個類似Windows的窗口