在 NUC980 上运行 RT-Thread
NUC980 & RT-Thread
(1) NUC980
nuc980 是新塘推出的基于 ARM926EJ-S,集成 64 MB 或 128 MB DDR-II 的处理器,主频可以达到300MHZ,有 64-pin、128-pin 和 216-pin LQFP 封装,主要应用为工业自动化控制、工业物联网闸道器 ( Gateway ) 、网路印表机设备、电表集中器、智能家居闸道。
(2) RT-Thread
RT-Thread 是一个国产的 RTOS ,详细信息查看 RT-Thread 官网
开发环境
- Win10
- 编译器:GCC,这里使用 RT-Thread 提供的 RT-Thread env 中的 GCC
硬件
我手上的硬件是官方出的 NuMaker-RTU-NUC980:

该板子上使用的是 NUC980DR61YC ,内置 64MB DDR,LQFN 64 封装。
下载 RT-Thread env
可以在 https://www.rt-thread.org/page/download.html 找到 RT-Thread env 下载地址:

下载解压出来后为:

里面的 Env_User_Manual_zh.pdf 有该工具的使用说明
获取 RT-Thread
(20210526)看了下 RT-Thread 已 release 的最新的版本,虽然已经对 NUC980 进行支持,可是没有 NuMaker-RTU-NUC980 的工程,不过 RT-Thread github 中最新的代码已经有了:

这里选择从 rt-thread github 下载源码:

编译
下载完 RT-Thread 后,首先进入目录 rt-thread\bsp\nuvoton\nk-rtu980,然后右键打开 RT-Thread env,或者打开 RT-Thread env,然后进入目录 rt-thread\bsp\nuvoton\nk-rtu980,如下:

这里什么都不做改动,直接使用默认配置,在 RT-Thread env 中 运行 menuconfig --generate,生成配置:

然后更新 rt-thread 包,并下载所使用软件包:


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

烧录运行
板子上一共有2 个 micro usb 接口,一个用于是连接到 nuc980 usb,可以用于给 nuc980 下载固件,还有一个USB是连接到板子上的 USB 转 TTL,可以用于调试,把NUC980 设置为 USB 启动进入下载模式,然后分别把这两个 USB 口都连接到 PC,使用 MobaXterm 打开对应 COM口,,打开 NuWriter,选择 NUC980DR61YC,这里让 RT-Thread 在 nuc980 RAM上跑,如下:

下载,然后可以看到 RT-Thread 已经运行起来了,并且板子上一个 LED 也闪烁起来了:

把 RT-Thread 跑起来了,看了官方给出的 nuc980 支持的存储设备(Storage_Supporting_List),如果是 SPI NOR Flash 的话,最大支持 256M bit,也就是 32M 字节,nuc980 支持的最少的 DRAM 也有 64M 字节,这么大的 Flash 跟 RAM,如果是当单片机跑的话,嘿嘿,那真的是可以为所欲为了:

在 NUC980 上运行 RT-Thread的更多相关文章
- .netcore跨平台 之 windows上编译,ubuntu上运行
1 下载并安装netcore sdk 下载地址 https://github.com/dotnet/cli 选取合适的版本下载安装即可 打开 CMD ,输入dotnet,出现以下信息说明已安装好 ...
- Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法
1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, ...
- 如何实现在Windows上运行Linux程序,附示例代码
微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理, 而今天的这篇文章将会讲解如何自己 ...
- Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序
我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...
- Eclipse提交代码到Spark集群上运行
Spark集群master节点: 192.168.168.200 Eclipse运行windows主机: 192.168.168.100 场景: 为了测试在Eclipse上开发的代码在Spa ...
- Yarn上运行spark-1.6.0
目录 目录 1 1. 约定 1 2. 安装Scala 1 2.1. 下载 2 2.2. 安装 2 2.3. 设置环境变量 2 3. 安装Spark 2 3.1. 下载 2 3.2. 安装 2 3.3. ...
- 在AWS EMR上运行Map Reduce的Java示例程序 及 操作小计
下面的代码中AffairClient类中包含了三个内之类,分别对应于Hadoop Mapreduce程序运行所需的Mapper类,Reducer类,和主类.AffairClient类中其余方法用于配置 ...
- 解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题
解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题 一.前言 最近在做一点小的实验,用到了Scala,spark这些东西,于是在Linux平台上来完成,结果一个 ...
- 在Win10上运行ESXI-Comstomer
在Win10上运行ESXI-Comstomer 来源 https://www.v-front.de/p/esxi-community-packaging-tools.html ESXi-Customi ...
随机推荐
- Java_接口
接口 接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写.接口的作用主要体现在一下两点 1.指定规则2.利用这些规则给类做功能扩展 接口的定义和使用 接口使用interface关键字来定义,使 ...
- 7. IDEA概述和安装
1.1IDEA概述 IDEA全称InteliJ IDEA,是用于Java语言开发的继承环境,它是业界公认的目前用于Java程序开发的最好工具 集成环境:把代码编写,编译,执行,调试等多种功能综合到一起 ...
- 关于文字内容过长,导致文本内容超出html 标签宽度的解决方法之自动换行
在标签的style 属性中设置 word-break style="word-break:break-all;" 这样就可以实现换行 上截图没设置之前 设置之后 完美解决!!!!! ...
- jmeter线程组扩展空间——Stepping Thread Group
安装方法跟安装其他插件一样,不复赘述 各个配置含义: 举个例子:一个线程组下包含了登陆和抽奖两个接口 1.继续:如果登陆接口失败,会继续执行抽奖接口 2.start next thread loop: ...
- mysql基础之mariadb galera集群(多主)
一.概念 galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性. galera集群是基于wsrep协议(端口4 ...
- Linux中级之windows下使用curl命令(cmd命令行)
在官网下载工具包:http://curl.haxx.se/download.html(根据自己电脑系统位数选择) 使用方式一:在curl.exe目录中使用 解压下载后的压缩文件,通过cmd命令进入到c ...
- python类属性和实例属性的访问
- C 语言通用模板队列
前言 嵌入式开发过程中,各个模块之间,各个设备之间进行交互时,都会存在数据的输入输出,由于处理的方式不同,数据不会立即同步处理,因此通常在设计时都会设计缓冲区进行数据的处理,方式数据丢失等问题:一个项 ...
- Manjaro Linux安装singularity-container
技术背景 容器化技术在各种生产领域已经得到了广泛的应用,这得益于容器的轻量化(相比于虚拟机而言),安全性(隔离弱于虚拟机,但是权限控制得当的情况下也可以认为是安全隔离的)以及系统级虚拟化带来的高可用性 ...
- js中reduce用法详解
介绍reduce reduce() 方法接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当 ...