本次要移植的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亮灭吧!
全部0条评论
快来发表一下你的评论吧 !