基于S3C44B0X的Microwindows在远程红外抄表器中的应用
出处:12864 发布于:2007-08-01 16:36:27
本文详细阐述了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,在相应的菜单块中增加一行,如下所示:
boolmterm 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的窗口。
Microwindows在远程红外抄表器中的应用
远程红外抄表器是专为住宅区物业管理人员抄取电表、水表、煤气表设计的。它作为一款有推广意义的嵌入式产品,为了便于用户对其进行操作,它不但需要给用户提供一个友好的图形界面,而且对成本的考虑也非常重要。Microwindows是一个开放源码的项目,它提供了比较完善的图形功能,因此把它应用于抄表器的开发中能够在满足用户需求的基础上有效地降低成本。
远程红外抄表器的软件设计框图如图4所示。对于Microwindows在红外抄表上的应用主要涉及以下几个方面:
1、 Microwindows的硬件驱动程序的实现,包括屏幕、鼠标和键盘的驱动程序的编写。

图4 红外抄表器的软件系统
2、 Microwindows内核的裁减及其编译运行。在裁减过程中应该选择工程师熟悉的编程接口及其所选接口要求的一些选项,例如如果选择了Nano-X API,则在配置Microwindows时就必须选择支持客户/服务器的选项Nano-X和nanawm。本设计选择的是另一个编程接口Microwindows API,其配置编译过程已经做了详细的阐述。
3、对Microwindows所提供的编程接口的应用程序进行编写。选择编程接口,按照抄表器的功能需求编写应用程序,应用程序要体现所有的功能,由应用程序调用驱动程序。应用程序的设计一般包括如下几个方面:多种输入法的设计与支持;日期时间设置;定时开关机设置;背光开启时间设置;液晶对比度调节设置;自动启动设置;开机密码设置;串口选择及波特率设置;数据保护设置;节电模式设置;系统信息。
结语
本文着重阐述了Microwindows在以S3C44B0X为的ARM平台上的应用,在此基础上给出了Microwindows在远程红外抄表器中的应用。Microwindows正在嵌入式开发领域稳步发展,是完全的开放式源代码,为嵌入式设备提供了更多的解决方案。任何开发PDA或可移动设备的工程师都可从因特网相关程序,并将其移植或开发。熟悉图形应用程序的用户可以很快就在该系统上编写自己的图形应用程序,在未来的嵌入式系统设计中,它的应用潜力将是无可限量的。
参考文献:
[1]. S3C44B0X datasheet https://www.dzsc.com/datasheet/S3C44B0X_589522.html.
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 深入解析嵌入式 OPENAMP 框架:开启异核通信新时代2025/7/22 16:27:29
- 一文快速了解OPENWRT基础知识2025/7/14 16:59:04
- 独立 ADC 优势大揭秘:为何不可替代?2025/7/7 16:21:04
- 深入剖析:嵌入式中 RS485、RS422 和 RS232 的特点差异2025/7/5 15:07:54
- 揭秘嵌入式 MCU:浮点数据处理难点及应对策略2025/6/20 15:19:07