好记性不如铅笔头

随手记

【转】emWin 介绍

本文转自【 https://blog.csdn.net/P_xiaojia/article/details/83375720 】,有删改。

一、emWin介绍

emWin是Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,适合用于任何图形LCD的操作应用,并可输出高质量的无锯齿的文字和图形,通过调用emWin提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。

二、emWin、ucGUI、STemWin三者之间的关系

1. 三者都是Segger 公司的产品。
2.emwWn是Segger 公司图形系统的正式统称。
3.ucGui 是Segger公司为 Micrium 公司(uCOS-II 、uCOS-III)量身定制的 emWin。
4.STemWin是Segger 公司为 ST公司量身定制的emWin,适合stm32使用。(像ARM Cortex-M 系列授权于多个公司,ST公司的产品我们一般叫做stm32类似。其实都是同一个东西,授权不同厂家而已)

三、关于STemWin

STemWin 是 SEGGER 公司授权给 ST(意法半导体)的。使用 ST 芯片的用户可以免费使用STemWin。其实不光授权给了 ST,还有 NXP,Energy Micro 等。凡是使用这些芯片厂商生产的处理器都可以免费的使用 emWin。但是出于一定的保护措施,使用 STemWin 的库是不能用在其它芯片厂商的处理器上面的。因为在工程初始化 STemWin 前要使能 CRC 校验。如果没有使能,STemWin 是启动不起来的。 KEIL MDK的安装目录里面也带有 emWin 软件包,这个软件包也不是可以直接使用的,用户需要给 KEIL MDK 注册RL-ARM 才可以使用。这里 STemWin 还针对 ST 的微控制器做了专门的优化,比如在使用 ST 的 F4XX 微控制器带 FPU 的芯片时,STemWin 在需要浮点处理的地方专门做了优化。

四、emWin两大开发利器: 模拟器和 GUI builder

模拟器:
为解决前期开发没有硬件的烦恼,Segger提供了一个基于PC的emWin模拟器,用户可在模拟器上进行GUI界面的设计,待界面设计成熟之后,再将代码移植到嵌入式开发平台,可加快整个工程的开发进度。
emWin模拟器提供了全部的源码,用户可根据实际LCD的分辨率修改模拟器的屏幕分辨率。模拟器附带的Demo源码极具参考价值,几乎涵盖了emWin中所有的控件使用,用户通过学习这些例程,并参考官方的emWin手册,可快速入门emWin的开发。
GUIBuilder:
GUIBuilder是emWin附带的一款无需使用C语言编程即可创建对话框的工具,并提供了丰富的控件,用户只需在GUIBuilder中通过拖拽控件,摆放控件的位置和调整控件的大小,还可以在上下文菜单中设置各控件的属性,将设计的界面另存为C文件,可以直接拿到emWin工程中使用,生成的C代码中还自动添加了事件处理框架,用户只需关注事件的处理上。让用户从为设计一个界面而反复修改代码,烧录,运行,再修改的痛苦中解放出来。在GUIBuilder上经过控件的拖拽,调整,修改属性,轻松创建一个网络设置对话框界面。将其生成的C代码移植到项目工程中,再进行一些细节修改和调整,并将控件的文本显示替换为中文显示。

Leave a Reply

17 − 10 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据