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的打点接口和读点接口;