图形用户接口——minigui

上传人:san****019 文档编号:83604904 上传时间:2019-02-28 格式:PPT 页数:26 大小:1.71MB
返回 下载 相关 举报
图形用户接口——minigui_第1页
第1页 / 共26页
图形用户接口——minigui_第2页
第2页 / 共26页
图形用户接口——minigui_第3页
第3页 / 共26页
图形用户接口——minigui_第4页
第4页 / 共26页
图形用户接口——minigui_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《图形用户接口——minigui》由会员分享,可在线阅读,更多相关《图形用户接口——minigui(26页珍藏版)》请在金锄头文库上搜索。

1、第 8 章 图形用户接口MiniGUI,主要内容,1,4,2,6,MiniGUI简介,MiniGUI在Linux下运行环境的建立,Linux下S3C2410 FrameBuffer的启动,MiniGUI输入引擎IAL的开发,7,在S3C2410上运行简单的绘图程序,5,MiniGUI在S3C2410上的移植,3,在QVFB上的仿真应用,8.1.1 MiniGUI的功能特色,MiniGUI是一种在嵌入式系统中提供图形及图形用户界面支持的中间件技术,是面向嵌入式系统的轻量级图形用户界面支持系统,国内著名的自由软件项目之一。,功能特性,完备的多窗口机制和消息传递机制。 常用的控件类,包括静态文本框、

2、按钮、单行和多行编辑框、列表框、组合框、进度条、属性页、工具栏、拖动条、树型控件、月历控件等。 支持对话框和消息框以及其它GUI元素,包括菜单、加速键、插入符、定时器等。 通过两种不同的内部软件结构支持低端显示设备(比如单色 LCD)和高端显示设备(比如彩色显示器)。前者小巧灵活,而后者在前者的基础上提供了更加强大的图形功能。 支持Windows的资源文件,如位图、图标、光标等。 支持各种流行的图像文件,包括JPEG、GIF、PNG、TGA、BMP等等。 支持多字符集和多字体。 针对嵌入式系统,支持一般性的I/O操作和文件操作等。,8.1.2 MiniGUI 的技术优势,和其它针对嵌入式产品的

3、图形系统相比,MiniGUI具有如下几大技术优势: 1占用资源少 2高性能、高可靠性 3可定制配置 4跨操作系统支持,主要内容,1,4,2,6,MiniGUI简介,MiniGUI在Linux下运行环境的建立,Linux下S3C2410 FrameBuffer的启动,MiniGUI输入引擎IAL的开发,7,在S3C2410上运行简单的绘图程序,5,MiniGUI在S3C2410上的移植,3,在QVFB上的仿真应用,8.2.1 MiniGUI在Linux下的运行环境,在运行Linux的PC机上,MiniGUI应用程序可以通过以下两种方式运行:,在X Window上,在虚拟FrameBuffer的Q

4、VFB中运行; 在Linux的字符控制台上,在Linux内核提供的FrameBuffer驱动上运行。,QVFB,FrameBuffer设备驱动,QVFB是Qt(Qt是Linux 窗口管理器KDE使用的底层函数库)提供的一个虚拟的FrameBuffer工具。在X Window环境下,进行基于QVFB之上的MiniGUI模拟开发、调试是常用的开发调试手段。,对于大部分兼容VESA标准显卡的PC机,使用RedHat内核中包含的VESA FrameBuffer驱动程序就可以运行MINIGUI了。如果自己编译内核,则需要选中FrameBuffer的支持。,8.2.2 安装资源文件,在Linux环境下,把

5、该文件复制到/opt/emulation目录下(emulation目录为创建的目录)。执行如下解压缩命令: rootlocalhost emulation# tar zxvf minigui-res-1.3.3.tar.gz 该命令将建立minigui-res-1.3.3目录,然后进入该目录: rootlocalhost emulation# cd minigui-res-1.3.3 最后,通过make install命令安装资源文件: rootlocalhost minigui-res-1.3.3# make install 这样,资源文件就安装到/usr/local/lib/minigui

6、/res目录。,8.2.3 配置安装MiniGUI库文件,MiniGUI是以库的形式提供给用户的,通过将MiniGUI的库文件编译进应用程序来使用MiniGUI。步骤如下:,1、下载压缩的库文件libminigui-1.3.3.tar.gz 2、解压缩 tar zxvf libminigui-1.3.3.tar.gz 3、配置图形界面 make menuconfig 4、安装库文件 make make install,主要内容,1,4,2,6,MiniGUI简介,MiniGUI在Linux下运行环境的建立,Linux下S3C2410 FrameBuffer的启动,MiniGUI输入引擎IAL的

7、开发,7,在S3C2410上运行简单的绘图程序,5,MiniGUI在S3C2410上的移植,3,在QVFB上的仿真应用,在QVFB上运行示例程序的步骤,mg-samples-1.3.1目录下包含了MiniGUI提供的多个示例程序,通过在mg-samples-1.3.1目录下依次执行./configure命令和make命令,可以将这些示例程序编译生成可执行程序。,1按照如下配置,修改/usr/local/etc目录下的配置文件MiniGUI.cfg。 system gal_engine = fbcon改为gal_engine = qvfb ial_engine = console改为ial_en

8、gine = qvfb qvfb defaultmode = 320x240-8bpp 2使用qvfb &命令启动已经安装的qvfb,并在File菜单下配置qvfb为320x240-8bpp模式。 3运行/opt/emulation/mg-samples/src/目录中的可执行程序 。,在QVFB上运行自己编写的应用程序的步骤,假设文件名为demo.c,需要的步骤如下: 1进入mg-samples-1.3.1目录,执行./configure ; 2把文件demo.c复制到/opt/emulation/mg-samples-1.3.1/src目录下 ; 3打开该目录下的文件Makefile.am

9、: 在COMMON_PROGS = 的内容末尾填加可执行文件名demo。 然后,在noinst_PROGRAMS=$(COMMON_PROGS) $(LITE_PROGS)下填加demo_SOURCES = demo.c。 4在目录/opt/emulation/ mg-samples-1.3.1/src下,执行make命令 ,生成可执行文件demo; 5修改/usr/local/etc目录下MiniGUI的配置文件MiniGUI.cfg 6在/opt/emulation/ mg-samples-1.3.1/src目录下执行qvfb &命令; 7执行demo程序: rootlocalhost s

10、rc# ./demo,主要内容,1,4,2,6,MiniGUI简介,MiniGUI在Linux下运行环境的建立,Linux下S3C2410 FrameBuffer的启动,MiniGUI输入引擎IAL的开发,7,在S3C2410上运行简单的绘图程序,5,MiniGUI在S3C2410上的移植,3,在QVFB上的仿真应用,8.4.1 FrameBuffer简介,FrameBuffer是出现在linux 2.2.xx及以上内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,写操作可以立即反映在屏幕上。

11、该驱动程序的设备文件一般是/dev/fb0、/dev/fb1等等。 在应用程序中,若想使用FrameBuffer,一般需要把FrameBuffer设备文件映射到进程地址空间。操作方法是首先打开/dev/fb0设备,然后通过mmap系统调用进行地址映射,接下来就可以对Framebuffer进行操作了。,8.4.2 FrameBuffer驱动的添加,将支持S3C2410的FrameBuffer驱动的源程序S3C2410fb.c编译进内核。,为了保证编译成功,还需要对如下相关文件进行修改: kernel/drivers/video/Config.in 这个文件包含许多与显示相关的配置信息。 kern

12、el/drivers/video/Makefile 在该文件中设置如果配置时选择了CONFIG_FB_S3C2410,就会将S3C2410 FrameBuffer的驱动程序加入linux内核。 kernel/drivers/video/fbmem.c 该文件的作用是告诉内核如何调用相应的FrameBuffer驱动。,8.4.3 FrameBuffer设备文件的添加,Linux要在嵌入式系统上运行,还需要文件系统的支持。应用程序对FrameBuffer驱动程序的使用是通过设备文件来进行的。 所以,必须在文件系统中创建FrameBuffer相应的设备文件,才能让应用程序使用FrameBuffer驱

13、动。 由于设备文件使用了设备文件系统,因此,可以不必考虑其主次设备号,只需要考虑驱动程序调用的是设备fb0即可,但又因为设备文件系统生成的设备文件为fb/0,所以需要在文件系统中做一个符号连接,也就是当找到fb/0时,直接连接到fb0。要实现以上的符号连接,只需要在文件系统的/usr/etc/rc.local文件中添加 ln -s fb/0 fb0,8.4.4 FrameBuffer测试程序编写,FrameBuffer程序移植完成后,需要对其进行测试,确保没有问题后才能进行下一步MiniGUI的移植。 测试程序的主要功能是:在文件系统中添加一个应用程序,通过系统调用打开/dev/fb0设备文件

14、,显示相应的信息,并向映射的缓存写入显示数据,在LCD屏上显示间隔相等的多种颜色条纹。,主要内容,1,4,2,6,MiniGUI简介,MiniGUI在Linux下运行环境的建立,Linux下S3C2410 FrameBuffer的启动,MiniGUI输入引擎IAL的开发,7,在S3C2410上运行简单的绘图程序,5,MiniGUI在S3C2410上的移植,3,在QVFB上的仿真应用,8.5.1 安装MiniGUI的资源文件,1、在PC机上对资源文件minigui-res-1.3.3.tar.gz解压缩; rootlocalhost target# tar zxvf minigui-res-1.

15、3.3.tar.gz 2、进入minigui-res-1.3.3目录,安装资源文件; rootlocalhost minigui-res-1.3.3# make install 3、把/opt/target/minigui/usr/local/lib目录下的minigui目录拷贝到要制作的cramfs文件系统的文件夹中。,8.5.2 配置安装MiniGUI库文件,1、确认安装了交叉编译器,即armv4l-unknown-linux系列的交叉编译器; 2、改变目录到/opt/target/libminigui-1.3.3下,键入命令make menuconfig进行配置; 3、安装库文件: ma

16、ke make install 4、去除库文件libminigui-1.3.so.3.0.0和libmgext-1.3.so.3.0.0中的调试信息和符号信息。 armv4l-unknown-linux-strip libminigui-1.3.so.3.0.0,8.5.3 MiniGUI的移植步骤,要将MiniGUI移植到S3C2410,通常需要按照如下步骤进行: 1把已经去除调试信息和符号信息的MiniGUI库文件libminigui-1.3.so.3.0.0和libmgext-1.3.so.3.0.0,以及它们的符号连接文件,一同复制到要制作成cramfs文件系统的目录root_tech中的/lib下。 2把/opt/tgt/minigui/usr/local/lib下的minigui目录复制到要制作cramfs文件系统的目录中。比如放到该目录的/usr/sbin/下。当嵌入式系统运行时,应用程序在该minigui目录下调用相关的资源文件。 3在roo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号