490 likes | 882 Views
MiniGUI 培训讲义. 北京飞漫软件技术有限公司. 内容提要 (1). MiniGUI 简介 飞漫软件核心技术 -MiniGUI MiniGUI 和嵌入式操作系统的关系 MiniGUI 功能特色 MiniGUI 和其它嵌入式 GUI 系统的对比 MiniGUI 成功案例及典型应用 飞漫软件的 MiniGUI 授权策略 MiniGUI 体系架构 MiniGUI 应用编程的基本概念 MiniGUI 到 uC/OS-II 操作系统上的移植 MiniGUI 相关产品. 飞漫软件核心技术 - MiniGUI.
E N D
MiniGUI培训讲义 北京飞漫软件技术有限公司
内容提要(1) • MiniGUI 简介 • 飞漫软件核心技术-MiniGUI • MiniGUI 和嵌入式操作系统的关系 • MiniGUI 功能特色 • MiniGUI 和其它嵌入式 GUI 系统的对比 • MiniGUI 成功案例及典型应用 • 飞漫软件的 MiniGUI 授权策略 • MiniGUI 体系架构 • MiniGUI 应用编程的基本概念 • MiniGUI 到 uC/OS-II 操作系统上的移植 • MiniGUI 相关产品
飞漫软件核心技术-MiniGUI • 面向实时嵌入式系统的轻量级图形用户界面支持系统 • 1999 年初以 GPL 条款发布了第一个版本,国际知名的自由软件项目 • 已广泛应用于手持信息终端产品、机顶盒、工业控制系统及工业仪表、彩票机、金融终端等等 • 已成为跨操作系统的图形用户界面支持系统:可在Linux/uClinux、eCOS、uC/OS-II、VxWorks、pSOS 等操作系统上运行 • 已验证硬件平台:Intel x86, ARM (ARM7 /AMR9 /StrongARM/xScale), PowerPC, MIPS, M68K, ColdFire
MiniGUI的功能特色(1) • 完备的多窗口机制和消息传递机制 • 提供对话框、消息框和常用的控件类 • 菜单、滚动条、加速键、插入符、定时器等 GUI 元素 • 完善的 GDI 图形接口支持 • 位图、光标和图标等Windows资源文件支持各种流行的图像文件的支持,包括JPEG、GIF、PNG、BMP等
MiniGUI的功能特色(2) • 支持 ISO8859-1~ISO8859-15、GB2312、GBK、GB18030、BIG5、EUCKR、EUCJP、Shift-JIS、UNICODE 等字符集 • 非UNICODE 内码实现,更加适合嵌入式系统 • 支持点阵字体(包括 QPF),TrueType 以及Adobe Type1 等矢量字体 • 汉字输入法支持,包括内码、全拼、智能拼音、五笔、自然码、手写输入法等 • 支持高级多媒体界面设计的“皮肤”技术
典型系统配置: 10 MIPS 以上 8MB FLASH 16MB RAM 产品范围: 高、中、低端 许可费: 8RMB~20RMB/副本 本地技术支持及服务 跨操作系统支持 典型系统配置: 200MIPS 以上 16MB FLASH 32MB RAM 产品范围: 多用于高端产品中 许可费: 30RMB/副本 非本地技术支持 仅支持嵌入式 Linux MiniGUI vs. Qt/Embedded
典型系统配置: 10 MIPS 以上 8MB FLASH 16MB RAM 产品范围: 高、中、低端 许可费: 8RMB/副本 本地技术支持及服务 跨操作系统支持 典型系统配置: 30MIPS 以上 16MB FLASH 16MB RAM 产品范围: 中、低端 许可费: 免费 无技术支持,无担保 仅支持 Linux/uClinux MiniGUI vs. MicroWindows
MiniGUI 典型应用-信息终端 • 采用 MiniGUI的信息终端类产品有: • 多媒体信息查询终端 • 各种高、中、低档手持信息终端 • 销售点终端(POS) • 彩票销售系统 • ……
MiniGUI 典型应用-数控系统 • 使用 Linux 和 MiniGUI 开发的数控系统产品已超过五套,总出货量约 1000 台 • 系统稳定、速度快 • 实时性好
MiniGUI 典型应用-称重仪表 • 全球第二大称重仪表生产商采用 MiniGUI 开发了两款中高档称重仪表 • 第一款产品销量已达一千台 • 第二款产品将在西欧上市销售
MiniGUI 典型应用-医疗仪器 • 医疗仪器采用 MiniGUI作为图形用户界面支持系统 • 激光医疗设备 • 激光美容设备 • CT 设备等
基于 MiniGUI 的手持终端产品 • 长城:行业用 PDA 产品(2000) • 深圳元征:汽车检测用PDA产品(2002) • 东莞方正:单兵作战手持系统(2002) • 中原电子:军用 PDA 产品(2003) • 南京东集:夺标88 PDA 产品(2004) • 多款 WiFi 手机(2004~2005)
飞漫软件的 MiniGUI 授权策略 • 双授权机制 • GPL 及商业授权共存 • 为无法遵循 GPL 的商业用户提供商业授权
内容提要(2) • MiniGUI 简介 • MiniGUI 体系架构 • MiniGUI 的技术优势 • 三种运行模式 • MiniGUI-Threads 特点及应用模型 • MiniGUI-Lite特点及应用模型 • MiniGUI-Standalone特点及应用模型 • MiniGUI 应用编程的基本概念 • MiniGUI 到 uC/OS-II 操作系统上的移植 • MiniGUI 相关产品
MiniGUI 的技术优势(1) • 轻型、占用资源少 • 可在CPU运算能力为 10 MIPS,仅有 4MB RAM 的系统上正常运行 • 整个系统的占用空间最少为 500KB • 高性能、高可靠性 • MiniGUI 体系结构及优化的图形接口,可确保最快的图形绘制速度 • 已在许多实际产品,尤其是工控系统中得到应用,总装机量达 5 万台以上
MiniGUI 的技术优势(2) • 可配置 • 可根据需求进行配置,获得满足应用需求的最小系统 • 可伸缩性强 • 可用于基于 DragonBall 的低端产品中 • 亦可用于基于 StrongARM 或 xScale 的高端产品中
MiniGUI 的技术优势(3) • 跨操作系统支持 • 理论上可支持任意多任务的嵌入式操作系统 • 实际已支持 Linux/uClinux, eCos, uC/OS-II, VxWorks 等嵌入式操作系统 • 在不同操作系统上的 MiniGUI,提供完全兼容的 API 接口 • 三种运行模式,使 MiniGUI 更易于满足操作系统和应用程序需求
MiniGUI -Threads 的主要特点 • 符合POSIX标准的多线程编程模型 • 所有程序运行在同一个地址空间 • 完全的多窗口支持,每个线程都可以建立自己的窗口,窗口之间可以层叠 • 不同的线程间可以通过MiniGUI提供的消息传递机制进行事件传送和同步 • 该模式使得 MiniGUI 可支持任意多任务嵌入式操作系统 • 适合工业实时控制系统、智能信息终端等产品
MiniGUI应用程序 MiniGUI API POSIX threads library OS MiniGUI-Threads的软件架构
GUI线程 非GUI线程 消息 GUI主线程 基于 MiniGUI-Threads的程序结构
MiniGUI-Lite 的主要特点 • Unix进程编程模型,程序作为独立的进程运行在不同的地址空间 • 可以进行前后台进程的切换 • 简化的客户/服务器体系结构,系统的进程间的数据传输很少,资源消耗少 • 客户程序和服务器可以通过Unix进程间通讯方式进行数据传输,通过信号量进行同步 • 使用具备完整 UNIX 特征的操作系统,如 Linux/uClinux
MiniGUI -Lite 的窗口绘制机制 • 根据嵌入式系统的特点而优化 • 客户进程独占屏幕区域进行绘制,同一进程的主窗口可以互相剪切 • 服务器程序可创建全局性的窗口对象
程序(进程)1 程序(进程)2 程序(进程)3 UNIX套接字 服务器程序 鼠标 键盘 MiniGUI-Lite的程序结构
MiniGUI-Standalone的主要特点 • 独立进程结构,适合非多任务操作系统 • 实质是独立运行的 MiniGUI-Lite 服务器程序
内容提要(3) • MiniGUI 简介 • MiniGUI 体系架构 • MiniGUI 应用编程的基本概念 • MiniGUI 的配置 • MiniGUI 的交叉编译 • 窗口及控件 • 消息及窗口回调函数 • 图形接口 • 示例程序 • MiniGUI 到 uC/OS-II 操作系统上的移植 • MiniGUI 相关产品
MiniGUI 的配置 • 可配置模块 • 指定要运行的操作系统 • 指定运行模式 • 指定图形及输入引擎 • 指定要支持的字体类型及字符集类型 • 指定要支持的图像文件格式 • 指定要包含的控件类 • 指定控件的整体风格 • 配置示例
MiniGUI 的交叉编译 • Linux/uClinux/eCos • autoconf/automake • uC/OS-II • 在 Linux 下使用 autoconf/automake 工具 • 使用集成开发环境 • 使用手工 Makefile 文件及 cygwin 环境 • VxWorks • 使用手工 Makefile 文件及 cygwin 环境
窗口和控件 • 窗口的概念 • 控件类 • 主窗口和控件 • MiniGUI 内建窗口类
消息及窗口回调函数 • 消息及消息循环 • 窗口回调函数 • 常见消息及处理 • 主窗口和控件的创建 • 用户交互 • 和控件的交互
图形接口 • 图形设备上下文 • DC 的概念、获取及释放 • 什么时候绘图? • DC 属性 • 基本绘图函数 • 高级绘图函数 • 需要完整数学库的支持 • 提供对高级二维绘图对象的支持,如画笔、画刷等
内容提要(4) • MiniGUI 简介 • MiniGUI 体系架构 • MiniGUI 应用编程的基本概念 • MiniGUI 到 uC/OS-II 操作系统上的移植 • uC/OS-II 操作系统的特点 • 移植到 uC/OS-II 上的主要技术障碍 • 移植技术路线及过程 • MiniGUI 相关产品
uC/OS-II 操作系统的特点 • 极度精简的实时多任务操作系统 • 只提供了基本的多任务管理及同步机制
移植到 uC/OS-II 上的主要技术障碍 • 缺少标准 I/O 函数(printf 等) • 缺少内存管理函数(malloc/free等) • 缺少 POSIX 标准兼容的线程接口
移植技术路线及过程 • 实现了 ANSI C 的标准 I/O 函数 • 实现了 ANSI C 的标准内存管理函数 • 实现了 POSIX 标准兼容的线程接口 • 利用 SkyEye 模拟器调试上述实现 • 采用Dummy图形引擎及Auto输入引擎 • 针对具体硬件开发板编写对应的图形及输入引擎
内容提要(5) • MiniGUI 简介 • MiniGUI 体系架构 • MiniGUI 应用编程的基本概念 • MiniGUI 到 uC/OS-II 操作系统上的移植 • MiniGUI 相关产品 • 飞漫软件围绕 MiniGUI 的产品 • 更多飞漫产品… • MiniGUI 的未来
飞漫软件围绕 MiniGUI 的产品(1) • MiniGUI 增值版 • 最新的 MiniGUI 源代码 • 技术支持服务及免费升级 • 飞漫手持信息终端应用套件(FHAS) • 丰富的产品内容 • PIM 程序、媒体程序、游戏程序、系统设置及工具 • 采用共享源码的授权方式 • 提供专业培训,帮助掌握 FHAS 源代码
飞漫软件围绕 MiniGUI 的产品(2) • FMedia:飞漫个人多媒体娱乐平台 • 在 PC 平台上完成几乎所有的多媒体娱乐功能: • 听音乐、放电影、看照片、上网冲浪… • MGIS:飞漫地理信息系统软件 • 国内第一个基于 Linux 的嵌入式地理信息系统软件 • 适合高端智能手持终端、汽车电子、军用作战系统等
更多飞漫产品... • MiniGUI 应用程序设计器 • 所见即所得的界面设计器 • 代码自动生成及项目维护 • 字体编辑工具、内嵌位图生成工具等 • 智能手持终端开发工具套件,适合 • 智能手机(2.5G, 3G SmartPhone) • 无线局域网手机(WiFi Phone) • 便携式多媒体播放器(Pocket Media Player)
MiniGUI 的未来 • 跨平台支持 • MiniGUI 已可在 Linux/uClinux、eCos、uC/OS-II、 VxWorks 等嵌入式操作系统中运行 • 还将支持更多的嵌入式操作系统 • 所见即所得开发工具 • 飞漫软件将为 MiniGUI 用户提供界面设计工具 • 还将提供嵌入式产品的纯软件模拟平台和集成开发环境 • 成为嵌入式系统的开放性 GUI 标准平台
飞漫软件能为您做什么? • 提供性能出众的嵌入式中间件产品 • 提供 MiniGUI商业授权与专业服务 • 为您量身定做嵌入式系统 • 受您委托开发嵌入式应用软件 • 嵌入式操作系统和 MiniGUI 开发培训及合作 • 帮您顺利完成嵌入式产品的研发
飞漫是您值得信赖的伙伴 谢谢大家!