Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
nuc980
RT-Thread Studio
【NK-980IoT评测】基于RT-Thread Studio建立工程与烧写固件
发布于 2022-04-02 14:54:40 浏览:1489
订阅该版
[tocm] # 0. 开发板简介 > NK-980IoT是一块基于NUC980DK61Y微处理器(内核为ARM® ARM926EJ-S)的开发板,> 它具有非常丰富的外设,可以帮助用户轻松设计他们的产品或应用系统。 开发板的正面美图如下所示。  关于开发板的板载资源,Nuvoton官方提供了一份开发板配套的“User Manual”,详细地介绍了板载硬件及其连接的GPIO引脚。具体见下方的腾讯文档链接: 【腾讯文档】User_Manual_NK-980IoT_EN_Rev1.00 https://docs.qq.com/pdf/DWmhEZW1rbXVoVnBm # 1. 物料准备 ## 1.1 硬件 ● NK-980 IoT 开发板 1 块 ● Micro-USB 连接线 2 根 ## 1.2 软件 ● IDE:RT-Thread Studio ● BSP:Nuvoton NK-980IoT for RT-Thread ● Programmer:Nuvoton NuWriter V1.16 ● Bootloader:uboot for NUC980DK61Y(位于rt-thread\bsp\nuvoton\nk-980iot\uboot) ● UART Console:MobaXterm # 2. 建立工程 ## 2.1 建立RT-Thread标准工程 打开RT-Thread Studio,依次选择“File”->“New”->“RT-Thread Project”建立RT-Thread标准工程,如下图所示。  ## 2.2 基于BSP建立工程 目前RT-Thread已支持 NK-980IoT 开发板,Nuvoton已为我们制作了该开发板的BSP,并已加入RT-Thread源码。 基于BSP开发使我们可以不必关心底层寄存器的细节,对于掌握RT-Thread内核的熟手而言更加得心应手。 基于BSP建立工程的配置细节见下图。  ## 2.3 工程架构概览 建立好的工程见下图,Nuvoton针对NK-980 IoT开发板移植的BSP源码位于下图中箭头所指文件夹。  ## 2.4 编写测试程序 NK-980IoT开发板上配置了3个用户LED灯,具体如下所示。  接下来编写测试程序,实现流水灯效果,并每隔一段时间在控制台输出下列字符串: ```c Hello Nuvoton NK-980 IoT && RT-Thread. ``` 打开“application”文件夹下的“main.c”,修改代码如下: ```c #include
#include
#if defined(RT_USING_PIN) #include
/* defined the LED_R pin: PB13 */ #define LED_R NU_GET_PININDEX(NU_PB, 13) /* defined the LED_G pin: PG15 */ #define LED_G NU_GET_PININDEX(NU_PG, 15) /* defined the LED_Y pin: PB8 */ #define LED_Y NU_GET_PININDEX(NU_PB, 8) #endif int main(int argc, char **argv) { #if defined(RT_USING_PIN) rt_uint32_t counter = 0; /* set LED_R pin mode to output */ rt_pin_mode(LED_R, PIN_MODE_OUTPUT); /* set LED_G pin mode to output */ rt_pin_mode(LED_G, PIN_MODE_OUTPUT); /* set LED_Y pin mode to output */ rt_pin_mode(LED_Y, PIN_MODE_OUTPUT); while (counter++) { rt_pin_write(LED_R, PIN_HIGH); rt_thread_mdelay(100); rt_pin_write(LED_G, PIN_HIGH); rt_thread_mdelay(100); rt_pin_write(LED_Y, PIN_HIGH); rt_thread_mdelay(100); rt_pin_write(LED_Y, PIN_LOW); rt_thread_mdelay(100); rt_pin_write(LED_G, PIN_LOW); rt_thread_mdelay(100); rt_pin_write(LED_R, PIN_LOW); rt_thread_mdelay(100); rt_kprintf("Hello Nuvoton NK-980 IoT Board.\r\n"); } #endif return 0; } ``` ## 2.5 编译工程 点击“Project”菜单下的“Build Project”完成工程的编译(快捷键:CTRL+B),即可在Debug文件夹下生成“rtthread.bin”固件,可在后续步骤烧录进开发板中运行。  # 3. 烧录固件 ## 3.1 连接Micro-USB线 将两条Micro-USB线连接PC机与开发板上的“CON4”和“CON9”,如下图所示。  ## 3.2 拨码配置为“USB”启动 根据官方的“User Manual”文件,“SW1”拨码开关控制了开发板的启动介质,具体见下图。  如图3-1所示,将“SW1”上的两个拨码都拨至“ON”位置。 ## 3.3 通过NuWriter连接开发板 打开NuWriter软件,选择“NUC980DK61Y”配置文件,并点击“Continue”按键,如下图所示。  打开MobaXterm软件,根据“设备管理器”中VCOM的编号,建立相应的“串口控制台”。 进入主界面后,点击“Reconnect”按键,连接开发板,如下图所示。  此时查看MobaXterm的“串口控制台”,将会看下以下启动信息。  ## 3.4 烧写固件至QSPI Flash NK-980 IoT开发板上配置了容量为 1G-bit 的QSPI Flash,本教程将演示如何将程序烧写至其中并固化。整个烧写过程分为以下四个步骤: ### 3.4.1 烧写uboot-spl 遵循下图的配置烧写uboot-spl文件。  ### 3.4.2 烧写uboot 遵循下图的配置烧写uboot。  ### 3.4.3 烧写rtthread.bin固件 遵循下图的配置烧写rtthread.bin固件(上述工程编译的结果)。  ### 3.4.4 烧写env环境变量 遵循下图的配置烧写env环境变量。  ## 3.5 拨码配置为“SPI NAND”启动 将“SW1”的两个拨码配置为“OFF”,按下开发板上的“RESET”按键,系统将从SPI NAND启动。 开发板上3个LED将依次点亮和熄灭,同时在MobaXterm软件的控制台中将输出以下字符串: Hello Nuvoton NK-980 IoT && RT-Thread. 具体如下图所示。  ======================== [Gitee代码仓库链接](https://gitee.com/mxdx-aiot/nk980iot-rtt-std)
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
iotfans
满血工作中……
文章
3
回答
1
被采纳
0
关注TA
发私信
相关文章
1
rt_thread studio 啥时候能用呢
2
RT_Thread使用反馈帖子
3
RTT studio 下的 AT指令问题。
4
什么时候RTT Sdudio支持Ubuntu,Deepin和UOS操作系统
5
rt thread Studio 关于J-LINK下载问题
6
RT-Thread studio 调试设置问题
7
RTT-Studio 如何设置调试配置参数?
8
rt_thread studio 软件包配置
9
RT-Studio目前只能开发STM32的项目吗?
10
rtt studio 生成hex名字修改
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
编译报错
socket
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
3
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
9
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部