详述嵌入式系统下Microwindows的实现

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍详述嵌入式系统下Microwindows的实现

CONFIG_FB=y
CONFIG_FB_VGA16=y
CONFIG_FBCON_VGA=y
CONFIG_FBCON_CFB4=y
CONFIG_FBCON_CFB8=y

  如果系统支持图形卡而不是标准的老式VGA,可以不用CONFIG_FB_VGA16选项。在重建内核之前,需要备份旧的内核,并且在lilo.conf文件中写明备份位置。启用帧缓存是大部分嵌入式系统的标准设置。

  最后一项重要配置是为Microwindows指定鼠标或触摸屏输入的驱动程序。目前Microwindows上的鼠标是通过GPM工具或直接使用串口。指令GPMMOUSE=Y是选择GPM支持,设置之后运行gpm工具,例如‘gpm –R –t ps2’(支持 PS/2 鼠标);指令SERMOUSE=Y 是选择串口,同时还要在src/drivers/mou_ser.c 中设置MOUSE_TYPE和MOUSE_PORT两个环境变量。

  (4)创建一个完整的演示系统

  一旦在配置文件中设置好选项后,只要用户不再改动,参数就保持不变。同时在src目录中还有很多针对不同平台的样本配置文件。要创建一个 Nano-X 服务器并且运行演示程序,首先进入microwin/src目录,然后键入“make”。所有的程序在microwin/src/bin目录中生成,客户链接库也放在microwin/src/lib目录下。要运行演示程序,首先运行Nano-X 服务器 (在bin/nano-X下),然后再运行应用程序。

bin/nano-X & sleep 1; bin/world

  在运行demonstration world plotting程序之前运行休眠命令以便服务器有一段时间来进行初始化。创建一个简单的Nano-X应用程序。目的:绘制一个带兰边的白色方块。源代码如下:

filename :sample.c
#define MWINCLUDECOLORS
#include
#include “nano-X.h”
int main(int ac,char **av)
{
GR_WINDOW_ID w;
GR_EVENT event;
if (GrOpen() < 0) {
printf(“Can’t open graphics
”);
exit(1);
}
w = GrNewWindow(GR_ROOT_WINDOW_ID, 20, 20, 100, 60, 4, WHITE, BLUE);
GrMapWindow(w);
for (;;) { GrGetNextEvent(&event); }
GrClose();
return 0;
}

作者:吴升艳 胡冰 岳春生    责编:豆豆技术应用

正在加载评论...