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的更多相关文章

  1. .netcore跨平台 之 windows上编译,ubuntu上运行

    1 下载并安装netcore sdk    下载地址 https://github.com/dotnet/cli 选取合适的版本下载安装即可 打开 CMD ,输入dotnet,出现以下信息说明已安装好 ...

  2. Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法

    1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, ...

  3. 如何实现在Windows上运行Linux程序,附示例代码

    微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理, 而今天的这篇文章将会讲解如何自己 ...

  4. Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序

    我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...

  5. Eclipse提交代码到Spark集群上运行

    Spark集群master节点:      192.168.168.200 Eclipse运行windows主机: 192.168.168.100 场景: 为了测试在Eclipse上开发的代码在Spa ...

  6. 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. ...

  7. 在AWS EMR上运行Map Reduce的Java示例程序 及 操作小计

    下面的代码中AffairClient类中包含了三个内之类,分别对应于Hadoop Mapreduce程序运行所需的Mapper类,Reducer类,和主类.AffairClient类中其余方法用于配置 ...

  8. 解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题

    解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题 一.前言 最近在做一点小的实验,用到了Scala,spark这些东西,于是在Linux平台上来完成,结果一个 ...

  9. 在Win10上运行ESXI-Comstomer

    在Win10上运行ESXI-Comstomer 来源 https://www.v-front.de/p/esxi-community-packaging-tools.html ESXi-Customi ...

随机推荐

  1. C++ primer plus读书笔记——第12章 类和动态内存分配

    第12章 类和动态内存分配 1. 静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域运算符来指出静态成员所属的类.但如果静态成员是整形或枚举型const,则可以在类声明中初始化 ...

  2. Can’t update table ‘xxx’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger

    MySQL: Solution for ERROR 1442 (HY000): Can't update table 'xxx' in stored function/trigger because ...

  3. Scanner, BufferedReader, InputStreamReader 与ACM模式输入

    Scanner, BufferedReader, InputStreamReader 与ACM模式输入html { -webkit-print-color-adjust: exact } * { bo ...

  4. Ubuntu 16.04 Bridge配置

    Ubuntu 16.04 Bridge配置 一.安装网桥拓展包 bridge-utils root@ubuntu:~# apt-get install bridge-utils 二.创建网桥设备 // ...

  5. Docker Swarm(九)资源限制

    资源限制 docker run 針對限制容器資源有許多設置選項,但Swarm中的 docker service 是另一回事,目前只有cpu和memory的選項可以操作. 如果 docker 找不到足夠 ...

  6. s9 Linux 进程管理命令

    9.1 ps:查看进程 9.2-3 pstree & pgrep 9.4-6 kill & killall & pkill 9.7 top:实时显示系统中各个进程的资源占用状况 ...

  7. 安装JDK 常见错误解决(Day_07)

    在cmd中输入java -version或者java 或出现以下错误: 原因一:可能是你的JDK装的时间比较早,导致环境变量中的Path(此电脑->右击属性->高级系统设置->环境变 ...

  8. wxPython开发之密码管理程序

    不想记密码?密码全设置成一样担心安全?用别人程序担心密码泄露?看完本博客,开发一个属于自己的密码管理程序吧 我们用到的是python的wxPython界面库包 先来看下成果界面:简洁主题明确  要想开 ...

  9. SystemVerilog MCDF比较器

    checker肩负了模拟设计行为和功能检查任务. 功能: 缓存从各个monitor手机到的数据. ton过比较器检查实际收集到的DUT输出端口数据是否同reference module(参考模型)产生 ...

  10. 【分布式】-- 微服务抽奖系统后台整合MyBatis-Plus

    1.整合MyBatis-Plus背景 [分布式]-- 基于Nacos.OpenFeign搭建的微服务抽奖系统后台小案例 本篇是基于上一篇博文微服务抽奖系统后台对持久层MyBatis进行更换,并整合My ...