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