本帖最后由 star_66666 于 2017-1-3 01:01 编辑
近期一直在加班或出差,直到今天刚有空,把stemwin补上,display部分直接用库里提供的。
首先, stemwin简介
emWin和μCGUI这两个GUI是同一个东西。最初这个GUI就是SEGGER公司的,然后以什么的方式授权给μCGUI就不清楚了。现在SEGGER公司是这个GUI的主要推动者,已经将其授权给了多个芯片生产厂家。
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在
需要浮点处理的地方专门做了优化。
emWin5.xx以后的版本只有库,没有源码。想研究源码的,可以看早期的版本,了解一下消息机制。
其次,开始stemwin移植
1.stemwin所在目录及文件,见下图
从图中可见,含有 KEIL,IAR 和 GCC 三个不同版本的库。而且还区分带 OS 和不带 OS 版本。
本次的移植是在库函数的基础上,不带OS。增加如下内容
GUIConfig.c
LCDConf_CMD.c
STemWin532_CM7_Keil.lib
GUI_X_OS.c
STM32769I_DISCO_STemWin_Addons_Keil.lib
2.界面显示部分
在main函数中增加如下代码,编译运行,即可在界面显示
/* Initialize GUI */
GUI_Init();
GUI_SetLayerVisEx (1, 0);
GUI_SelectLayer(0);
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_DispString("test stemwin");
点击此处,查看STM32F769I开发板官方资源。