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. (转)通过gitlab统计git提交的代码量

    git的代码量大多数都是根据命令行统计,或者根据第三方插件统计.但是都不满足我的需求,因为我们代码都由gitlab管理,于是想到了通过gitlab暴露出来的接口获取数据. 第一步,生成私钥 登录你的g ...

  2. Redis 存储对象信息是用 Hash 还是 String

    Redis 内部使用一个 RedisObject 对象来表示所有的 key 和 value,RedisObject 中的 type,则是代表一个 value 对象具体是何种数据类型,它包含字符串(St ...

  3. 在Linux中通过Top运行进程查找最高内存和CPU使用率

    按内存使用情况查找前15个进程,在批处理模式下为"top" 使用top命令查看有关当前状态,系统使用情况的更详细信息:正常运行时间,负载平均值和进程总数. 分类:Linux命令操作 ...

  4. 文件不同 diff --brief XX YY

    文件不同 diff --brief XX YY 文件不同 --哪些位置 diff -c XX YY 9.diff命令 diff命令用于比较多个文本文件的差异,格式为"diff [参数] 文件 ...

  5. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

  6. shell基础之多功能nginx(安装、重启、停止等)

    1 #!/bin/bash 2 #要求:检查本机是否已编译安装nginx,检查本机是否存在nginx源码包,编译安装nginx,实现开启.停止.查看状态等功能 3 #检查是否已编译安装nginx 4 ...

  7. 细谈select函数(C语言) -(转自 piaojun_pj的专栏)

    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect.accept.recv或recvfrom这样的阻塞程序( ...

  8. clickhouse_各个引擎表的特点

    去重表:RepalcingMergeTree 1.使用order by排序键作为判断重复数据的唯一键 2.只有在合并分区的时候才会触发删除重复数据的逻辑 3.以数据分区为单位删除重复数据.当分区合并时 ...

  9. 自动机器学习(AutoML)

    自动机器学习(AutoML) 不再需要苦恼于学习各种机器学习的算法 目录: 一.为什么需要自动机器学习 二.超参数优化 Hyper-parameter Optimization 三.元学习 Meta ...

  10. MindSpore:自动微分

    MindSpore:自动微分 作为一款「全场景 AI 框架」,MindSpore 是人工智能解决方案的重要组成部分,与 TensorFlow.PyTorch.PaddlePaddle 等流行深度学习框 ...