本帖最后由 xld0932 于 2023-2-4 18:14 编辑
#申请原创# @21小跑堂
首先展示一下新定义基于的NBK-RD8x3x的开发板全家桶哦……分别是:NBK-RD8x3x核心板(RD8T36P48)、NBK-EBS001 TK扩展板、NBK-EBS002 基础扩展板、EBK-EBS003 IOT扩展板:
每个开发板的硬件资源如下图所示,可谓是根据核心板的芯片外设功能做了丰富的功能扩展,让我们更有应用创新和学习的动力了……
在着手新定义入门学习之前,我们还有一些准备工作需要先来完成;首先我们需要提前安装KEIL C51集成开发环境,然后到新定义官网的下载中心(https://www.rdsmcu.com/shop/#/download?class_id=52)去下载相关的资料;在量产开发工具中,我们下载《KEIL插件RD_KEIL_Setup.rar》并进行安装,这个一方面是让KEIL C51支持新定义系列的MCU,另外一个就是支持RD LINK PRO调试下载工具,对于习惯了32位MCU开发的小伙伴来说,你可以理解为这是芯片的PACK包和J-LINK驱动的结合体哦;最后就是选择开发方式了,新定义提供了易码魔盒代码自动生成工具,通过图形化的选项配置,实现代码自动生成;这个易码魔盒带有连接KEIL调试的功能,可以在不打开KEIL软件的情况下,通过易码魔盒一个软件搞定所有开发,但有个前提是,你得安装了KEIL C51哦;易码魔盒你可以理解为ST的CubeMX这个软件和KEIL软件的结合体哦……这样来解析是不是很形象,很容易接受和易懂了哈……
新定义的MCU在基于易码魔盒生成代码时,是有一套基于芯片平台的底层代码库的,这个代码库是在易码魔盒的安装路径下面后,比如我是默认安装在C盘路径下,那这个代码库的路径为:“C:\Program Files (x86)\RDS\EasyCodeCube\CFG\SDK\RD8\Keil_Mould\FWLib\RD8_Lib”,这个库我们后面有用哦……
切入正题,虽然新定义提供了易码魔盒,但我们还是想自己通过创建KEIL工程来构建项目工程,就好比虽然ST提供了CubeMX,但我还是习惯使用标准库来开发项目一样;接下来带领大家一步一步来创建一个工程、配置工程、编写一个LED闪灯程序、编译下载程序到开发板……完成新定义入门的第一步学习
1.打开KEIL软件
2.点击菜单栏Project->New uVision Project...
3.选择工程文件的存储路径、输入工程名
4.选择芯片型号
5.同意添加启动文件到项目工程,这个你可以理解为32位MCU的.s文件,比如(startup_stm32f10x_hd.s)
6.创建好的原始空工程如下所示
7.点击工具栏的Manage Project Items按钮
8.在弹出的Manage Project Items窗口的Project Items选项卡中设置Project Targets、添加Group、在不同的Group中添加相应的程序源文件
9.完成所有文件添加操作后工程如下所示
10.点击工具栏上的Options for Target按钮,对工程进行配置
11.Target选项卡配置如下所示
12.Output选项卡配置如下所示(生成HEX文件哦)
13.C51选项卡配置如下所示(芯片类型宏定义、头文件包含路径设置)
14.Debug选项卡配置如下所示(选择调试工具哦)
15.Utilities选项卡配置如下所示(配置下载工具,以及下载配置项)
16.参考核心板的原理图,编写LED初始化程序
17.编写main函数
18.第一次编译工程,发现有376个报警,这是因为我们在工程中添加了所有的芯片库程序,但我们在上面编写的程序中只使用了GPIO_Init、GPIO_WriteLow、GPIO_TogglePin这3个函数,其它没有使用到的函数就是这边报警的原因了……
19.解决没有使用到的函数而引发报警提示的操作,还是需要通过工程配置来解决,如下所示,需要注意的是,更新这些配置项目,会影响Debug和Utilities选项卡配置,需要重新按照前面的配置项,再检查一下哈……
20.第二次编译工程,发再有5个错误报警了,一看这是跟IAP相关哈,缺少这样函数;我们在添加的LIB中也没有IAP的文件,我们再重新看一下LIB文件夹,发现还有一个LIB文件,正好是关于IAP的,没有添加到工程中来……解决办法就来了……如下所示:
21.第三次编译工程,这次完全OK没问题了,0 Error、0 Warning
22.最后我们点击工具栏的下载按钮,通过RD LINK PRO工具将生成的HEX程序下载到核心板,这个时候就可以看到核心板的LED在闪烁啦
后续:
将会结合全家桶的其它扩展板依次来做开发分享……熟悉新定义MCU功能及其应用……
|
详略得当,一步步介绍如何新建一个新定义的工程。