本次要移植的WCH開發(fā)板外形如下:
![pYYBAGG9lm6AS_bmAA-d0dkKJDA458.png](http://file.elecfans.com/web2/M00/26/BB/pYYBAGG9lm6AS_bmAA-d0dkKJDA458.png)
首先安裝MounRiver軟件,然后新建一個工程,芯片型號選擇WCH32V103R8T6,注意操作系統(tǒng)選項要選擇RT_Thread,工程如下:
![poYBAGG9lpCAbmtiAAFtIpkr8hg733.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9lpCAbmtiAAFtIpkr8hg733.png)
可以看到這是一個串口輸出的模板程序。然后點擊編譯,點擊下載按鈕,成功下載到開發(fā)板,再打開linkboy串口助手,按下主板的復(fù)位鍵,可以看到有串口信息打印出來:
![poYBAGG9lquAKImDAADtz8JsuFQ141.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9lquAKImDAADtz8JsuFQ141.png)
到此硬件驗證完成。我們可以創(chuàng)建正式的RT-Thread工程了,注意新建工程時候,操作系統(tǒng)列表里要選擇“RT-Thread”,如下圖:
![poYBAGG9mgGAYpyTAAIfHj5Cpbk536.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9mgGAYpyTAAIfHj5Cpbk536.png)
接下來開始進行vos的安裝,運行l(wèi)inkboy軟件,點擊“外掛神器”按鈕:
![poYBAGG9lsqAEgzoAALnB59CbVQ738.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9lsqAEgzoAALnB59CbVQ738.png)
在芯片型號中選擇 NULL,這是由于目前還沒有WCH的模板,因此用NULL代替:
![pYYBAGG9lt6AcsYvAAEjGqIoKIM017.png](http://file.elecfans.com/web2/M00/26/BB/pYYBAGG9lt6AcsYvAAEjGqIoKIM017.png)
然后點擊新建虛擬機,并選擇安裝目錄為WCH工程的main.c文件的同目錄下:
![poYBAGG9lxaAc1-iAADu5uaQ_I0475.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9lxaAc1-iAADu5uaQ_I0475.png)
并按照如下設(shè)置后,點擊“保存并生效配置”按鈕:
![pYYBAGG9lu6AVI6VAADsllJKbvk110.png](http://file.elecfans.com/web2/M00/26/BC/pYYBAGG9lu6AVI6VAADsllJKbvk110.png)
現(xiàn)在vos引擎已經(jīng)安裝到WCH工程中,接下來需要在main函數(shù)中初始化這個虛擬機,并讓它運行,修改main文件如下:
![pYYBAGG9mmeAGd9fAAB9IbOqpEw641.png](http://file.elecfans.com/web2/M00/26/BC/pYYBAGG9mmeAGd9fAAB9IbOqpEw641.png)
分別是34行導(dǎo)入虛擬機,45行初始化虛擬機,48行定時調(diào)用虛擬機。然后點擊編譯按鈕:
![poYBAGG9lyaAEKVUAAB44ZNxEaM065.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9lyaAEKVUAAB44ZNxEaM065.png)
發(fā)現(xiàn)報錯,提示沒有SoftDelay_1us這個函數(shù)。打開 vos_c.h 文件,手工添加這個函數(shù),可以沒有指令,就一個空函數(shù)即可(按理說不應(yīng)該編譯報錯,vos應(yīng)自動包含這個函數(shù)最好,后續(xù)會升級改進):
![pYYBAGG9l7iAPCd0AACJBdwNvOk448.png](http://file.elecfans.com/web2/M00/26/BC/pYYBAGG9l7iAPCd0AACJBdwNvOk448.png)
![poYBAGG9l7iAO_hiAABIGcZjOBA739.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9l7iAO_hiAABIGcZjOBA739.png)
如上圖,簡單手工補上這個空函數(shù),36行。然后再編譯,可以看到編譯正常。也就是說這時候把編譯好的hex文件下載到開發(fā)板上,vos引擎應(yīng)該能運行起來了。不過看不到任何效果,因為我們尚未移植GPIO函數(shù)。接下來就移植GPIO,可以先用串口打印來代替,如圖:
![poYBAGG9l-CAHsOiAAA4nq-oUU8406.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9l-CAHsOiAAA4nq-oUU8406.png)
這里本來應(yīng)該是設(shè)置第i個針腳的電平為數(shù)據(jù)d,不過我們先用串口打印出來再說吧。先編譯一下,正常。然后打開linkboy軟件,寫一個控制LED燈亮滅的小程序試試:
![pYYBAGG9l_WAdIKIAAHNA1ULnac985.png](http://file.elecfans.com/web2/M00/26/BC/pYYBAGG9l_WAdIKIAAHNA1ULnac985.png)
由于目前尚未把WCH開發(fā)板封裝到linkboy里,因此先用一個通用的開發(fā)板代替,外部接一個LED到D4端口。仿真可以看到LED亮滅閃爍不停。然后點擊左上角的linkboy按鈕,選擇外掛模式-源碼:
![poYBAGG9mAWAbVT3AAKb0gABDzE427.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9mAWAbVT3AAKb0gABDzE427.png)
點擊“復(fù)制App數(shù)據(jù)”,然后進入WCH工程的vos/user文件夾,將數(shù)據(jù)粘貼到app.h文件里:
![pYYBAGG9mBGAeHmQAAFZvbClt-E642.png](http://file.elecfans.com/web2/M00/26/BC/pYYBAGG9mBGAeHmQAAFZvbClt-E642.png)
那么vos引擎會運行這個程序,并讓D4針腳的LED亮滅不停(注意目前為止,WCH芯片沒有D4針腳,并且會用串口輸出打印代替)。試一下,點擊編譯,并下載程序到WCH開發(fā)板上,然后點開串口助手:
![poYBAGG9mB2AEL2rAAC7SDwbXjQ050.png](http://file.elecfans.com/web2/M00/26/B6/poYBAGG9mB2AEL2rAAC7SDwbXjQ050.png)
成功~~~ 可以看到一秒打印兩個消息,分別是 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)推薦
【RTT大賽作品連載】CH32V103開發(fā)板資料及上電首測
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】CH32V103開發(fā)板資料及上電首測](https://file.elecfans.com//web2/M00/1D/1C/pYYBAGGRJM-AZ2EhABT6b9TfTC4677.jpg)
【RTT大賽作品連載】中科藍訊AB32VG1開發(fā)板開箱篇
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】中科藍訊AB32VG<b class='flag-5'>1</b>開發(fā)板開箱篇](https://file.elecfans.com//web2/M00/1C/FD/pYYBAGGOg5-AaQa2AA-J9MBxhQg611.png)
【RTT大賽作品連載】linkboy面向WCH移植(5)
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>linkboy</b><b class='flag-5'>面向</b><b class='flag-5'>WCH</b><b class='flag-5'>移植</b>(5)](https://file.elecfans.com/web2/M00/26/C3/pYYBAGG9uI2AUmsfAAmX0oaBLak606.png)
【RTT大賽作品連載】linkboy面向AB32V移植(2)
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>linkboy</b><b class='flag-5'>面向</b>AB32V<b class='flag-5'>移植</b>(2)](https://file.elecfans.com/web2/M00/26/C5/pYYBAGG9zX2AADBlAACAVZKX4MA659.png)
【文章連載】RT-Thread創(chuàng)新應(yīng)用大賽文章匯總
【有獎活動】RT-Thread創(chuàng)新應(yīng)用大賽作品連載征文
【RTT大賽作品連載】linkboy面向AB32V移植(3)
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>linkboy</b><b class='flag-5'>面向</b>AB32V<b class='flag-5'>移植</b>(3)](https://file.elecfans.com/web2/M00/26/C5/pYYBAGG9zl6AIJAjAAFAZpnHxTU839.png)
【RTT大賽作品連載】linkboy面向AB32V移植(4)
![【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>linkboy</b><b class='flag-5'>面向</b>AB32V<b class='flag-5'>移植</b>(4)](https://file.elecfans.com/web2/M00/26/C5/pYYBAGG9zz-Af2AhAALa93UW72I807.png)
評論