Microwindows在远程红外抄表器中的应用
发布时间:2007/8/29 0:00:00 访问次数:832
来源:电子设计应用 作者:陈艳 李茜 闫效莺 黄鹏 车小平
摘 要: 本文详细阐述了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的窗口