网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
网址:https://www.doczj.com/doc/207828383.html,
E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
A :资源介绍
1.1.芯片及资源介绍
芯片及资源介绍1.1关于新唐M0
众所周知,ARM Cortex 内核已经被广泛的设计到不同公司的芯片中,NOVOTON、NXP、ST 等公司近期设计的M0内核芯片也正在被推广。NOVOTON (新唐)-M0以其丰富的资源、全面的固件支持、强大的价格优势将会很快的被市场认可并广泛使用。下图是新唐
M0家族的整体资源图:
从图中右侧不难发现新唐M0基础配置都包括了UATR、SPI 、I2C、I2S、8通道PWM、12位ADC、RTC 在内的丰富资源,而左边部分是针对不同层次设计要求而设计的不同层级的芯片。
网址:https://www.doczj.com/doc/207828383.html, E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
1.2新唐对于M0的支持
上图中是新唐对于M0系列芯片的一些技术上的支持,具体资料可以到NOVOTON (新唐)官网上去查找,其中包含的内容可以参看以下路径表:
而大部分文件夹内都是包含中英文两份资料的。
以下是对一些文件的粗略解释:Application Note Note::即应用笔记,其中包括了非常多常见的问题以及应用实例的使用过程;
Datasheet Datasheet:
:同上面一样,也包含了中英文资料,是芯片参考手册、芯片简介以及寄存器资源的参考资料;
Software Utilities
Utilities::这些是官方提供的烧录监控用的BIN 文件与程序下载工具,之后的ISP 中会用到;
nuvoton 网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
BSP Library Library::官方提供的库函数以及范例代码,包括了几乎所有外设在内的工程文件,而大部分程序都可被移植到助学板上。如下图所示:
几乎所有的资源都被完整的工程化放入以上文件夹,这些程序是最快的入门途径,右下角笔者已经将路径贴出,方便助学板用户有效的查找。
另外请记住以下FTP 资源:
第一个是助学活动FTP 资源
ftp://58.213.153.9用户名:密码:
在这两个FTP 资源站中里面包含了新唐手册及应用笔记,这对于查找资料是个不错的选择(以上提及的资料这里面都有)。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
B:B:菜农助学板资源介绍
菜农助学板资源介绍1硬件资源
菜农新唐M0助学板板载一颗NUC120RE3AN 芯片,包含128K FLASH 空间、16K SRAM 空间、45GPIO 引脚、6路PWM、8*12位ADC、4路32位定时器、以及包括USB 在内的内部的资源,而售价却是极低。
除此之外,板上外部还集成了SD 卡接口、DS18B20单总线温度传感器在内的丰富资源可供用户实验。如果配合着官方提供的库函数,可以有效的学习新唐M0系列芯片。
以下将对资源进行分块的介绍,使助学板的使用者们可以更快的入手。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
1.1NUC120RE3A 最小系统最小系统(()最小系统部分连接了USB 接口以及复位与自动ISP 接口,并ISP JTAG/ICE 接口也与新唐研讨会赠送的Nu Link Me 接口相对应,故可将研讨会板架空于助学板与其连接,起到仿真调试的作用。另外助学板还将CPU 所有引脚引出,方便用户以后独立的实验测试。
1.2GPIO实验部分
板上GPIO实验可通过两个轻触按键以及蜂鸣器LED灯等外围实现,另外,中断接口也预留在了按键上,可以结合此按键完成外部中断实验。(最小系统中预留一个LED连接至PWM0接口,既可以完成GPIO输出实验也可以做PWM实验)
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
1.3串行接口实验部分
板上众多外设皆为串行接口控制,自动ISP/串口、SPI FLASH、EEPROM、SD card、以及读取单总线数字温度传感器DS18B20的模式都是基于串行接口的。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
1.4其他外设部分
AD接口,可用于模拟测温以及电位测量
I2S接口,可用于音频输出
注意:供电部分特别说明
电源/可以USB或是外接电源供电。Nu Link上的VCC也可。但切记不要同时两路供电,否则意外情况可能损坏您的学习板。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
2软件资源
软件资源除了刚才提到的官方例程以及库函数之外,请在您的PC机上准备开发环境以及正确安装新唐提供的驱动。以下是截图于新唐官网中M0板块
建议需要准备的资源有:
0.HotISP
1.KEIL MDK X.xx
2.NUC100SeriesBSP
3.Nu-Link_Keil_Driver.exe
4.NUC1xx Driver Reference Guide SC V1.00.pdf
5.NUC1xx Preliminary TRM SC V1.00.pdf
6.NuMicro NUC100Series Driver Reference Guide.pdf
7.NUC120Preliminary Datasheet_V17_SC1.pdf
8.NUC100Series Driver Reference Guide.chm
**:以上资源都可在官网找到下载链接。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
网址:https://www.doczj.com/doc/207828383.html, E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
第一步:先安装网站“NuMicro Development Tools”中
(前提是你电脑中有MDK),这样之后你就可以建立新唐的M0工程了。
第二步:在网站“Device Driver and Software Library”中下载
解压缩后你就拥有了库
函数软件包和对应的手册资料。
利用以上环境你已经可以实现新唐M0的编程。仅仅是编程,程序的下载有几种途径:官方ICP、官方ISP 以及HOTISP。HOTISP 是雁塔菜农精心打造的M0系列芯片的程序下载工具,其中包含了ICP、ISP 以及串口调试功能,并且不仅仅支持新唐一家M0芯片,还支持NXP 的M0。并且操作简单,易于学习使用(未来还有可能将添加ST M0的部分)。
如果你是一个初学者,觉得以上的资源如果还不够,那么这个一定帮得了你:
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
这是新唐M0的视频教程,经测试,不是台语方言,只是语言比较生硬,如同用微软的语音软件一样生硬,但是应该听得懂。
除此之外,建议中的
pdf 也需要准备方便日后查找学习使用。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
C :快速入门
1.1.建立自己的新唐
建立自己的新唐M0工程简单的步骤描述:
在安装好新唐M0的MDK 支持后打开KEIL
MDK 环境
1.点击新建工程
2.点击新唐选型
3.选择芯片型号
网址:https://www.doczj.com/doc/207828383.html,
E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
4.添加启动文件
5.加入用户文件及inc 链接(很关键!!)
笔者虽利用原本库函数中范例程序,但却已重构了整个M0的程序文件目录树,原始的inc 目录太过繁琐不适应查找。
网址:https://www.doczj.com/doc/207828383.html, E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
2.2.补充概念:
补充概念:1.KEIL 环境下在工程中添加的C
文件,必须告知其正确的头文件位置。
步骤如下:
1.如上图所示点击Include Paths 后的“…”
2.新建头文件包含路径
网址:https://www.doczj.com/doc/207828383.html,
E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
2.GPIO 实验具体需要的文件可以参看路径
NUC100SeriesBSP\NuvotonPlatform_Keil\Sample\Driver 下的例程:
以GPIO 实验为例:以下是包含的.C 文件与.S 启动文件这些可自行添加入工程:
说明:1是添加组,作程序分层。2是在组中添加文件。3是管理文件,可以添加文件、组等。
添加完文件之后我们发现:这些C 语言文件需要匹配的.H 文件才可以被编译。于是我们打开设置中的C/C++里面观察一下“Include Paths”
这也是笔者为什么说其路径深不便于查找的原因。这些文件夹都可以在BSP中找到。大多数工程文件都是基于这些文件夹建立的。
如果建立自己的工程,请按照以下步骤会方便许多:
1.复制必要的BSP库文件(.h&.c)
2.新建KEIL工程添加必要的.C文件
3.链接.h文件路径,并编译
4.编译有错,请查看是否还是路径问题以下问题可能被忽略:
a.若有ERROR输出,请从最上端开始检查是否有文件未被打
开,若有可以从原版BSP LIB中搜索后添加;
b.若依旧有ERROR输出,请注意#include中是否包含路径行
"\XXX\xxx.h",若有请删除路径行再编译。
5.编译完成
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
网址:https://www.doczj.com/doc/207828383.html,
E-mail:
hotwc3@https://www.doczj.com/doc/207828383.html,
笔者移植的工程设置如下:
以上多数命令行皆为原始工程复制,而仅是INC 路径改变,切记不要缺文件,多对比原版工程即可发现错误。
网址:https://www.doczj.com/doc/207828383.html, E-mail:hotwc3@https://www.doczj.com/doc/207828383.html,
3.3.关于程序文件的解释
关于程序文件的解释对于一些工程内必备文件的解释:启动层
*core_cm0.c/.h ——ARM 公司对于M0内核的支持*system_NUC1xx.c/.h ——NUC1xx 系统文件*startup_NUC1xx.s
——NUC1xx 启动文件
-------------------------------------------------------驱动层*nuc1xx.h
——NUC1XX 系列标准头文件具体寄存器组、外设配置的结构体的定义。
SysInfra.h ——新唐公司对于M0设备ID 的声明ModuleID.h ——新唐M0设备ID 号声明Stdint.h
——数据类型等的声明
*DrvXXX.c/.h
——外设库函数及外设基本头文件Retarget.c
——一些串口附属函数
-------------------------------------------------------用户层Main.c
——客户应用文件