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官网说明:
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0
打开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文件,点击下载按钮即可。
GCC环境搭建
gcc环境氛围三种,一种是在linux环境下搭建,其二是windows下基于esplise ID开发,其三是windows下使用VSCode进行开发,本文使用windows下VSCode进行开发,主要原因在于VSCode比较轻量,界面简洁。
(1)VSCode安装
具体安装方法可以参考RT_Thread官网文档中心应用开发/开发环境搭建/使用VSCode开发RT_Thread,地址如下:
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0
(2)编译
编译使用Env工具进行编译,因为gcc编译链使用的是env中自带的arm-none-eabi,因此需要在Env控制台中输入scons编译,我这里编译结果如下:
.FLS在bsp/w60x/bin路径下
(5)下载运行
下载方式和在Keil下方式一致,下载我们都利用生成的FLS文件。
注意FLS文件为生成的rtthread_1M.FLS。