1)准备Nu-EVB-M051_V3开发板,淘宝新唐官方旗舰店有售,120元
2)Nuvoton官方下载NuMicro_ICP_Programming_Tool_V2.00.6561,解压缩后安装ICP驱动,默认安装即可
3)百度,下载embitz 1.0,解压缩后安装,默认即可
4)搜索M051SeriesBSP_DirectRegisterAccess_SC_v1.01.001,Nuvoton已从官网删除,百度吧,下载后解压缩,可以看到使用Keil写的GPIO,EINT,UART等例程。使用CMSIS我没有意见, 但个人不喜欢,使用Winavr书写ATmega系列芯片程序习惯了
5)启动EmBITZ,点击file->new->project,在弹出菜单中选择NXP-ARM吧,其余公司的也可以,点击Go按键,如附件图1所示
6)在弹出菜单中点击skip按键,在弹出菜单中的project name文本框中输入你的项目名称,作者是M0516GPIO,Fold to create project in文本框中输入项目所在文件夹,作者是d:\embitztest,不要使用中文目录,也不要存在空格。Project filename和Resulting filename文本框自动生成,无需修改,点击next按键,如附件图2所示
7)在弹出菜单中,点击next,如附件图3所示
8)在弹出菜单中的下拉框中,选择LPC11xx(都是M0核),勾选create hex file,如附件图4所示
9)弹出菜单如附件图5所示,不要修改,点击ok按键,生成的文件目录如附件图6所示,这就是系统自动生成的目录结构,无需修改
10)右击src目录下的system_LPC11xx.c,在弹出菜单中选择remove file from project,删除此文件。如附件图7所示。并按照如上方法,删除inc目录下的LPC11xx.h,power-proflles.h和system-LPC11xx.h三个头文件。
11)把M051SeriesBSP_DirectRegisterAccess_SC_v1.01.001\include目录下的common.h,M051.h,Register_Bits.h和UART.h四个头文件拷贝入你所建立的M0516gpio\Inc目录
在INC文件夹上右击,在弹出菜单中选择Add files,依次添加common.h,M051.h,Register_Bits.h,暂时不用添加UART.h,如附件图8所示
12)把M051SeriesBSP_DirectRegisterAccess_SC_v1.01.001\Common目录下的common.c和main.c拷贝到你所建立的M0516gpio\Src,在src文件夹上右击,在弹出菜单中选择Add files,依次添加common.c,main.c,暂时不用添加UART.c和retarget.c,如附件图9所示
13)双击main.c打开,把M051SeriesBSP_DirectRegisterAccess_SC_v1.01.001\NuvotonPlatform_Keil\M051_GPIO_Demo\Source\GPIO_demo.c内容拷贝入刚打开的main.c,并在main.c的#include"common.h"前面添加void SystemInit (void) {},如附件图10所示
14)双击打开gcc_arm.ld,修改FLASH部分LENGTH为64k,修改RAM部分LENGTH为4k,_Min_Heap_Size 和_Min_Stack_Size为0x100,如附件图11所示
15)使用附件中的startup_ARMCM0.s文件内容替换ASM Sources下src目录中startup_ARMCM0.s
16)在M0516GPIO上右击,在弹出菜单中选择Properties。在弹出菜单中点击Build Targets标签,勾选Create Hex File,如附件图12所示
17)如附件图13所示,点击Build按键,系统自动编译。在\M0516gpio\bin\Debug下生成M0516gpio.elf,M0516gpio.hex和M0516gpio.map三个文件
18)在电脑上连接Nu-EVB-M051_V3,运行NuMicro_ICP_Programming_Tool,弹出菜单中目标芯片下拉框中选择"M051系列",点击继续按键,如附件图14所示
19)在弹出菜单的是否更新软件提示中,选择No,与芯片成功连接后的界面如附件图15所示。
20)点击APROM按键,在弹出菜单中选择刚生成的M0516GPIO.hex,再点击如附件图15中的开始按键,开始擦除,烧录和校验,完成之后即可看到LED欢快的闪烁了。
21)断开EVB开发板前,先在如附件图15断开按键,关闭ICP软件,断开EVB。 |