1.1需要安装的软件
(1) MDK-ARM V5.10:
安装完MDK-ARM V5.10 以后还要安装STM32F2xx 的PACK(MDK V5.10 只能安装Keil.STM32F2xx_DFP.2.1.0.pack 或更低版本),如果不想安装PACK,安装MDK Cortex-M Legacy Device Support V5.10(mdkcm510.exe)也是可以的;另外MDK-ARM V5.10以后的版本是无法支持中文UTF-8编码的。
(2) J-LINK相关驱动程序。
1.2连接硬件
1.3访问GUI图形屏的Nand-Flash
(1) 通电GUI图形屏并将N-LINK下载线插入电脑USB接口(两步骤不分先后)。
(2) 按一下N-LINK的连接键,GUI图形屏即可进入U盘模式(使用系统自带驱动),之后就可以跟U盘一模一样访问GUI图形屏的Nand-Flash了(写速度3.2Mbytes/S,读速度5.6Mbytes/S);GUI图形屏进入U盘模式后屏幕是没显示的。
(3) 拷贝Nand-Flash资料到本地磁盘,然后格式化Nand-Flash:
备注:256Mbyte产品格式化为FAT32或FAT都可以,但128Mbyte产品只能格式化为FAT。
1.4 建立HelloWord例程
(1) 用MDK打开工程:
..\docs\democodes\empty_prj_emwin_noOS_207ve_SPI\mdk_proj\demo_emwin.uvproj
(2) 修改maintask.c文件:
#include "dialog.h"
#include <string.h>
#include <stdio.h>
#include "stm32f2xx.h"
#include "glcd.h"
void MainTask(void)
{
GUI_Init();
_mHelloWord(WM_HBKWIN);
while(1) {GUI_Delay(20);}
}
(3) 在..\docs\democodes\empty_prj_emwin_noOS_207ve_SPI\application目录创建helloword.c文件并加入工程:
(4) 编写helloword.c程序:
#include "GUI.h"
#include "dialog.h"
#include "bitmap.h"
#define ID_WIN 1001
#define ID_BUT 1002
static const GUI_WIDGET_CREATE_INFO _aHelloWord[] = //控件结构体数组
{
{WINDOW_CreateIndirect, 0, ID_WIN, 0, 0, 640, 480, 0, 0},
{BUTTON_CreateIndirect, "HelloWord", ID_BUT, 280, 430, 80, 20},
};
static void _cbHelloWord(WM_MESSAGE* pMsg) //窗体回调函数
{
switch(pMsg->MsgId)
{
case WM_PAINT:
GUI_DrawBitmap(&BackGround, 0, 0); //重绘背景图片
break;
case WM_INIT_DIALOG:
break;
case WM_NOTIFY_PARENT:
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
WM_HWIN _mHelloWord(WM_HWIN hParent) //窗体创建函数
{
WM_HWIN hWIN;
hWIN = GUI_CreateDialogBox(_aHelloWord, GUI_COUNTOF(_aHelloWord), _cbHelloWord, hParent, 0, 0);
return hWIN;
}
(5) 用系统绘图工具创建背景图片:BackGround.bmp(分辨率640*480)
(6) 拷贝位图列表生成工具.. \docs\tools\bmpGen.exe到Nand-Flash根目录并双击运行,运行之后会生成bitmap.c、bitmap.h两个文件,将bitmap.c、bitmap.h拷贝和添加到MDK工程中:
(7) 编译HelloWord工程
1.5卸载GUI图形屏的Nand-Flash
在N-LINK下载线处于空闲状态时(指示灯不再闪烁),按一下N-LINK下载线的连接键(或者跟U盘一样卸载、直接从电脑上拔掉N-LINK下载线都可以),GUI图形屏会重启并进入工作模式。