RT-Thread是一個集實時操做系統(RTOS)內核、中間件組件和開發者社區於一體的技術平臺,由熊譜翔先生帶領並集合開源社區力量開發而成,RT-Thread也是一個組件完整豐富、高度可伸縮、簡易開發、超低功耗、高安全性的物聯網操做系統。RT-Thread具有一個IoT OS平臺所需的全部關鍵組件,例如GUI、網絡協議棧、安全傳輸、低功耗組件等等。通過11年的累積發展,RT-Thread已經擁有一個國內最大的嵌入式開源社區,同時被普遍應用於能源、車載、醫療、消費電子等多個行業,累積裝機量超過2億臺,成爲國人自主開發、國內最成熟穩定和裝機量最大的開源RTOS。linux
W60X系列Wi-Fi SoC芯片是由國內聯盛德公司研發,目前要有W600和W601兩款芯片,本項目採用W600,W600是一款支持多接口、多協議的無線局域網 IEEE802.11n(1T1R)的 SoC 芯片。適用於智能家 電、智能家居、無線音視頻、智能玩具、醫療監護、工業控制等物聯網應用領域。git
(1) 爲何選擇W600?github
一次偶然的會議上,我瞭解到了W600的存在,號稱在華爲Hilink項目上,有客戶使用esp8266沒有經過華爲的認證,而使用W600經過了華爲認證,原來我覺得在wifi性價比的道路上除了樂鑫ESP8266和瑞昱RTL8710,恐難有敵手,因而開始對W600刮目相看,便開始某寶瘋狂搜索,發現了一款9.9元基於W600的TB_01開發板windows
TB-01 是星通智聯開發的一款基於聯盛德 W600 的超小體積核心開發板,該開發板引出了芯片的全部IO,而且內置LDO和UART傳輸芯片,只需一根 Micro USB 數據線與電腦鏈接便可使用,支持一鍵下載,外設擁有5個環形LED和2顆按鍵,調試操做極其方便。安全
(1)電腦:支持Keil和GCC開發環境網絡
(2)SDK: github地址(https://github.com/RT-Thread/rt-thread)app
(3)Keil工具鏈:從Keil官網下載,版本>5.14便可,我這裏使用5.27版本ide
(4)GCC工具鏈:https://pan.baidu.com/s/1cg28rk#list/path=%2F工具
(5)TB-01開發板:淘寶連接(https://shop387867913.taobao.com/)操作系統
(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文件,點擊下載按鈕便可。
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。
本節完,如您在使用過程當中有任何問題,請加QQ羣進一步交流
QQ交流羣:906015840 (備註:物聯網項目交流)
github倉庫地址:https://github.com/solitary-sand/rt_thread/
一葉孤沙出品:一沙一世界,一葉一菩提