MDK 软件集成了很多中间件,如emwin 图形库。

从MDK软件获取emwin 有两种方式。

获取方式一:在mdk安装目录下"x:\Keil_v5\ARM\Segger\emWin\Lib\"

获取方式二:打开MDK软件,在Pack installer里在线下载。

MDK在线下载可以获得最新的emwin版本,以下使用在线下载的方式记录移植过程。

在使用keil 软件下载后,在自己keil软件Pack的存放路径找相应文件。

我这边下载路径在

"C:\Users\Harive Lee\AppData\Local\Arm\Packs\Keil\MDK-Middleware\7.13.0\emWin\Lib"。

移植所需文件

Lib目录下包含M0、M3、M4的库,根据所用芯片内核选择库。

Include目录是emwin 库需要用到的头文件。

Sample目录是一些例程,我们可以直接参考使用。其中Sample/Config是用户需要配置文件。

Sample/DisplayDriver目录是跟LCD驱动相关接口配置,主要是配置LCD的打点接口和读点接口。

Sample\GUI_X 目录的文件根据自己使用的RTOS选择相应文件,触摸屏文件等,我的lcd不带触摸功能,且使用RTOS是ucos,所以只使用了GUI_X_uCOS.c文件。

移植配置需要修改的文件

1、GUIConf.c文件:#define GUI_NUMBYTES  (20*1024)//20K 这个宏定义是定义emwin GUI所需的Ram大小,根据自己芯片的Ram大小进行合理分配。

2、GUIConf.h文件:根据自身需求适配宏定义开关(0不使用,1使用),如是否使用os、触摸屏、鼠标等。

3、LCDConf.c文件:

#define XSIZE_PHYS 320 //根据LCD修改分辨率
#define YSIZE_PHYS 240 //根据LCD修改分辨率

#define COLOR_CONVERSION GUICC_M565 //修改颜色转换格式,根据硬件lcd配置,否则显示颜色异常

//   The folder "Sample\LCDConf\%DISPLAY_DRIVER%\".
#define DISPLAY_DRIVER GUIDRV_TEMPLATE //定义显示驱动,因为我这里使用的是Sample/DisplayDriver/GUIDRV_Template.c文件,这个宏定义最终会引用GUIDRV_Template.h文件。

在LCD_X_DisplayDriver函数里调用lcd初始化函数,

4、修改GUIDRV_Template.c文件:主要是配置LCD的打点接口和读点接口;

MDK完整工程目录文件如下

mdk5(keil 5) 中间库emwin 图形库移植相关推荐

  1. STemwin图形库移植与运用(基于STM32)(完成QQ界面设计、局域网聊天)

    一.环境介绍 主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 硬件包含:  一块STM32F ...

  2. 逐飞 RT1064 库 GCC (VSCode) 移植踩坑

    §对于逐飞RT1064库的GCC移植 1.移植相关工作   今天(2021-05-16)收到一位参加智能车竞赛的学生发送过来的信息,它对于逐飞RT1064的库进行了GCC 移植: 卓大大,我为逐飞的 ...

  3. ege函数库_ege图形库基本说明

    EGE 基本说明 本库是一个类似 graphics.h 的 BGI 图形库,使用方法相当接近,所以学习过 TC 图形的话会很容易上手 基本使用方法几乎和 TC 的一样,只要 #include &quo ...

  4. 使用标准库对STM32F407ZGT6移植LWIP(逻机-全网最全)

    使用STM32CubeM对F407ZGT6移植LWIP(全网最全) 使用标准库对STM32F407ZGT6移植LWIP(逻机-全网最全) 基于STM32单片机的LwIP协议(一)网络协议简介 基于ST ...

  5. KEIL MDK LIB库文件的制作

    作者:yangluoning <KEIL MDK LIB库文件的制作> 来源:CSDN  原文:https://blog.csdn.net/yangluoning/article/deta ...

  6. cebemax hal库 stm32 OLED移植 解析

    cebemax hal库 stm32 OLED移植 序言: 这是一篇对于作者对于将OLED的驱动代码移植成hal库的文章,会有完整的过程,后面自然也会有完整的代码,希望能够帮到大家,同时也是做一个记录 ...

  7. ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植

    目录 ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植 Atmel两个官方lib介绍 一.CryptoAuthLib简介 Lib中最主要的三种对象类型: 二. ...

  8. 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯

    本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤.利用C语言编程和寄存器点亮流水灯以及stm32CubeMX+Keil使用HAL库点灯 目录 一.STM3 ...

  9. 【嵌入式10】stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期

    stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期 一.题目要求 二.STM32CubeMX简介 1.利用CubeMX新建工程点亮LED灯 1)前期准备 2)新建工程 2.界面 ...

最新文章

  1. 操作系统学习笔记:进程同步
  2. 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )
  3. 防火墙启动被拒绝解决方案
  4. java机试_java机试要点
  5. vsftpd安装问题汇总(持续更新。。)
  6. mysql5.7解压版错误_mysql 5.7 解压版 安装net start mysql 发生系统错误 2
  7. Yarn 监控 - 监控任务运行状态 (包括Spark,MR 所有在Yarn中运行的任务)
  8. 【转】用MYSQL都可能会遇到的问题:MYSQL字符数字转换
  9. 将winform窗体钉在桌面上
  10. linux php 源码安装,Linux下PHP的源码安装与配置
  11. 计算机网络-扩展路由器网段
  12. 32位计算机装64位操作系统,电脑装32位还是64位系统与硬件有关系吗
  13. 12_传智播客iOS视频教程_注释和函数的定义和调用
  14. 未来5年互联网,运营将成比产品更加有前途的职业?
  15. 小白的测试人生(三)小白如何进入IT行业及如何选择培训机构
  16. 问题记录之——windows10系统蓝牙失灵
  17. 2. vibrate-arch
  18. RESTful风格的springMVC
  19. Extracting and Composing Robust Features with Denoising Autoencoders论文笔记
  20. 双指针—安排会议日程(leetcode 1229)

热门文章

  1. 1. 计算机网络概述
  2. c++ 求x的n次方
  3. linux pip安装(下载)
  4. commons-io工具包的基本使用
  5. 正则表达式匹配居民身份证
  6. android String文件中修改部分字体颜色
  7. android界面美化教程,android界面UI美化:沉浸模式、全透明或半透明状态栏及导航栏的实现...
  8. C语言:自定义函数中调用自定义函数的方法
  9. AttributeError: ‘FigureCanvasTkAgg‘ object has no attribute ‘set_window_title‘
  10. 思科和思杰联袂提供全面的桌面虚拟化解决方案