《嵌入式系统 – NUC980 IoT应用开发实战指南(基于RT-Thread系统)》第1章 NUC980 IoT移植 RT-Thread

开发环境:
IDE:RT-Thread Studio 2.1.5、ENV
开发板:NUC980 IoT

1.1 NUC980 IoT开发板简介

NUC980 IoT开发板是新塘推出的基于 ARM926EJ-S,集成 128 MB DDR-II 的处理器,主频可以达到300MHZ,有 64-pin、128-pin 和 216-pin LQFP 封装,主要应用为工业自动化控制、工业物联网闸道器 ( Gateway ) 、网路印表机设备、电表集中器、智能家居闸道。

在这里插入图片描述

NUC980 IoT开发板资源丰富。

 32-bit ARM926EJ-STM NUC980DK61Y 微处理器核心
 内建 64 MB DDR内存,
 工作频率最高可达 300 MHz
 1 Gbit SPI-NAND Flash
 10 / 100 以太网络 x 1,
 USB 2.0 高速主机 x 1
 USB 2.0 高速主机 / 装置 x 1
 单声道麦克风输入
 立体声耳机输出
 MicroSD 卡槽
 USB Power and CDC Debug Port
 外部内存扩充接口
 Arduino 兼容接口
 UART x 3

在这里插入图片描述

1.2 NUC980 IoT移植RT-Thread

RT-Thread中已经做好了nk-980iot的BSP,因此这里直接用就可以了。

关于RT-Thread的开发环境搭建请参看笔者博客:

Keil+env开发
RT-Thread Studio开发
Ubuntu开发

1.2.1编译RT-Thread固件

首选从下载rt-thread源码。下载完 RT-Thread 后,首先进入目录 rt-thread\bsp\nuvoton\nk-980iot,然后右键打开 RT-Thread env,或者打开 RT-Thread env,然后进入目录 rt-thread\bsp\nuvoton\nk-980iot。

在这里插入图片描述

生成配置:

$ menuconfig --generate

在这里插入图片描述

当然啦,要想修改配置去掉‘generate’参数即可。
然后更新 rt-thread 包,并下载所使用软件包:

$ pkgs --update

在这里插入图片描述

然后执行 scons 指令进行编译:

$ scons

在这里插入图片描述

等待编译完成即可。

在这里插入图片描述

1.2.2烧写RT-Thread固件

板子上一共有2 个 micro usb 接口,一个是用于连接到 NUC980IoT USB,可以用于给 NUC980IoT下载固件,还有一个USB是连接到板子上的 USB 转 TTL,可以用于调试。在烧些RT-Thread固件前,先安装USB驱动。

下载地址

双击Driver目录下的WinUSB4NuVCOM.exe即可安装。

在这里插入图片描述

接下来就很简单,笔者就不再赘述了。成功安装后提示信息如下。

在这里插入图片描述

这个时候插上USB,应该可以正常识别出一个设备。

在这里插入图片描述

NuWriter烧写软件和USB驱动一样,也在OpenNuvoton的NUC980_NuWriter仓库中。

在烧写之前,还需要了解NUC980 IoT启动模式。根据NUC980的手册说明和原理图,可以看到NUC980有四种启动模式。

在这里插入图片描述

在电路上设计了两个拨码开关用于选择和配置启动方式。

在这里插入图片描述

接下来就正式烧写固件了。

把NUC980 IoT设置为 USB 启动进入下载模式,然后分别把这两个 USB 口都连接到 PC,使用 Xshell打开对应 COM口,打开 NuWriter,选择 NUC980DR61YC。

在这里插入图片描述

连接成功后,会有板子的版本信息。

在这里插入图片描述

同时调试串口信息如下:

在这里插入图片描述

1.烧写固件到SDRAM
这里让 RT-Thread 在 NUC980IoT RAM上跑。选择下载类型为DDR/SRAM。然后选择前面编译的RT-Thread固件,设置Execute Address为0,然后点击‘Download’下载即可。

在这里插入图片描述

下载成功后就可以看到 RT-Thread 已经运行起来了。

在这里插入图片描述

同时板子上一个 LED 也闪烁起来了。

在这里插入图片描述

是不是很简单,赶紧去玩起来吧。

2.烧写固件到SPI NAND Flash
选择下载类型为SPI NAND,按下‘Re-Connect’,按下‘Erase’,然后选择‘Erase All’,最后按下‘OK’即可进行擦写操作。

在这里插入图片描述

等待片刻即可擦写完成。

在这里插入图片描述

接下来选择uboot-spl.bin,选择Image Type为Loader,输入 Image Execute Address地址为0x200,按下 Program 并等待结束。

在这里插入图片描述

接下来选择uboot.bin,选择Image Type为Data,输入Image start address地址为0x100000,按下 Program 并等待结束。

在这里插入图片描述

接下来选择rtthread.bin,选择Image Type为Data,输入Image start address地址为0x200000,按下 Program 并等待结束。

在这里插入图片描述

接下来选择env.txt,选择Image Type为Environment,输入Image start address地址为0x80000,按下 Program 并等待结束。

在这里插入图片描述

然后设定Power-on setting to SPI NAND booting。

接下来就可以查看RT-Thread是否运行。

正常下其现象和RAM是一样的。

在这里插入图片描述

3.烧写固件到SD
将SD卡插到板子上,点击‘Re-Connect’连接设备,如果识别到SD卡,会有以下信息。

在这里插入图片描述

然后打开NuWriter,点击‘Format’。

在这里插入图片描述

然后设置格式化大小。

在这里插入图片描述

点击‘Set’之后,然后点击‘OK’即可格式化。

在这里插入图片描述

格式化成功后,打印信息如下:

在这里插入图片描述

接下来选择uboot.bin,选择Image Type为Data,输入Image Execute address地址为0xe00000,按下 Program 并等待结束。
在这里插入图片描述

接下来选择rtthread.bin,选择Image Type为Data,输入Image start address地址为0x100000,按下 Program 并等待结束。

在这里插入图片描述

然后设定Power-on setting to SD booting。

接下来就可以查看RT-Thread是否运行。

正常下其现象和RAM是一样的。

在这里插入图片描述

值得注意的是,以上提到的文件在rt-thread/bsp/nuvoton/nk-980iot/uboot目录下。

在这里插入图片描述

本文使用的是ENV开发,当然也可使用RT-Thread Studio。

根据个人喜欢选择开发环境。




欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

关注公众号[嵌入式实验楼]获取更多资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruceoxl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值