发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
[开发工具]

基于新定义库程序,使用KEIL C51一步一步创建新工程,闪烁LED灯

[复制链接]
11195|9
手机看帖
扫描二维码
随时随地手机跟帖
xld0932|  楼主 | 2023-2-4 17:36 | 显示全部楼层 |阅读模式
本帖最后由 xld0932 于 2023-2-4 18:14 编辑

#申请原创#   @21小跑堂

首先展示一下新定义基于的NBK-RD8x3x的开发板全家桶哦……分别是:NBK-RD8x3x核心板(RD8T36P48)、NBK-EBS001 TK扩展板、NBK-EBS002 基础扩展板、EBK-EBS003 IOT扩展板:


0.jpg

每个开发板的硬件资源如下图所示,可谓是根据核心板的芯片外设功能做了丰富的功能扩展,让我们更有应用创新和学习的动力了……
33.png 34.png 35.png 36.png

在着手新定义入门学习之前,我们还有一些准备工作需要先来完成;首先我们需要提前安装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软件
1.png

2.点击菜单栏Project->New uVision Project...
2.png

3.选择工程文件的存储路径、输入工程名
3.png

4.选择芯片型号
4.png 5.png

5.同意添加启动文件到项目工程,这个你可以理解为32位MCU的.s文件,比如(startup_stm32f10x_hd.s)
6.png

6.创建好的原始空工程如下所示
7.png

7.点击工具栏的Manage Project Items按钮
8.png

8.在弹出的Manage Project Items窗口的Project Items选项卡中设置Project Targets、添加Group、在不同的Group中添加相应的程序源文件
9.png 10.png 11.png 12.png

9.完成所有文件添加操作后工程如下所示
13.png

10.点击工具栏上的Options for Target按钮,对工程进行配置
14.png

11.Target选项卡配置如下所示
15.png

12.Output选项卡配置如下所示(生成HEX文件哦)
16.png

13.C51选项卡配置如下所示(芯片类型宏定义、头文件包含路径设置)
17.png 18.png

14.Debug选项卡配置如下所示(选择调试工具哦)
19.png

15.Utilities选项卡配置如下所示(配置下载工具,以及下载配置项)
20.png 21.png

16.参考核心板的原理图,编写LED初始化程序
22.png

17.编写main函数
23.png

18.第一次编译工程,发现有376个报警,这是因为我们在工程中添加了所有的芯片库程序,但我们在上面编写的程序中只使用了GPIO_Init、GPIO_WriteLow、GPIO_TogglePin这3个函数,其它没有使用到的函数就是这边报警的原因了……
24.png

19.解决没有使用到的函数而引发报警提示的操作,还是需要通过工程配置来解决,如下所示,需要注意的是,更新这些配置项目,会影响Debug和Utilities选项卡配置,需要重新按照前面的配置项,再检查一下哈……
25.png 26.png 27.png

20.第二次编译工程,发再有5个错误报警了,一看这是跟IAP相关哈,缺少这样函数;我们在添加的LIB中也没有IAP的文件,我们再重新看一下LIB文件夹,发现还有一个LIB文件,正好是关于IAP的,没有添加到工程中来……解决办法就来了……如下所示:
28.png 30.png 29.png

21.第三次编译工程,这次完全OK没问题了,0 Error、0 Warning
31.png

22.最后我们点击工具栏的下载按钮,通过RD LINK PRO工具将生成的HEX程序下载到核心板,这个时候就可以看到核心板的LED在闪烁啦
32.png

后续:
将会结合全家桶的其它扩展板依次来做开发分享……熟悉新定义MCU功能及其应用……


使用特权

评论回复

打赏榜单

21小跑堂 打赏了 50.00 元 2023-02-06
理由:恭喜通过原创审核!期待您更多的原创作品~

评论
21小跑堂 2023-2-6 10:40 回复TA
详略得当,一步步介绍如何新建一个新定义的工程。 
caigang13| | 2023-2-6 14:55 | 显示全部楼层
这套开发板配置很高啊,还有触摸板。

使用特权

评论回复
ninxin| | 2023-2-7 09:08 | 显示全部楼层

使用特权

评论回复
callhgd| | 2023-2-7 17:31 | 显示全部楼层
不错,不错,学习了。

使用特权

评论回复
qbwww| | 2023-2-28 12:40 | 显示全部楼层
将会结合全家桶的其它扩展板依次来做开发分享……熟悉新定义MCU功能及其应用……

使用特权

评论回复
eefas| | 2023-3-7 20:07 | 显示全部楼层
这个跟51的单片机开发一样的。              

使用特权

评论回复
pentruman| | 2023-3-7 20:48 | 显示全部楼层
C51的架构,做数据处理非常有限。

使用特权

评论回复
albertaabbot| | 2023-3-7 21:26 | 显示全部楼层
如何按照新定义的库函数呢              

使用特权

评论回复
averyleigh| | 2023-3-7 21:32 | 显示全部楼层
板子的性能怎么样              

使用特权

评论回复
发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则