打印
[新手园地]

【第四批】第一帖——助学板工程配置及各种程序烧写方法

[复制链接]
3508|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 s010800519 于 2012-2-1 16:17 编辑

NUC120助学板工程配置及各种程序烧写方法


助学板拿到手的时候,刚开始有点摸不着头脑,在论坛上下载各种资料,但是搞了很久连基本的程序烧写及工程配置都还不会,最终把资料重新整理一下,对这些东西慢慢懂了。论坛里面虽然资料多,但比较杂,所以需要自己好好整理。我基本上是参考《菜农M0助学板快速入门指南》以及新唐的官方网站www.nuvoton.com。下面我简单的总结一下工程配置及各种程序烧写方法。

1、工程配置
安装好Keil uVision4以及在新唐官方网站“Device Driver and Software Library ”中下载NUC100Series BSP_CMSIS V1.05.002.zipBSP库文件,包括一些系统文件和底层驱动文件)解压缩后就可以开始建立自己的工程了。首先新建一个工程,并在工程中按如下图添加各种文件。

其中CMSIS files文件夹中的文件是系统和启动文件,每个工程都必须有的,一个文件都不能少。Source files 中的文件是用户自己写的文件,主程序就放在这个文件里面。Library files中的文件是一些驱动文件,用户需要用到哪些外设,就需要添加相应的驱动文件,像我要建的工程需要用到IO口及系统时钟来延时,所以我添加了这两个文件。这些文件添加完以及用户程序写完后,编译的时候还是会出错。因为这些C文件都有包含一些头文件(头文件是C文件能够相互访问的一个媒介),而编译的时候找不到头文件的所在,所以会出现编译出错,因此我们要指定头文件的路径。


按上图所示进入工程设置界面,选择选项卡C/C++,找到include path,添加用到的所有头文件的路径,如下图所示。由于我对BSP库文件重新进行整理,因此头文件的路径就按我整理完后的进行添加。这一步做完再进行编译就没问题了,有问题的话,就多对照一下工程示例。此外选项卡Output中可以设置成能输出HEX文件,程序烧写的时候会用到。


以下是smpl_project.c中的内容,是一个流水灯程序。NUC1xx.hNUC1XX系列标准头文件,包含对具体寄存器组、外设配置的结构体的定义。
#include "NUC1xx.h"
#include "DrvSYS.h"
#include "DrvGPIO.h"

int main (void)
{
while(1)

{


DrvGPIO_ClrBit(E_GPA, 2);//LED1
点亮
DrvSYS_Delay(20000000);
DrvGPIO_SetBit(E_GPA, 2);
DrvGPIO_ClrBit(E_GPA, 3);//LED2点亮
DrvSYS_Delay(20000000);
DrvGPIO_SetBit(E_GPA, 3);
DrvGPIO_ClrBit(E_GPA, 4);//LED3点亮
DrvSYS_Delay(20000000);
DrvGPIO_SetBit(E_GPA, 4);
DrvGPIO_ClrBit(E_GPA, 5);//LED4点亮
DrvSYS_Delay(20000000);
DrvGPIO_SetBit(E_GPA, 5);
}

}
2、程序烧写
       程序烧写有多种方式,可以使用ICPIn-Circuit Programming.)或ISP (In-System Programming)。下面我简单谈一下自己对ICPISP的理解。首先我们要知道新唐的M0芯片里有LDROMAPROMLDROM是用来存放引导程序,APROM是用来存放运用程序的。对于ICP,我们需要利用NU-LINK以及新唐的ICP软件对助学板进行程序烧录,通过ICP我们可以同时把程序烧写进LDROM以及APROM。而对于ISP,我们只能把程序烧写进APROM,而不能烧写进LDROM,要使用ISP烧写,我们事先必须把相应的引导程序烧写进LDROMLDROMISP烧写的作用是引导目标板通过串口或USB等与PC进行通信(实际上就是实现PC对目标板的程序烧写),PC上我们也需要安装相应的ISP软件,NU-LINK不需要使用。
       第一种:安装好ICP Programming Tool V1.18.5320.zip ,把目标板以及NU-LINK连接到电脑,APROM载入我们刚才编译的流水灯程序,LDROM如果不载入程序的话,配置位就要设定为从APROM启动,这样程序才能正常运行,当然也可把ISP_CODE装入LDROM(如果以后要使用ISP进行下载则必须装,而且配置位必须设定位从LDROM启动),软件具体使用方法不难,可以参考用户手册。软件界面如下图所示



       第二种:安装好ISP Programming Tool V1.42.zip 并打开软件界面,由于我笔记本没串口,因此我使用电脑USB与助学板的USB相连,之前我通过ICPISP的引导程序装入芯片的LDROMNUC120这款芯片使用USB ISP的时候要求引脚PB.15要接地,助学板PB.15是接按键KEY1,所以上电完后,必须按住复位键和KEY1,然后再松开复位键,KEY1必须保持按住,然后点击软件界面中的connect,这样芯片就能与电脑进行连接了。(整个过程KEY1不能松开,由于助学板上完电程序就开始执行APROM,而我们使用ISP下载的时候需要由LDROM里的程序来引导,因此需要按复位键,让程序从头开始执行,判断到PB.15有接地就开始执行LDROM的程序)。软件的更多细节可参考用户手册。



未完,请看5楼

NUC120助学板工程配置及各种程序烧写方法.pdf

399.22 KB

相关帖子

沙发
s010800519|  楼主 | 2012-2-1 14:38 | 只看该作者
图片怎么没上去啊

使用特权

评论回复
板凳
zxcscm| | 2012-2-1 15:32 | 只看该作者
加油~加油~

使用特权

评论回复
地板
s010800519|  楼主 | 2012-2-1 15:37 | 只看该作者
谢谢,正在编辑中:@

使用特权

评论回复
5
s010800519|  楼主 | 2012-2-1 16:13 | 只看该作者
本帖最后由 s010800519 于 2012-2-1 16:14 编辑

第三种:可以直接在KEIL里面把程序下载到助学板上,但是前提必须安装Nu-Link_Keil_Driver 1.18.5320这个驱动, 将助学板的Nu-link连到电脑上,并把Nu-link连接到助学板上,相应的工程设置如下下图所示,然后点击如下图按钮,即可进行下载(注意使用此种方法事先可以不在LDROM装程序,但是如果没装的话,就要设置从APROM启动)。当在工程设置里的debug选项卡中选择NU-LINK,还可以对程序进行在线调试。





第四种:把芯片当做U盘与电脑连接,可以在电脑上访问芯片的APROM,把要烧写的BIN文件复制到U盘里即可,此种下载方式称为Mass Storage ISP。具体步骤如下:
第一步,到官方网站下载应用笔记AN1024EN Mass Storage ISP解压缩后即可得到接下来要用到的文件;第二步,使用ICP软件把Smpl_MassStorage_ISP.bin烧录到LDROM,并设置从LDROM启动;第三步,把助学板的USB与电脑的USB相连接,按住复位键和KEY1键,松开复位键,然后再松开KEY1,即可在电脑上看到下图所示的效果,把要烧录的应用程序的BIN文件复制进去,再按下复位键,助学板开始运行复制进去程序(注意必须复制BIN文件,不能为HEX文件)。由于前面的工程设置里面我们没讲到怎么产生BIN文件,这里简单说一下,按如下下图所示进行设置即可。




第五种:使用菜农的HOTISP,前面我们介绍的ISP下载方式,都需要手动按住助学板上的复位键或者KEY1键,而菜农的HOTISP可以实现自动ISP,其原因是助学板的硬件电路中串口可以控制这些引脚的状态来代替手工按键,如下图所示,因此在通过ISP烧写程序的时候(无论是USB还是串口下载),都必须接串口,然后再结合HOTISP进行使用即可实现自动ISP。由于我的笔记本没串口,HOTISP的自动功能也就用不了,还得手动按键。




参考资料

[1] 菜农M0助学板快速入门指南0.1.2

[2] 菜农群课笔记之ICP与ISP----20110412

[3] Nuvoton NuMicro ICP Programmer 用户指南

[4] NuMicro ISP Programming Tool用户手册

[5] 应用笔记《AN1024EN Mass Storage ISP》

使用特权

评论回复
6
hotpower| | 2012-2-1 19:19 | 只看该作者
不错~~~

使用特权

评论回复
7
android0414| | 2012-2-2 01:05 | 只看该作者
板子是买的?  还是申请的啊?  新手啊  不知道 这里的规矩

使用特权

评论回复
8
android0414| | 2012-2-2 01:05 | 只看该作者
板子是买的?  还是申请的啊?  新手啊  不知道 这里的规矩

使用特权

评论回复
9
android0414| | 2012-2-2 01:05 | 只看该作者
板子是买的?  还是申请的啊?  新手啊  不知道 这里的规矩

使用特权

评论回复
10
s010800519|  楼主 | 2012-2-2 13:53 | 只看该作者
申请的,之前没时间,很抱歉!!!
我的板子是11月十多号收到的,不知道是不是可以到2月十几号完成。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

1

粉丝