一、简介
1.RT_Thread简介
RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过2亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。
2.W60X简介
W60X系列Wi-Fi SoC芯片是由国内联盛德公司研发,目前要有W600和W601两款芯片,本项目采用W600,W600是一款支持多接口、多协议的无线局域网 IEEE802.11n(1T1R)的 SoC 芯片。适用于智能家 电、智能家居、无线音视频、智能玩具、医疗监护、工业控制等物联网应用领域。
(1) 为什么选择W600?
一次偶然的会议上,我了解到了W600的存在,号称在华为Hilink项目上,有客户使用esp8266没有通过华为的认证,而使用W600通过了华为认证,原来我以为在wifi性价比的道路上除了乐鑫ESP8266和瑞昱RTL8710,恐难有敌手,于是开始对W600另眼相看,本文基于星通智联的TB_01开发板
TB-01 是星通智联开发的一款基于联盛德 W600 的超小体积核心开发板,该开发板引出了芯片的所有IO,并且内置LDO和UART传输芯片,只需一根 Micro USB 数据线与电脑连接即可使用,支持一键下载,外设拥有5个环形LED和2颗按键,调试操作极其方便。
二、开发环境搭建
- 准备工作
(1)电脑:支持Keil和GCC开发环境
(2)SDK: github地址(https://github.com/RT-Thread/rt-thread)
(3)Keil工具链:从Keil官网下载,版本>5.14即可,我这里使用5.27版本
(4)GCC工具链:https://pan.baidu.com/s/1cg28rk#list/path=%2F
(5)TB-01开发板:淘宝链接(https://shop387867913.taobao.com/)
- Keil环境搭建
(1)MDK5安装
MDK5安装和使用STM32等单片机的时候方法一致,请自行安装,注意,使用的MDK版本号要大于5.14,我这里使用5.27版本。
(2)SDK获取
我们使用RT_Thread4.0.1版本,4.0以上版本都支持W600和RTL8710 WIFI模块的二次开发,很遗憾暂不支持ESP8266;SDK可以使用Git工具下载,下载完成后,在master分支回退到v4.0.1版本,对应commit提交号是a1fa27ef8863d47d9986eea17f59152fda4821c5。
(3)配置MDK5,生成.FLS烧录文件
获取W600_QFLASH_Driver_for_SWD:
https://github.com/w600/W600_QFLASH_Driver_for_SWD
将从github下载的文件夹中W600_QFlash.FLM拷贝到Keil/ARM/Flash目录下,编译的时候即可生成.FLS烧录文件;或者将W600_QFlash文件夹复制到 Keil/ARM/Flash目录下,如下图所示:
使用MKD5打开,芯片选择CM3,如下图:
编译运行后,在C:\Keil_v5\ARM\Flash目录下即可生成W600_QFlash.FLM。
(4)编译
进入RT_Thread的bsp/w60x目录,用Keil MDK打开project.uvprjx工程,发现编译不通过
原因在于RT_Thread默认的bsp/w60x下没有W600相关驱动文件,需要用RT_thread配置工具ENV配置并下载缺失的文件
(5)配置RT_Thread Env工具
Env工具使用手册参考RT_Thread官网说明:https://www.rt-thread.org/document/site/programming-manual/env/env/
打开Env工具,进入当前bsp页面,我这里工程目录是:E:\study\OS\rt-thread\rt-thread\bsp\w60x,Env界面如下图
输入menuconfig
选择RT-Thread online packages —>
接着选择peripheral libraries and drivers —>
勾选wm_libraries:a library package for WinnerMicro devices. 默认已经勾选过了,按下esc退出配置页面即可。
最后选择Yes,保存所做的更改
配置完成后,需要在控制台输入pkgs --update,会在线下载缺失的文件
一般来说最新的包都是OK的,但是我测下来目前最新的wm_libraries编译不通过,当前最新提交号为:19013e6cdd66bd79087,需要cd到wm_libraries-latest目录,使用git工具将代码回退到master分支commit提交号为:f759f65830126b703c8994的那次提交。
然后回到keil页面,点击编译按钮
(6)下载运行
下载星通智联提供的下载调试工具ThingsTurn_Serial_Tool.exe,
链接:https://pan.baidu.com/s/1uNr6hKLACRv9dO4MwSbHgQ
提取码:558k
打开工具
设备进入烧录模式
先按下key按键,然后按下rst按键,设备即可进入烧录模式,串口goon根据会打印CCCCCCCCC,然后选择要下载的fls文件-这里是生成的rtthread_1M.FLS文件,点击下载按钮即可。
3. GCC环境搭建
gcc环境有三种,一种是在linux环境下搭建,其二是windows下基于esplise ID开发,其三是windows下使用VSCode进行开发,本文使用windows下VSCode进行开发,主要原因在于VSCode比较轻量,界面简洁。
(1)VSCode安装
具体安装方法可以参考RT_Thread官网文档中心应用开发/开发环境搭建/使用VSCode开发RT_Thread,地址如下:https://www.rt-thread.org/document/site/application-note/setup/qemu/vscode/an0021-qemu-vscode/
(2)编译
编译使用Env工具进行编译,因为gcc编译链使用的是env中自带的arm-none-eabi,因此需要在Env控制台中输入scons编译,我这里编译结果如下:
.FLS在bsp/w60x/bin路径下
(5)下载运行
下载方式和在Keil下方式一致,下载我们都利用生成的FLS文件。
注意FLS文件为生成的rtthread_1M.FLS。
三、结语
至此,我们完成了W600开发环境搭建
(1)获取资料
如您在使用过程中有任何问题,请加QQ群进一步交流
QQ交流群:906015840 (备注:物联网项目交流)
获取源码:关注下方公众号,回复w600即可
一叶孤沙出品:一沙一世界,一叶一菩提