跟着野火从零开始手搓emWin(1)初识emWin

本文介绍了作者选择emWin而非QT的原因,主要因其对硬件配置要求较低且易于移植。文章概述了emWin库的结构,包括硬件驱动、软件架构、库文件和相关工具,强调了emWin在嵌入式GUI开发中的优势。
摘要由CSDN通过智能技术生成

PS:在嵌入式领域,本人认为QT的应用范围和性能几乎吊打市面上所有的GUI工具。但是本人之所以学习emWin,是因为自己有些微不足道的小想法,需要通过它来实现。但是QT有点吃硬件的配置,为了MCU专门发行的QT我又懒得去弄(玩嵌入式的多少都知道装QT的痛),所以我选择emWin。因为很大一部分原因是出于爱好,所以这个系列会更新的很慢。

        这一篇算是简单介绍,没什么有营养的东西,可以直接跳过。

emWin库文件

        目前, ST 官网中的 STemWin 版本已经不再继续更新, ST 已经将最新版本的STemWin 放到了 STM32 CUBE 库中。 STM32 CUBE 库可以从官网或者 STM32CubeMX 软件中获得。我这里使用的是野火提供个软件包,所以使用的版本为5.44a。

        解压得到STemWin库之后,其目录下内容如图所示:

        Config :其中的 GUIConf.c 文件用于配置 emWin 的存储空间分配,GUIConf.h 文 件 用 于 裁 剪 emWin 的 功 能 。其余的文件是 emWin 应用在不同液晶时使用的不同驱动模板;

        Documentation 提供了 emWin 库的用户手册。

        inc :它包含了全部的 emWin 库核心的头文件,各种关于库函数的声明、定义都在这些文件里面;

        Lib :包含 emWin 的代码库文件,针对不同 CPU 内核以及是否优化,都有一个相对应的 emWin 库,在使用的时候可以根据自己的平台选择合适的库文件;

        OS :它包含了 GUI_X.c 及 GUI_X_FreeRTOS.c 文件,分别是对应裸机平台的 GUI 延时,和多任务系统平台的关于进程调度之类的一些 emWin 所需要的底层接口;

        Simulation :它包含了用于 PC 端仿真时的 lib 库和一些依赖,但不包含PC 端仿真的完整工程。

        Software :它包含了 许多 PC 端辅助开发的软件工具。比如 BmpCvt.exe 用于把图片数据转换成 C 文件, GUIBuilder.exe 是一个使用图形界面方式开发 emWin 应用的工具,FontCvt.exe 则用于字体文件转换;

        Release_Notes.html :关于 emWin 库不同发行版本的简要更新说明文档。

emWin 应用的软件架构

        emWin 的软件架构如下:

        首先是硬件层,硬件层也就是我们常说的底层驱动,它提供了对硬件平台资源最直接的访问; emWin 软件库承上启下,它运行在硬件层之上,与硬件层之间仅靠液晶驱动连接起来,而向应用层则提供了各种便于用户制作 GUI 应用的接口。

        如果不使用 emWin 的软件架构,很可能由硬件层直接过渡到应用层。这样的应用程序将十分依赖于某个特定的硬件平台,不容易迁移到其它设备之中。而使用软件架构的好处就是方便我们进行移植。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值