第8章_图形用户接口——MiniGUI

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪kernel/drivers/video/fbmem.c 该文件的作用是告诉内核如何调用相应的FrameBuffer驱动。
14
第八章 图形用户接口—MiniGUI
8.4.3 FrameBuffer设备文件的添加
Linux要在嵌入式系统上运行,还需要文件系统的支持。 应用程序对FrameBuffer驱动程序的使用是通过设备文件来 进行的。
11
第八章 图形用户接口—MiniGUI
主要内容
1 MiniGUI简介 2 MiniGUI在Linux下运行环境的建立 3 在QVFB上的仿真应用 4 Linux下S3C2410 FrameBuffer的启动 5 MiniGUI在S3C2410上的移植 6 MiniGUI输入引擎IAL的开发 7 在S3C2410上运行简单的绘图程序
在应用程序中,若想使用FrameBuffer,一般需要 把FrameBuffer设备文件映射到进程地址空间。操作 方法是首先打开/dev/fb0设备,然后通过mmap系统 调用进行地址映射,接下来就可以对Framebuffer进 行操作了。
13
第八章 图形用户接口—MiniGUI
8.4.2 FrameBuffer驱动的添加
QVFB
QVFB是Qt(Qt是Linux 窗口管理器KDE使用的底层函数库) 提供的一个虚拟的FrameBuffer工具。在X Window环境下, 进行基于QVFB之上的MiniGUI模拟开发、调试是常用的开发 调试手段。
FrameBuffer 对于大部分兼容VESA标准显卡的PC机,使用
设备驱动
所以,必须在文件系统中创建FrameBuffer相应的设备文 件,才能让应用程序使用FrameBuffer驱动。
由于设备文件使用了设备文件系统,因此,可以不必考虑 其主次设备号,只需要考虑驱动程序调用的是设备fb0即可, 但又因为设备文件系统生成的设备文件为fb/0,所以需要在 文件系统中做一个符号连接,也就是当找到fb/0时,直接连 接到fb0。要实现以上的符号连接,只需要在文件系统的 /usr/etc/rc.local文件中添加
1、下载压缩的库文件libminigui-1.3.3.tar.gz 2、解压缩
tar zxvf libminigui-1.3.3.tar.gz 3、配置图形界面
make menuconfiБайду номын сангаас 4、安装库文件
make make install
8
第八章 图形用户接口—MiniGUI
主要内容
1 MiniGUI简介 2 MiniGUI在Linux下运行环境的建立 3 在QVFB上的仿真应用 4 Linux下S3C2410 FrameBuffer的启动 5 MiniGUI在S3C2410上的移植 6 MiniGUI输入引擎IAL的开发 7 在S3C2410上运行简单的绘图程序
RedHat内核中包含的VESA FrameBuffer驱动程序 就可以运行MINIGUI了。如果自己编译内核,则需要
选中FrameBuffer的支持。
6
8.2.2 安装资源文件
第八章 图形用户接口—MiniGUI
在Linux环境下,把该文件复制到/opt/emulation目录下 (emulation目录为创建的目录)。执行如下解压缩命令:
5
第八章 图形用户接口—MiniGUI
8.2.1 MiniGUI在Linux下的运行环境
在运行Linux的PC机上,MiniGUI应用程序可以通过以下两种 方式运行:
▪在X Window上,在虚拟FrameBuffer的QVFB中运行; ▪在Linux的字符控制台上,在Linux内核提供的FrameBuffer 驱动上运行。
17
第八章 图形用户接口—MiniGUI
8.5.1 安装MiniGUI的资源文件
1、在PC机上对资源文件minigui-res-1.3.3.tar.gz解压缩;
[root@localhost target]# tar zxvf minigui-res-1.3.3.tar.gz
2、进入minigui-res-1.3.3目录,安装资源文件;
ln -s fb/0 fb0
15
第八章 图形用户接口—MiniGUI
8.4.4 FrameBuffer测试程序编写
FrameBuffer程序移植完成后,需要对其进行测试,确 保没有问题后才能进行下一步MiniGUI的移植。
测试程序的主要功能是:在文件系统中添加一个应用程序 ,通过系统调用打开/dev/fb0设备文件,显示相应的信息 ,并向映射的缓存写入显示数据,在LCD屏上显示间隔相 等的多种颜色条纹。
将支持S3C2410的FrameBuffer驱动的源程序S3C2410fb.c 编译进内核。 为了保证编译成功,还需要对如下相关文件进行修改:
▪kernel/drivers/video/Config.in 这个文件包含许多与显示相关的配置信息。
▪kernel/drivers/video/Makefile 在该文件中设置如果配置时选择了CONFIG_FB_S3C2410,就 会将S3C2410 FrameBuffer的驱动程序加入linux内核。
12
第八章 图形用户接口—MiniGUI
8.4.1 FrameBuffer简介
FrameBuffer是出现在linux 2.2.xx及以上内核当 中的一种驱动程序接口。这种接口将显示设备抽象为 帧缓冲区。用户可以将它看成是显示内存的一个映像 ,将其映射到进程地址空间之后,就可以直接进行读 写操作,写操作可以立即反映在屏幕上。该驱动程序 的设备文件一般是/dev/fb0、/dev/fb1等等。
第8章
图形用户接口——MiniGUI
第八章 图形用户接口—MiniGUI
主要内容
1 MiniGUI简介 2 MiniGUI在Linux下运行环境的建立 3 在QVFB上的仿真应用 4 Linux下S3C2410 FrameBuffer的启动 5 MiniGUI在S3C2410上的移植 6 MiniGUI输入引擎IAL的开发 7 在S3C2410上运行简单的绘图程序
[root@localhost minigui-res-1.3.3]# make install
3、把/opt/target/minigui/usr/local/lib目录下的minigui目 录拷贝到要制作的cramfs文件系统的文件夹中。
18
第八章 图形用户接口—MiniGUI
【影院热映http://www.xigua57.com/label/front.html 西瓜影视 】西瓜影视站提供2020最新好看热门的电影电视剧,影院热 映电影、即将上映电影、热门大片推荐、最新vip电影在线免 费看
[root@localhost minigui-res-1.3.3]# make install
这样,资源文件就安装到/usr/local/lib/minigui/res目录。
7
第八章 图形用户接口—MiniGUI
8.2.3 配置安装MiniGUI库文件
MiniGUI是以库的形式提供给用户的,通过将MiniGUI 的库文件编译进应用程序来使用MiniGUI。步骤如下:
9
第八章 图形用户接口—MiniGUI
❖ 在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_engine = qvfb [qvfb] defaultmode = 320x240-8bpp
3
第八章 图形用户接口—MiniGUI
8.1.2 MiniGUI 的技术优势
和其它针对嵌入式产品的图形系统相比,MiniGUI具有如 下几大技术优势:
1.占用资源少 2.高性能、高可靠性 3.可定制配置 4.跨操作系统支持
4
第八章 图形用户接口—MiniGUI
主要内容
1 MiniGUI简介 2 MiniGUI在Linux下运行环境的建立 3 在QVFB上的仿真应用 4 Linux下S3C2410 FrameBuffer的启动 5 MiniGUI在S3C2410上的移植 6 MiniGUI输入引擎IAL的开发 7 在S3C2410上运行简单的绘图程序
16
第八章 图形用户接口—MiniGUI
主要内容
1 MiniGUI简介 2 MiniGUI在Linux下运行环境的建立 3 在QVFB上的仿真应用 4 Linux下S3C2410 FrameBuffer的启动 5 MiniGUI在S3C2410上的移植 6 MiniGUI输入引擎IAL的开发 7 在S3C2410上运行简单的绘图程序
2
第八章 图形用户接口—MiniGUI
8.1.1 MiniGUI的功能特色
MiniGUI是一种在嵌入式系统中提供图形及图形用户界 面支持的中间件技术,是面向嵌入式系统的轻量级图形用户 界面支持系统,国内著名的自由软件项目之一。
功能特性
▪ 完备的多窗口机制和消息传递机制。 ▪ 常用的控件类,包括静态文本框、按钮、单行和多行编辑框 、列表框、组合框、进度条、属性页、工具栏、拖动条、树型 控件、月历控件等。 ▪ 支持对话框和消息框以及其它GUI元素,包括菜单、加速键 、插入符、定时器等。 ▪ 通过两种不同的内部软件结构支持低端显示设备(比如单色 LCD)和高端显示设备(比如彩色显示器)。前者小巧灵活, 而后者在前者的基础上提供了更加强大的图形功能。 ▪ 支持Windows的资源文件,如位图、图标、光标等。 ▪ 支持各种流行的图像文件,包括JPEG、GIF、PNG、TGA 、BMP等等。 ▪ 支持多字符集和多字体。 ▪ 针对嵌入式系统,支持一般性的I/O操作和文件操作等。
19
第八章 图形用户接口—MiniGUI
8.5.2 配置安装MiniGUI库文件
1、确认安装了交叉编译器,即armv4l-unknown-linux系列 的交叉编译器;
2 、 改 变 目 录 到 / opt/target/libminigui-1.3.3 下 , 键 入 命 令 make menuconfig进行配置;
[root@localhost emulation]# tar zxvf minigui-res-1.3.3.tar.gz
该命令将建立minigui-res-1.3.3目录,然后进入该目录:
[root@localhost emulation]# cd minigui-res-1.3.3
最后,通过make install命令安装资源文件:
2.使用qvfb &命令启动已经安装的qvfb,并在File菜单 下配置qvfb为320x240-8bpp模式。
3.运行/opt/emulation/mg-samples/src/目录中的可执 行程序 。
10
第八章 图形用户接口—MiniGUI
❖ 在QVFB上运行自己编写的应用程序的步骤
假设文件名为demo.c,需要的步骤如下: 1.进入mg-samples-1.3.1目录,执行./configure ; 2.把文件demo.c复制到/opt/emulation/mg-samples1.3.1/src目录下 ; 3.打开该目录下的文件Makefile.am: 在 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程序: [root@localhost src]# ./demo
相关文档
最新文档