本次要移植的WCH開發(fā)板外形如下:
首先安裝MounRiver軟件,然后新建一個工程,芯片型號選擇WCH32V103R8T6,注意操作系統(tǒng)選項要選擇RT_Thread,工程如下:
可以看到這是一個串口輸出的模板程序。然后點擊編譯,點擊下載按鈕,成功下載到開發(fā)板,再打開linkboy串口助手,按下主板的復(fù)位鍵,可以看到有串口信息打印出來:
到此硬件驗證完成。我們可以創(chuàng)建正式的RT-Thread工程了,注意新建工程時候,操作系統(tǒng)列表里要選擇“RT-Thread”,如下圖:
接下來開始進行vos的安裝,運行l(wèi)inkboy軟件,點擊“外掛神器”按鈕:
在芯片型號中選擇 NULL,這是由于目前還沒有WCH的模板,因此用NULL代替:
然后點擊新建虛擬機,并選擇安裝目錄為WCH工程的main.c文件的同目錄下:
并按照如下設(shè)置后,點擊“保存并生效配置”按鈕:
現(xiàn)在vos引擎已經(jīng)安裝到WCH工程中,接下來需要在main函數(shù)中初始化這個虛擬機,并讓它運行,修改main文件如下:
分別是34行導(dǎo)入虛擬機,45行初始化虛擬機,48行定時調(diào)用虛擬機。然后點擊編譯按鈕:
發(fā)現(xiàn)報錯,提示沒有SoftDelay_1us這個函數(shù)。打開 vos_c.h 文件,手工添加這個函數(shù),可以沒有指令,就一個空函數(shù)即可(按理說不應(yīng)該編譯報錯,vos應(yīng)自動包含這個函數(shù)最好,后續(xù)會升級改進):
如上圖,簡單手工補上這個空函數(shù),36行。然后再編譯,可以看到編譯正常。也就是說這時候把編譯好的hex文件下載到開發(fā)板上,vos引擎應(yīng)該能運行起來了。不過看不到任何效果,因為我們尚未移植GPIO函數(shù)。接下來就移植GPIO,可以先用串口打印來代替,如圖:
這里本來應(yīng)該是設(shè)置第i個針腳的電平為數(shù)據(jù)d,不過我們先用串口打印出來再說吧。先編譯一下,正常。然后打開linkboy軟件,寫一個控制LED燈亮滅的小程序試試:
由于目前尚未把WCH開發(fā)板封裝到linkboy里,因此先用一個通用的開發(fā)板代替,外部接一個LED到D4端口。仿真可以看到LED亮滅閃爍不停。然后點擊左上角的linkboy按鈕,選擇外掛模式-源碼:
點擊“復(fù)制App數(shù)據(jù)”,然后進入WCH工程的vos/user文件夾,將數(shù)據(jù)粘貼到app.h文件里:
那么vos引擎會運行這個程序,并讓D4針腳的LED亮滅不停(注意目前為止,WCH芯片沒有D4針腳,并且會用串口輸出打印代替)。試一下,點擊編譯,并下載程序到WCH開發(fā)板上,然后點開串口助手:
成功~~~ 可以看到一秒打印兩個消息,分別是 GPIO4 = 1 和 GPIO4 = 0。也就是我們的linkboy閃燈程序在WCH開發(fā)板上跑起來了~~ 事實上如果把那個print語句換成真實的GPIO函數(shù),開發(fā)板上接一個LED的話,LED確實也會閃爍運行的,那么下一章節(jié)我們就來講解如何讓W(xué)CH開發(fā)板驅(qū)動真正的LED亮滅吧!
-
移植
+關(guān)注
關(guān)注
1文章
383瀏覽量
28195 -
串口
+關(guān)注
關(guān)注
14文章
1558瀏覽量
77072 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98218 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1305瀏覽量
40391
發(fā)布評論請先 登錄
相關(guān)推薦
評論