STM32F4 EMWIN 开发手册
ALIENTEK
探索者
STemWin
开发教程
EMWIN 开发手册
V1.0
−ALIENTEK STM32F4 EMWIN 开发教程
官方店铺:http://shop62057469.taobao.com
技术论坛:www.openedv.com
技术交流群:
333121886
1
STM32F4 EMWIN 开发手册
ALIENTEK
探索者
STemWin
开发教程
目½
第一章 STemWin 无操½系统移植 ................................................ 3
1.1
移植准备工½
..................................................................................................... 4
1.2
向工程添加文件
.................................................................................................. 8
1.3
修改工程文件
...................................................................................................... 9
1.4
触摸屏移植
......................................................................................................... 12
1.5
综合测试程序编写
............................................................................................ 17
1.6
下½½验证
............................................................................................................ 19
第二章 STemWin 带操½系统移植 ............................................... 20
2.1
移植准备工½
.................................................................................................... 21
2.2
向工程添加以及修改相应文件
......................................................................... 21
2.3
编写综合测试程序
............................................................................................ 24
2.4
下½½验证
............................................................................................................ 24
2
STM32F4 EMWIN 开发手册
ALIENTEK
探索者
STemWin
开发教程
第一章
STemWin
无操½系统移植
我们在½用
M3
内核
MCU
的时候会移植
UCGUI
来制½精美的
UI,UCGUI
的高级版本就
是
emWin, STemWin
是
SEGGER
授权给
ST
的
emWin
版本, 的芯片可以免费½用
STemWin,
而
ST
而且
STemWin
针对
ST
的芯片做了优化。本章我们将向大家介绍如½在
STM32F407
开发板上
移植
STemWin,在本章的移植过程中适配我们公司的 2.8
寸,3.5 寸,4.3 寸这三种不同尺寸的
屏幕。本章分为如下几个部分:
1.1
移植准备工½
1.2
向工程添加文件
1.3
修改工程文件
1.4
触摸屏移植
1.5
综合测试程序编写
1.6
下½½验证
3
STM32F4 EMWIN 开发手册
ALIENTEK
探索者
STemWin
开发教程
1.1
移植准备工½
1)
建立移植基础工程
我们在移植
STemWin
之前首先要建立一个基础工程,
然后在这个基础工程上添加文件,
因
为在以后的
STemWin
实验中我们½用了内存管理,
因此这个基础工程就½用内存管理实验的工
程, 我们将内存管理实验的整个工程拷贝过来。
这里我们要对内存管理实验的工程进行一点小
的修改,因为在内存管理实验的工程中存在与
STemWin
重名的文件和变量。
1、将 HARDWARE
文件夹下的
LCD
驱动程序文件
lcd.h
和
lcd.c
改为其他的名字,这里改
为
ILI93xx.h
和
ILI93xx.c。
2、将 ILI93xx.c
中的
LCD_Init
改为其他名字,这里改为
TFTLCD_Init。
3、 ILI93xx.h
中我们有如下代码,
在
我们定义了一个
LCD,
在这里将
LCD
改为
TFTLCD,
记得将整个工程中的
LCD
½要改为
TFTLCD。
//½用 NOR/SRAM
的
Bank1.sector4,地址½ HADDR[27,26]=11 A6
½为数据½令区分线
//注意设½时 STM32
内部会右移一½对其!
111 1110=0X7E
#define LCD_BASE
((u32)(0x6C000000 | 0X0000007E))
#define LCD
((LCD_TypeDef *) LCD_BASE)
4、STM32F4xx
内½
FPU,STemWin
针对
STM32F4
做了相应的修改,支持内部
FPU
和
ST
的
DSP
库,所有如果我们是给
STM32F4xx
等
M4
内核的
MCU
移植
STiemWin
的话就要½½
STM32F4xx
的
FPU,并将其 DSP
库添加到工程中,如果是给
STM32F1xx
等
M3
内核的
MCU
移植的话就不需要这一步。
首先我们先在
ST
官½上下½½
STM32F4xx
的标准外设和
DSP
库,下½½地址为:
http://www
.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/PF257901?s_searchtype=keyword#。下
½½界面如图
1.1.1
所示,可以看出½前最新的库为
1.4.0。
图
1.1.1 STM32F4xx
库下½½
下½½解压后打开
Libraries
文件,打开后如图
1.1.2
所示,里面包含有
STM32F4xx
的标准外
设库和
DSP
库,DSP 库在
CMSIS
文件中,我们将
CMSIS
复制到我们基础工程的
FWLIB
文件
中。CMSIS 文件大概有
133M,里面包含有一些我们用不到的文件,而我们只用到 DSP
库,所
以在这里将这些不用的文件删除,最终只留下
Include
和
Lib
这两个文件。Include 为头文件,
Lib
为针对不同的编译环境而做的
DSP
库,有
ARM,G++,GCC。因为我们½用的是 KEIL
所
以只留
ARM
这个文件,其他两个也删除掉,如果½用的是
IAR
就保留
GCC
这个文件。
4
STM32F4 EMWIN 开发手册
ALIENTEK
探索者
STemWin
开发教程
图
1.1.2 STM32F4xx
库文件
要½用
STM32F4
的
FPU,我们首先需要开启 FPU,打开 system_stm32f4xx.c
文件,里面
有一个
SystemInit()½数,这个½数完成系统初始化,在一开始就有 FPU
设½选项,如图
1.1.3
所示,
图
1.1.3
设½
FPU
从图
1.1.3
中我们可以看出如果要½用
FPU
的话__FPU_PRESENT 和__FPU_USED 要为
1,
根据
arm_math.h
中的要求,
如果要½用
DSP
库的话还要定义
ARM_MATH_CM4
和__CC_ARM,
因此我们按图
1.1.4
所示添加__FPU_PRESENT,__FPU_USED,ARM_MATH_CM4 和
__CC_ARM
的定义。
图
1.1.4
定义__FPU_PRESENT 和__FPU_USED
最后我们设½
keil
½件½用
FPU,如图 1.1.5
所示。
5
评论