位置:51电子网 » 技术资料 » 嵌入式系统

基于S3C44B0X的Microwindows在远程红外抄表器中的应用

发布时间:2008/5/27 0:00:00 访问次数:459

随着嵌入式系统的广泛应用,面向人机交互的嵌入式产品的需求量越来越大,gui的设计也变得越来越重要。在linux之上进行实时嵌入式系统开发的厂商,一般会选择如下几种gui系统:高度裁减的x windows 系统、minigui、microwindows、qt/embedded等。microwindows作为一种开放式源码的嵌入式gui软件,目的是把图形视窗环境引入到运行linux的小型设备和平台上,其体系结构如图1所示。microwindows的可移植性非常好,有多种平台的支持,而以samsung公司的s3c44b0x嵌入式处理器芯片为核心的arm平台就是其中的一种。

本文详细阐述了microwindows在s3c44b0x上的应用,最后给出了mcrowindows在远程红外抄表器中的应用。



图1microwindows的体系结构

microwindows在s3c44b0x上的应用

内核的裁剪与配置

在嵌入式系统中,内核裁减是必不可少的工作。内核的大小,关系到硬件系统需要多大的存储空间,存储空间越大需要的硬件成本也越高。 mclinux内核采用模块化的设计,即很多功能块可以独立的加上或卸下,开发人员在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核时指定。因此,一种较通用的做法是对mclinux内核重新编译,在编译时选择嵌入式设备所需要的功能支持模块,同时删除不需要的功能。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量。

以s3c44b0x为核心的embest edukit-ii目标平台采用了mclinux操作系统,进入显示屏是256色stn lcd,其显示驱动基于frame buffer的驱动程序,因此microwindows的显示需要在内核中有linux frame buffer支持。当然,如果还需要其他的一些功能,例如tftp下载,则也可以在配制中加载进去。mclinux内核对frame buffer支持的配置图如图 2 所示。



图2mclinux内核配置图(关于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,在相应的菜单块中增加一行,如下所示:

boolmterm config_user_

microwin_bin_mterm

boolmuserfdconfig_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的窗口。
  
microwindows在远程红外抄表器中的应用

远程红外抄表器是专为住宅区物业管理人员抄取电表、水表、煤气表设计的。它作为一款有推广意义的嵌入式产品,为了便于用户对其进行操作,它不但需要给用户提供一个友好的图形界面,而且对成本的考虑也非常重要。microwindows是一个开放源码的项目,它提供了比较完善的图形功能,因此把它应用于抄表器的开发中能够在满足用户需求的基础上有效地降低成本。

远程红

随着嵌入式系统的广泛应用,面向人机交互的嵌入式产品的需求量越来越大,gui的设计也变得越来越重要。在linux之上进行实时嵌入式系统开发的厂商,一般会选择如下几种gui系统:高度裁减的x windows 系统、minigui、microwindows、qt/embedded等。microwindows作为一种开放式源码的嵌入式gui软件,目的是把图形视窗环境引入到运行linux的小型设备和平台上,其体系结构如图1所示。microwindows的可移植性非常好,有多种平台的支持,而以samsung公司的s3c44b0x嵌入式处理器芯片为核心的arm平台就是其中的一种。

本文详细阐述了microwindows在s3c44b0x上的应用,最后给出了mcrowindows在远程红外抄表器中的应用。



图1microwindows的体系结构

microwindows在s3c44b0x上的应用

内核的裁剪与配置

在嵌入式系统中,内核裁减是必不可少的工作。内核的大小,关系到硬件系统需要多大的存储空间,存储空间越大需要的硬件成本也越高。 mclinux内核采用模块化的设计,即很多功能块可以独立的加上或卸下,开发人员在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核时指定。因此,一种较通用的做法是对mclinux内核重新编译,在编译时选择嵌入式设备所需要的功能支持模块,同时删除不需要的功能。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量。

以s3c44b0x为核心的embest edukit-ii目标平台采用了mclinux操作系统,进入显示屏是256色stn lcd,其显示驱动基于frame buffer的驱动程序,因此microwindows的显示需要在内核中有linux frame buffer支持。当然,如果还需要其他的一些功能,例如tftp下载,则也可以在配制中加载进去。mclinux内核对frame buffer支持的配置图如图 2 所示。



图2mclinux内核配置图(关于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,在相应的菜单块中增加一行,如下所示:

boolmterm config_user_

microwin_bin_mterm

boolmuserfdconfig_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的窗口。
  
microwindows在远程红外抄表器中的应用

远程红外抄表器是专为住宅区物业管理人员抄取电表、水表、煤气表设计的。它作为一款有推广意义的嵌入式产品,为了便于用户对其进行操作,它不但需要给用户提供一个友好的图形界面,而且对成本的考虑也非常重要。microwindows是一个开放源码的项目,它提供了比较完善的图形功能,因此把它应用于抄表器的开发中能够在满足用户需求的基础上有效地降低成本。

远程红
相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!