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