玩转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实时操作系统是一个分层的操作系统,它包括了:

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

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

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

荔枝派Nano采用全志科技F1C100s ARM9内核SOC处理器,主频408MHz,片内DDR达32MByte,支持UART、USB OTG、SPI、TWI、TP、SD/MMC、LCD、音视频接口等众多外设接口,是一款不可多得的高配低价开发板。荔枝派Nano相关资料可在:

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

同时荔枝派Nano在正式发售之前已经得到了Linux、RT-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开发过程中需要用到的git、python、scons、arm-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荔枝派Nano在Windows下更新固件需通过rttbootloader引导,USB更新。rttbootloader下载只需1次即可,完成后即可通过“rtota工具”下载。在开始正式下载之前需要完成以下步骤:

(1) USB驱动安装

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

1) 短接flash 1、4脚(当flash中无可引导代码时无需此步骤)

2) 连接USB

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

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

(2) rttbootloader下载

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

当前1.0.0版rttbootloader_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-tools。sunxi-tools可在QQ群(711174828)空间下载或挖坑/填坑网F1C100S页面(https://debugdump.com/t_444.html)下载。

1) 短接flash 1、4脚(当flash中无可引导代码时无需此步骤)

2) 连接USB

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

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

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源码bsp下allwinner_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),请连接至PC,rttbootloader默认波特率为115200。

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

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

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

其中:

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

5. 运行

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

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

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

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

  1. 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc

    首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...

  2. 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记

    首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...

  3. 基于荔枝派Nano学习Buildroot的构建过程

    文章目录 0. 声明 1. 前言 2. 开发环境以及工具准备 2.1 主机系统 2.2 编译工具链 3. 构建系统Buildroot 3.1 工程配置 (1)首次构建工具链的情况 (2)使用外部工具链 ...

  4. 荔枝派nano上手笔记(一)移植Uboot

    在放假前就买了荔枝派nano和zero这俩块小板子,打算寒假上手玩一下,但是赶放假看了看官方的文档发现那时的水平还不太能玩的动,那时对Linux基本不太熟悉,只会一些简单的操作,经过了快一个月的学习, ...

  5. 荔枝派Nano TF卡运行Linux全流程

    目录 前言 一.安装依赖 二.从u-boot启动 1.安装交叉编译链 2.编译u-boot 三.主线Linux编译 四.设备树添加电阻屏节点 五.根文件系统编译 后记 前言 最近入坑了搭载10元超便宜 ...

  6. 荔枝派nano初体验-windows写入镜像到TF卡启动

    荔枝派nano是一个很小的系统,搭载全志F1C100S芯片,具有ddr内存,支持tf,flash启动. 本人在了解荔枝派的特点之后,在淘宝上找到了一个57块钱的荔枝派nano,一般价格都是在85左右, ...

  7. 荔枝派Zero | 全志V3s 开发教程(一) 烧录系统镜像的方法以及如何烧录主线Linux系统镜像

    荔枝派Zero | 全志V3s 开发教程(一) 荔枝派Zero的开发教程: http://zero.lichee.pro/系统开发/type.html 刚开始尝试编译Camdroid官方SDK,最终浪 ...

  8. 1.荔枝派 zero(全志V3S)-编译及SD烧录

    上面是我创建的群聊,欢迎新朋友的加入. 之前买了个荔枝派,全志的A3S芯片.折腾了两天,写一下编译和SD烧录的过程. 目录 1.直接烧录镜像文件 2.uboot编译 3.kernel编译 4.root ...

  9. 荔枝派Nano调试心得

    1.自己配置内核的时候,在全志处理器里边并没有arm926ejs的选项.其实需要把别的全志处理器全部叉掉,这个选项才会暴露出来. 2.在选择PINCTRL时,并没有暴露出f1c100s芯片的选项.其实 ...

最新文章

  1. Netflix:为什么建立专门的媒体数据库?
  2. 【已解决】清除linux系统的多余引导
  3. 【OpenCV】OpenCV函数精讲之 -- 感兴趣区域ROI
  4. 部门质量管理工作模板
  5. 完美解决 IDEA plugins 插件搜索不出结果
  6. GitHub 开源官方命令行工具登顶 TOP1,5 分钟极速上手!
  7. php源码 辅助发卡_【程序源码】PHP自动化售货发卡网源码
  8. c51汇编语言循环指令,汇编语言循环指令loop
  9. android provision
  10. 信息搜集-读取微信聊天记录
  11. 读书笔记-指数基金投资指南
  12. HRM人力资源系统-Day13
  13. html [JS]随机密码生成[运维工具]
  14. 网络急速诊断,快速测试网络速度
  15. wordpress 建站15个注意事项
  16. 基本概念--MAE、MSE和RMSE
  17. 函数最值问题实验(MATLAB实现)
  18. Google Earth Engine
  19. 磁盘配额edquota命令
  20. 学习泰课的Unity3D黑暗之光RPG游戏开发(一)——学习目录介绍

热门文章

  1. openssl base64 编、解码
  2. javaweb个人物品信息管理系统springboot+Ssm
  3. c语言程序设计0039大作业答案,西南大学20年12月[0039]C语言程序设计课程大作业参考...
  4. 都2023年,我是真的不建议做网络工程师了!!
  5. openlayers学习——1、openlayers加载天地图
  6. 车载ECU嵌入式设备的诊断测试 – DTC
  7. LVGL MCU_Font V2.0 更新 定制图标字体
  8. html默认打开方式怎么取消,怎么取消默认打开QQ浏览器
  9. Unity3D Shader系列之透视效果XRay
  10. 关于Unity VideoPlayer组件 视频切换第一帧卡顿