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目錄下,如下圖所示:
w600_flash
使用MKD5打開,芯片選擇CM3,如下圖:
ENV
編譯運行后,在C:\Keil_v5\ARM\Flash目錄下即可生成W600_QFlash.FLM。
after_build
(4)編譯
進入RT_Thread的bsp/w60x目錄,用Keil MDK打開project.uvprjx工程,發現編譯不通過
build_error
原因在于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界面如下圖
env_bsp_w600
輸入menuconfig
menu1
選擇RT-Thread online packages --->
menu2
接著選擇peripheral libraries and drivers --->
menu3
勾選wm_libraries:a library package for WinnerMicro devices. 默認已經勾選過了,按下esc退出配置頁面即可。
最后選擇Yes,保存所做的更改
menu4
配置完成后,需要再控制臺輸入pkgs --update,會在線下載缺失的文件
pkgs_update
一般來說最新的包都是OK的,但是我測下來目前最新的wm_libraries編譯不通過,當前最新提交號為:19013e6cdd66bd79087,需要cd到wm_libraries-latest目錄,使用git工具將代碼回退到master分支commit提交號為:f759f65830126b703c8994的那次提交。
然后回到keil頁面,點擊編譯按鈕
w600_build_success
(6)下載運行
下載星通智聯提供的下載調試工具ThingsTurn_Serial_Tool.exe,
鏈接:https://pan.baidu.com/s/1uNr6hKLACRv9dO4MwSbHgQ
提取碼:558k
打開工具
download1
設備進入燒錄模式
先按下key按鍵,然后按下rst按鍵,設備即可進入燒錄模式,串口goon根據會打印CCCCCCCCC,然后選擇要下載的fls文件-這里是生成的rtthread_1M.FLS文件,點擊下載按鈕即可。
download2
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編譯,我這里編譯結果如下:
W600_vscode_build
.FLS在bsp/w60x/bin路徑下
w600_fls
(5)下載運行
下載方式和在Keil下方式一致,下載我們都利用生成的FLS文件。
注意FLS文件為生成的rtthread_1M.FLS。
rtt_1M_fls