玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路

article/2025/9/18 5:38:33

玩转RT-Thread之荔枝派Nano(全志F1C100S)

一、新手上路

--作者:燕十三(flyingcys)  blog:http://blog.csdn.net/flyingcys

--荔枝派nano/RTT非官方群:711174828


在此感谢

  • RT-Thread官方成员@uestczyh222提供的荔枝派Nano内核移植、rttbootloader文件、rtota等一系列工具。
  • 挖坑/填坑网https://debugdump.com/站长@晕哥,默默的为我们收集各种荔枝派Nano相关的资讯、工具。

 

RT-Thread是一款由中国开源社区主导开发的开源嵌入式实时操作系统(遵循GPLv2+许可协议,当标识产品使用RT-Thread时可以按照自由代码非开源的方式应用在商业产品中),它包含实时嵌入式系统相关的各个组件:实时操作系统内核、TCP/IP协议栈、文件系统、libc接口、图形引擎等。

 

RT-Thread实时操作系统是一个分层的操作系统,它包括了:

  • 底层移植、驱动层,这层与硬件密切相关,由DriversCPU移植相构成。
  • 硬实时内核,这层是RT-Thread的核心,包含了内核系统中对象的实现,例如多线程机器调度,信号量,邮箱,消息队列,内存管理,定时器等实现。
  • 组件层,这些是基于RT-Thread核心基础上的外围组件,例如文件系统,命令行shell接口,LwIP轻型TCP/IP协议栈,GUI图形引擎等。

更详细信息及开发文档可在官网https://www.rt-thread.org获取。

RT-Thread代码开源在github及国内的码云,2个仓库同步更新。20183月底最新版本为3.0.3github仓库地址:https://github.com/RT-Thread,码云仓库地址:https://gitee.com/rtthread

荔枝派Nano采用全志科技F1C100s ARM9内核SOC处理器,主频408MHz,片内DDR32MByte,支持UARTUSB OTGSPITWITPSD/MMCLCD、音视频接口等众多外设接口,是一款不可多得的高配低价开发板。荔枝派Nano相关资料可在:

https://pan.baidu.com/s/1smzuGS9下载。

     


   

同时荔枝派Nano在正式发售之前已经得到了LinuxRT-Thread等操作系统支持。RT-Thread是率先完成荔枝派Nano移植的嵌入式实时RTOS操作系统,代码已经合并进RT-Thread官方github仓库,github地址为:

https://github.com/RT-Thread/rt-thread/tree/master/bsp/allwinner_tina

一、开发环境搭建

windows下使用RT-Thread进行荔枝派Nano开发,推荐使用RT-Thread Env工具。RT-Thread Env工具包括配置器和包管理器,用来对内核和组件的功能进行配置,对组件进行自由裁剪,对线上软件包进行管理,使得系统以搭积木的方式进行构建,简单方便。

同时Env工具自带RT-Thread开发过程中需要用到的gitpythonsconsarm-none-eabi-gcc等多种工具。

Env工具可在RT-Thread官网->“资源”->“下载”页面下载,下载地址:

https://www.rt-thread.org/page/download.html

 

Env自带的arm-none-eabi-gcc正是荔枝派Nano使用的交叉编译器,Env工具已经帮我们配置好环境变量,可直接使用。Env工具使用请参照Env工具包内使用说明。

 

二、RT-Thread编译与运行

1. RT-Thread下载

RT-Thread官方github地址为:https://github.com/RT-Thread/rt-thread。在Env工具下使用:git clone https://github.com/RT-Thread/rt-thread.git。RT-Thread荔枝派Nano源码文件位于RT-Thread/bsp/allwinner_tina目录。

2. RT-Thread编译

Env工具下切换目录至RT-Thread/bsp/allwinner_tina,并执行scons命令,即可编译。 

正确编译完成后,会自动生成rtthread.bin文件。

 

3. rttbootloader下载

RT-Thread荔枝派NanoWindows下更新固件需通过rttbootloader引导,USB更新。rttbootloader下载只需1次即可,完成后即可通过“rtota工具”下载。在开始正式下载之前需要完成以下步骤:

(1) USB驱动安装

荔枝派NanoWindows下使用USB需要安装驱动,驱动可在QQ(711174828)空间下载或挖坑/填坑网F1C100S页面(https://debugdump.com/t_444.html)下载。

1) 短接flash 14(flash中无可引导代码时无需此步骤)

2) 连接USB

此时如果在“设备管理器”中发现“无法识别”设备,那就是需要安装USB驱动。驱动名为Zadig

 

安装完成后,即可在Windows下发现USB设备。

(2) rttbootloader下载

rttbootloader_f1c100s_v1.0.0.binRT-Thread适用于F1C100Sbootloader,使用rttbootloader后即可通过Flash,下载、启动、运行RT-Thread,否则只能下载程序在Ram中运行,掉电后程序即丢失。

当前1.0.0rttbootloader_f1c100s只支持8MByte及以上Flash,并且Falsh地址已经固定。期待更新的1.0.1版本发布。

rttbootloader_f1c100s_v1.0.0.bin可在QQ(711174828)空间下载或挖坑/填坑网F1C100S页面(https://debugdump.com/viewtopic.php?pid=3924#p3924)下载。

rttbootloader下载依赖sunxi-toolssunxi-tools可在QQ(711174828)空间下载或挖坑/填坑网F1C100S页面(https://debugdump.com/t_444.html)下载。

1) 短接flash 14(flash中无可引导代码时无需此步骤)

2) 连接USB

3) evn工具下输入sunxi-fel -p spiflash-write 0 rttbootloader_f1c100s_v1.0.0.bin.bin

此时可看到下载进度条,并等待下载完成。下载完成后请断开flash14脚。

 

4. RT-Thread固件下载

1) OTA固件制作

RT-Thread OTA固件制作依赖“RT-Thread OTA固件打包器”,通过打包器制作出在rttbootloaer下可被识别并更新的固件。

RT-Thread OTA固件打包器”可在QQ(711174828)空间下载或挖坑/填坑网F1C100S页面(https://debugdump.com/viewtopic.php?pid=3924#p3924)下载。

 

其中:

  • 选择固件:为之前RT-Thread源码bspallwinner_tina目录编译完成后的rtthread.bin文件。
  • 保存路径:可自由设置保存路径,OTA固件名与选择固件名一致,后缀为.rbl
  • 固件名称:必须设置为app
  • 固件版本:可根据实际情况输入。
  • 其他选项为默认。

 

2) OTA固件更新

上一步骤已完成rttbootloader下载至spiflash中,同时已经生成OTA固件。此时需要将荔枝派Nano启动至rttbootloader状态,否则无法更新OTA固件。

OTA固件更新使用“rtota工具”,该工具通过windows命令行执行,可直接在Env工具下运行。期待windows图形工具发布!!!

rtota工具”可在可在QQ(711174828)空间下载或挖坑/填坑网F1C100S页面

(https://debugdump.com/viewtopic.php?pid=3924#p3924)下载

rttbootloader已将Uart0设置为shell串口,Uart0在荔枝派Nano中分别为PE0(Rx0)PE1(Tx0),请连接至PCrttbootloader默认波特率为115200

 

在没有下载RT-Thread应用固件或在启动3秒内输入键盘任意键,rttbootloader自动进入bootloader

 

rttbootloader模式下,使用env工具,输入命令:rtota -u ./rtthread.rbl,开始下载。

 

同时输入rtota,可获取工具使用手册

 

其中:

  • -u:下载至flash
  • -R:下载至ram运行。

5. 运行

以上操作已将rtthread.bin下载至荔枝派Nanoflash中,每次重启后,rttbootloader先行运行,然后启动RT-Thread应用。

RT-Thread应用同样使用Uart0设置为shell串口,将Uart0连接至PC,这样就可以看到RT-Thread正常启动后的Logo及荔枝派Nano的时钟运行频率等信息。

msh命令行状态下,输入help或者TAB键,即可查看当前RT-Thread shell命令。

 

下集预告:

玩转RT-Thread之荔枝派Nano

二、uart应用

敬请期待!


http://chatgpt.dhexx.cn/article/rwC0wvlJ.shtml

相关文章

技术杂谈-再谈软硬SDN(2)

以下文章来源于微信公众号:网络里卖艺的小青年 ,作者我就是那个KK 不好意思,本文有点长,需要阅读10-15分钟。 上一篇文章得到了很多朋友的反馈,软硬SDN各自有各自的优势和特点,对于之前的文字,…

技术杂谈-再谈软硬SDN(1)

以下文章来源于微信公众号:网络里卖艺的小青年 ,作者KkBLuE 我曾在SDNLAB和TF中文社区联合举办的直播活动上做了一次分享,讨论到软件SDN和硬件SDN的话题,巧合的是,看到国内大牛厂家也在讨论软硬之路,于是就…

展示一下香蕉派路由Android系统

没什么好说的,第一版的系统,Android部分还可以,路由设置确实有闪退现象。等稳定版发布,可以把机顶盒和路由二合一,再接个SSD,还是很不错的。 硬件 开机 桌面 安卓程序 安卓设置 可以打开USB调试&#xff0…

网络收集的逻辑思维题

一个有意思的逻辑训练题目 题目如下&#xff1a; 有两个大于1小于100的自然数x,y&#xff0c;老师告诉小明两个数的和&#xff0c;告诉小强两个数的积。已知小明和小强足够聪明。 下面是两个人的对话&#xff1a; 小强&#xff1a;我不知道这两个数是多少。&#xff08;<沉默…

物联网技术之PLC

大家好&#xff0c;欢迎关注技福小咖。今天给大家讲讲物联网技术中的PLC。 可编程逻辑控制器(PLC) 几乎存在于所有现代工业中。尽管它们有多种形状和形式&#xff0c;但它们有一个目标&#xff1a;在复杂的工业应用中实时控制、测量和执行任务。 几十年来&#xff0c;PLC一直…

旭日X3派 AI推理(yolov5)

sunrise AI推理 旭日派中最让其期待的就是其中的BPU加速器&#xff0c;可以提供5TOPS的等效AI算力。 X3芯片概述 BPU是地平线自研的AI加速核&#xff0c;在设计过程中具体结合了AIoT/Auto的场景需求&#xff0c;从算法、计算架构、编译器三个方面进行了软硬协同优化&#xff…

Orangepi(香橙派)提高实时性

Orangepi实时性能优化 提高实时性的方法打内核 RT 补丁、使用 wiringpi 包 解决卡顿问题使用 "isoclpus xx" 禁用核心 解决卡顿问题问题解析&#xff01;cmdline.txt问题写入 /proc/cmdlline 文件出错 提高实时性的方法 首先&#xff0c;本人使用的是 orangepi one …

深入理解Linux网络——内核是如何接收到网络包的

文章目录 一、相关实际问题二、数据是如何从网卡到协议栈的1、Linux网络收包总览2、Linux启动1&#xff09;创建ksotfirqd内核线程2&#xff09;网络子系统初始化3&#xff09;协议栈注册4&#xff09;网卡驱动初始化5&#xff09;网卡启动 3、迎接数据的到来1&#xff09;硬中…

banana pi 香蕉派资源站点

banana pi 香蕉派公共号&#xff1a;SINOVOIP-BPI banana pi 香蕉派中文创客论坛&#xff1a; http://www.banana-pi.org.cn banana pi 英文社区&#xff1a; http://www.banana-pi.org banana pi 产品网站&#xff1a; http://www.banana-pi.com banana pi 工厂网站&#xff1…

- 英语 -

一&#xff1a;什么是词根词缀&#xff1f; 1&#xff1a;词根是表明词的根本意思&#xff0c;看到什么就知道和什么相关 2&#xff1a;词缀分为前缀和后缀&#xff1a;词缀可点缀也可不点缀&#xff0c;主要体现单词的完整性 前缀&#xff1a;主要跟词根一起构成词的大概意思 …

可编程的,协议独立的软件交换机(论文阅读)

PISCES&#xff1a;可编程的&#xff0c;协议独立的软件交换机 摘要 虚拟机监视器使用软件交换机来引导数据包进出虚拟机(vm)。这些交换机经常需要升级和定制&#xff0c;以支持新的协议头或用于隧道和覆盖的封装&#xff0c;以改进测量和调试功能&#xff0c;甚至添加类似于…

web3分享

文章目录 前言一、web 3.0是什么&#xff1f;1-2-3 二、核心思想、价值初衷发展 三、彳亍前行大而不倒重放攻击新旧链之争 四、全景生态结构纵向切分-加密网络的结构 总结 前言 1989年伯纳斯提出万维网的概念&#xff0c;于今已有三十多年。万维网发展至今&#xff0c;已形成一…

Linux网络数据包接收处理过程

因为要对百万、千万、甚至是过亿的用户提供各种网络服务&#xff0c;所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发&#xff0c;要理解性能开销&#xff0c;会进行性能优化。而很多时候&#xff0c;如果你对Linux底层的理解不深的话&…

网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解

目录 前文链接(系列助学, 也为后文学习做铺垫, 可按需读取) 一. 再谈HTTP再理解 二. HTTP对比学习HTTPS HTTP和HTTPS的区别如下: 三.TCP协议 &#xff08;三次握手四次挥手细节过程理解在之前的博文中有详细图解&#xff09; tcp缓冲区概念的引入 (解释流量控制): 确认…

服务器网卡支持万兆单模么,万兆网卡可以用网线吗

公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。 话题:万兆网卡 可以用网线吗回答:只要是电口那就必须用网线,实测国标5e 60米可以达到万兆90%,2米可以达到万兆95%,也就是9500Mbps/s。其实,即便是7类速度也只能在90-99%之间。回答问题不要只搬书本上的东西,…

图解Linux网络包接收过程

作者&#xff1a;张彦飞 链接&#xff1a;https://zhuanlan.zhihu.com/p/256428917 因为要对百万、千万、甚至是过亿的用户提供各种网络服务&#xff0c;所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发&#xff0c;要理解性能开销&…

家庭网络知识普及

一、先说说现在国内主流网络结构吧&#xff0c;一般家庭网络是由光网络终端ont&#xff0c;也就是光猫接入&#xff0c;也是目前比较成熟的接入场景。 1、光猫接入统称为pon(Passive Optical Network&#xff1a;无源光纤网络&#xff0c;源即电源&#xff0c;指传输过程中不需…

计算机网络知识(个人笔记)共十六张,希望可以帮到各位。

目录 共十六张图片 内容包括&#xff1a;计算机五大部件&#xff0c;工作原理&#xff0c;计算机辅助系统&#xff0c;计算机特点&#xff0c;计算机分类&#xff0c;计算机如那件系统&#xff0c;计算机硬件系统&#xff0c;计算机内部单位&#xff0c;病毒的种类及特点&…

网络布线基础知识

目录 一、信号与传输介质 二、信号的分类(区别) 三、双绞线 双绞线的分类 双绞线的链接规范 四、光纤的概述 五 、以太接口 光纤接口的分类 六、小结 一、信号与传输介质 1.信号包括信息、数据、信号。 信息是人对现实世界存在方式或某种运动状态的认识; 数据是描述…