1. 初识emXGUI

1.1. emXGUI是什么

简而言之,emXGUI(是Embed X Graphics User Interface的缩写)是针对嵌入式平台开发的图形软件库,包含 各种常用图形控件,通过调用emXGUI提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。

而图形软件库究竟是什么?就是一些与图形界面相关的函数,它提供接口给用户调用。例如,在没有使用图形软件库时,要控制LCD显示一个圆,需要用户自行根据LCD驱动编写 画圆的函数,而使用图形界面软件库的话,这个画圆函数已经由该软件库提供给用户,用户只需要调用这个函数,设置圆的半径、圆心、颜色就可以画出自己想 要的圆,不需要再考虑画圆的算法。

1.2. emXGUI的应用场合

emXGUI并不只是提供了画圆之类的基本绘图函数库,它的主要功能如下:

  • 绘制2-D图形:绘制圆、椭圆、多边形、弧线、线图和饼形图等;

  • 显示位图文件:显示BMP、JPEG、GIF及PNG格式的图片文件;

  • 显示文字:支持显示多国语言的文字,如中英文、越南语、西班牙语等等;

  • 处理用户输入:如键盘、鼠标及电阻/电容触摸屏的人机交互输入处理;

  • 提供各种窗口对象:这些窗口对象也被称为图形控件,最常见的如菜单控件、窗口控件、按键控件、复选框及框架窗口控件等,有了这些控件,就非常容易地制作出类似Windows系统的控制界面了。

emXGUI的这些功能,就是为了解决人机交互应用的设计难题。而它对ROM和RAM的消耗相对来说并不高。最低推荐配置为:Cortex-M0 ,50MHZ ,32KB RAM ,128KB ROM。这在当前大多数嵌入式平台都是可以接受的。又因为emXGUI可以在多任务系统及裸机的平台上运行,尤其适合嵌入式乱七八糟的开发要求,自然使得emXGUI在嵌入式人机交互场合中大放异彩。一些使用emXGUI制作出来的效果,见下。

图 1‑1 emXGUI效果演示效果图

1.3. emXGUI版本说明

表格 1‑1 emXGUI版本说明

版本号

时间

更新说明

作者

V1.0.0

2008-07-06

首发(公司内部产品使用至今2020-1-1)

AATECH刘巍

1.4. emXGUI版权

emXGUI由AATECH公司的刘巍编写,拥有完全自主的知识产权(包括emXGUI商标和软件著作权)。于2008年发布V1版本开始,十年深度优化,一直在公司产品中使用至今。

1.5. emXGUI收费

emXGUI V1 版本商用免费,无论是个人还是公司均可免费使用。但是技术支持收费,即针对使用emXGUI开发产品的公司或者个人提供收费的技术支持。

1.6. emXGUI源码

emXGUI不开源源代码,但提供多平台的LIB文件,提供完善的API手册,提供配套书籍《emXGUI应用开发实战指南》无论是个人还是公司都可以很快的上手。

1.7. emXGUI支持平台

emXGUI目前测试过的平台如下,但主要目标还是针对M3、M4、M7、ARM9和A5这些内核的处理器,这个才是emXGUI的阵地,A8、A9等 高端性能的处理器虽然能支持,但不是重点,不会花过多的精力去维护,毕竟这是安卓和QT的阵地。

  • ST:STM32F1、STM32F4、STM32F7、STM32H7

  • GD:GD32F207、GD32F407、GD32F450

  • NXP:i.MX RT1052、I.MX RT1020

  • ATMEL:SAMA5D3

  • 三星:s3c2440、s3c2416、s3c6410

  • 芯唐:N32903、N32905、N32926、NUC972

  • Cortex-A系列:S5PV210、Exynos4412、IMX6Q

1.8. emXGUI特色功能

这个是重点,目前你们所能见到的GUI有的功能,emXGUI几乎都有,下面简单介绍几个emXGUI的特色:

1、占用资源少,效率高,在STM32F103不外扩RAM的情况下可以流畅运行,最低推荐配置为:Cortex-M0 ,50MHZ ,32KB RAM ,128KB ROM。

2、控件风格支持用户复位义,如果你想改成扁平化的控件,只需几行代码即可搞定,emXGUI默认是WIN 风格。

3、友好地支持矢量字体,提供矢量字体制作工具,除了制作矢量字体外,还可以制作矢量的符号。

4、使用unicode字符编码支持多国语言,中文,英文,越南语,西班牙语等等,如果你的产品有界面且需要销往国外,那么emXGUI将是你不二之选。

5、支持鼠标,支持触摸(电阻屏和电容屏)。

5、自带滑动控件,非常方便,即在液晶屏上可以实现类似现在手机界面滑动的效果。

6、高性能的绘图引擎+高效的Z序剪切策略,双管齐下,自带瓦伦增压。

1.9. emXGUI资料获取

emXGUI的资料均可从emXGUI官网和野火电子论坛emXGUI专区获取。

1.10. emXGUI配套书籍

emXGUI的配套书籍由野火电子编写,书名为《emXGUI应用开发实战指南》,会有两本,分别基于STM32和i.MX RT 这两个平台处理器,会适配野火STM32和i.MX RT全系列的开发板。该书会编写边开源电子版,写完届时由机械工业出版社出版。

1.11. emXGUI配套的软件工具

  • emXGUI Font Creater:用于制作emXGUI字体,格式为xft格式;也可将ttf矢量字体转换成可以抗锯齿的字体,外观上和矢量字体一样,这样就可以不使用freetype库。

  • 模拟器:暂时没有,但是以后会发布。