本次要移植的WCH開發(fā)板外形如下:
首先安裝MounRiver軟件,然后新建一個(gè)工程,芯片型號選擇WCH32V103R8T6,注意操作系統(tǒng)選項(xiàng)要選擇RT_Thread,工程如下:
可以看到這是一個(gè)串口輸出的模板程序。然后點(diǎn)擊編譯,點(diǎn)擊下載按鈕,成功下載到開發(fā)板,再打開linkboy串口助手,按下主板的復(fù)位鍵,可以看到有串口信息打印出來:
到此硬件驗(yàn)證完成。我們可以創(chuàng)建正式的RT-Thread工程了,注意新建工程時(shí)候,操作系統(tǒng)列表里要選擇“RT-Thread”,如下圖:
接下來開始進(jìn)行vos的安裝,運(yùn)行l(wèi)inkboy軟件,點(diǎn)擊“外掛神器”按鈕:
在芯片型號中選擇 NULL,這是由于目前還沒有WCH的模板,因此用NULL代替:
然后點(diǎn)擊新建虛擬機(jī),并選擇安裝目錄為WCH工程的main.c文件的同目錄下:
并按照如下設(shè)置后,點(diǎn)擊“保存并生效配置”按鈕:
現(xiàn)在vos引擎已經(jīng)安裝到WCH工程中,接下來需要在main函數(shù)中初始化這個(gè)虛擬機(jī),并讓它運(yùn)行,修改main文件如下:
分別是34行導(dǎo)入虛擬機(jī),45行初始化虛擬機(jī),48行定時(shí)調(diào)用虛擬機(jī)。然后點(diǎn)擊編譯按鈕:
發(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ìn)):
如上圖,簡單手工補(bǔ)上這個(gè)空函數(shù),36行。然后再編譯,可以看到編譯正常。也就是說這時(shí)候把編譯好的hex文件下載到開發(fā)板上,vos引擎應(yīng)該能運(yùn)行起來了。不過看不到任何效果,因?yàn)槲覀兩形匆浦睪PIO函數(shù)。接下來就移植GPIO,可以先用串口打印來代替,如圖:
這里本來應(yīng)該是設(shè)置第i個(gè)針腳的電平為數(shù)據(jù)d,不過我們先用串口打印出來再說吧。先編譯一下,正常。然后打開linkboy軟件,寫一個(gè)控制LED燈亮滅的小程序試試:
由于目前尚未把WCH開發(fā)板封裝到linkboy里,因此先用一個(gè)通用的開發(fā)板代替,外部接一個(gè)LED到D4端口。仿真可以看到LED亮滅閃爍不停。然后點(diǎn)擊左上角的linkboy按鈕,選擇外掛模式-源碼:
點(diǎn)擊“復(fù)制App數(shù)據(jù)”,然后進(jìn)入WCH工程的vos/user文件夾,將數(shù)據(jù)粘貼到app.h文件里:
那么vos引擎會(huì)運(yùn)行這個(gè)程序,并讓D4針腳的LED亮滅不停(注意目前為止,WCH芯片沒有D4針腳,并且會(huì)用串口輸出打印代替)。試一下,點(diǎn)擊編譯,并下載程序到WCH開發(fā)板上,然后點(diǎn)開串口助手:
成功~~~ 可以看到一秒打印兩個(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文章
379瀏覽量
28124 -
串口
+關(guān)注
關(guān)注
14文章
1551瀏覽量
76421 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1285瀏覽量
40081
發(fā)布評論請先 登錄
相關(guān)推薦
評論