电阻器厂家
免费服务热线

Free service

hotline

010-00000000
电阻器厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

Microwindows在基于单片机嵌入式系统中的移植

发布时间:2020-06-30 18:28:29 阅读: 来源:电阻器厂家

引言

本文引用地址:

microwindows是由gregory haerr组织的一个开放源码项目,是嵌入式系统中广泛应用的一种图形用户接口(gui),该项目的目标是在嵌入式linux平台上提供与普通个人电脑类似的图形用户界面。作为x_windows的替代品,microwindows提供了和x_windows类似的功能,但是却占用很少的内存,根据用户的配置,microwindows占用的内存资源只有100kb~600kb左右。microwindows的核心是基于显示设备接口的,可移植性较强,其本身提供了多种嵌入式系统常见的显示设备驱动程序。目前新版本的microwindows已经内建了framebuffer,因此可以不局限于linux的开发平台,在ecos、freebsd、minix等操作系统上都可以运行。在基于linux的开发平台上,可以使用framebuffer机制直接读写显存,也可以调用svgalib库。在基于linux的framebuffer机制中,microwindows支持每像素1位、2位、4位、8位、16位、32位的色彩/灰度,并通过调色板技术将rgb格式的颜色空间转换为目标机上的颜色进行显示。microwindows系统可以图形方式支持在主机平台上的仿真目标平台开发,因此microwindows应用程序就可以直接在台式机上进行编写和开发,通过交叉编译就可在目标平台上运行。

本文论述了在基于s3c44b0x的嵌入式开发平台上,移植了?clinux操作系统,并通过修改内核、编写framebuffer帧缓冲设备驱动程序,使?clinux内核能够支持帧缓冲设备,在此基础上移植microwindows的方法与过程。

microwindows的体系结构

针对嵌入式系统的特性,microwindows采用了层次化结构,每一层完成特定的功能,如图1所示。

图1 microwindows体系结构

设备驱动层

设备驱动程序的接口函数定义在device.h中,其中包括了屏幕驱动程序、鼠标驱动程序和键盘驱动程序。图形引擎层提供的与设备无关的图形引擎例程通过调用设备驱动程序跟硬件设备交互,这就保证了当平台硬件设备发生变化的时候,只需要改写相应的驱动程序即可,无需修改上层代码。microwindows 提供基于linux2.2.x内核的帧缓冲设备驱动程序,通过/dev/fb0 设备文件,利用mmap()系统调用将显示缓存映射至系统内存中。

东营工作服制作

济南工作服制做

菏泽职业装订制

制做T恤

相关阅读