- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1嵌入式GUI陈文智浙江大学计算机学院2005年4月
2提纲1.嵌入式GUI简介2.XWindows3.Tiny-X体系结构4.Tiny-X应用程序编写实验一:用Glade编写一个简单的应用程序实验二:Tiny-X下的Key/Led应用实验三:GT/E移植
嵌入式GUI设计一般来说包括以下3个方面:硬件设计,通过LCD控制器把LCD显示器和开发系统连接起来。驱动程序设计,为输出输入设备如LCD设计驱动程序,使硬件能驱动起来用户界面程序设计,使用嵌入式系统提供的函数库进行图形化程序设计01目前在嵌入式系统比较流行的图形用户界面GUI:02Qt/Embedded03MicroWindows04OpenGUI05MiniGUI06Tiny-X
01.采用客户端/服务器的设计概念02.XWindows由3部分组成:客户端、服务器和X协议03.XWindows是事件驱动,大部分时间处于一种等待事件发生的状态
XWindows的基本的API函数库:
TinyX是标准X-windows系统的简化版,设计目标是为了在小容量内存的环境下运行,非常适合用作嵌入式linux的GUI系统01采用标准的Client/Server体系结构02在嵌入式系统中使用Tiny-X图形用户界面开发产品,上层的应用程序的编写很方便03
Tiny-X系统架构:
FrameBuffer――帧缓冲器TinyX(Xfbdev)――TinyX为Xwindows的微缩版,有经过精简的Xlib类库Glib――包括一些基础数据类型和典型的C程序需要的功能GDK――是建立在Xlib上的针对图形图像类封装的底层图形库
1GTK――是建立在Xlib和GDK上的高级面向对象的类库2窗口管理器(QVWM):一种类似于window95风格的窗口管理器3Glade:GTK的集成开发环境
Tiny-X库的调用关系:
想在Xscale平台上编写基于Tiny-X的图形用户程序需要了解GTK+GTK+依赖于Glib并建立在GDK(GIMPDrawingKit)的上层,基本上是将Xlib功能包装起来,它是对底层的XWindows系统库Xlib的简化
容器消息及回调函数的概念构件信号、事件和对象
初始化GTK+:写GTK+程序需要调用gtk_init函数对Gtk+库进行初始化构件的使用,一般进行如下操作步骤:包含所调用构件的头文件声明构件构件指针的初始化安排构件的位置与层次关系编写事件处理函数GTK+事件循环
Glade由主窗口、构件箱窗口、属性编辑器窗口、构件树窗口和剪贴板窗口组成Glade是传统界面设计工具GTK/GDK的扩展,能满足基于GTK+库的图形用户界面可视化开发的基本需求
让Glade设计出界面元素,设置界面元素属性,为构件的信号设置回调函数将其存为XML格式,观察并修改不符合要求的部分编写应用其它部分代码,并在应用中载入Glade文件,编译C代码生成执行文件Glade帮助开发者生成界面代码,基本过程如下:
实验目的熟悉GTK+编程熟悉Glade的使用学会如何交叉编译一个GUI程序
在redhat9.0下安装Glade,选择系统/添加或删除软件包选择管理工具中的”细节”,添加Glade
通过Glade创建GUI程序创建新的Project,并保存为guitest创建一个按钮,选择option配置
3.设置参数生成ARM平台代码在src目录下生成了ARM平台的目标程序guitest,下载到目标板,并修改其属性为可执行属性#exportCC=arm-linux-gcc#./configure--host=arm--build=i686--target=arm\ --with-gtk-exec-prefix=/usr/local/XSBase-arm-linux-R1.1#make#cdsrc
选择编译,生成代码程序在主机平台上运行#/autogen.sh#make#cd/src#/guitest
复习设备驱动的编验目的进一步熟悉Glade的使用通过GUI界面的控件事件来控制系统底层的硬件在这个实验中分别使用Glade的8个buttuon控件来控制8个LED灯
建立相应的GUI界面结构建一个Glade图形用户界面工程
增加Button的事件处理
4.打开设备文件,在main.c中增如下代码,同时增加opendev.c以及opendev.h文件#includeinterface.h#includesupport.h#includeopendev.h//添加的
您可能关注的文档
最近下载
- 母材材质焊接材料.docx
- 电池管理系统(BMS)软件:Battery Management System二次开发_5.电池均衡技术与软件实现.docx
- 2025年R1快开门式压力容器操作证考试题库附答案.docx
- 2024绿色工厂通用评价指标评价表.docx
- 第二次全国土地调查技术规程(TD 1014-2007 ).pdf
- 2022年广东省广州市中考生物试卷.doc VIP
- 电力机车转向架的常见故障及解决.doc
- 18.《童年的水墨画》课件(共20张PPT).pptx VIP
- 高速公路无人机智能巡检平台.pptx
- 2023九年级道德与法治下册 第一单元 我们共同的世界 第一课 同住地球村第1课时 开放互动的世界说课稿 新人教版.docx VIP
文档评论(0)