【RTT大赛作品连载】linkboy面向AB32V移植(1)

今日头条

1100人已加入

描述

linkboy支持RT-Thread进行图形化编程仿真(AB32V)

 

首先按照linkboy-vos移植惯例,先创建一个正常的RTT工程作为环境,根据RTT手册创建AB32V开发板的工程,默认是一个闪灯程序:

RT-Thread

编译正常,并用downloader下载到开发板,可以看到主板的RGB红色灯亮灭并有串口输出:

RT-Thread

接下来安装vos到这个工程,建议安装到main.c文件所在的文件夹,步骤为打开linkboy,点击“外挂神器”:

RT-Thread

芯片型号里边选择NULL,并点击左侧新建vos虚拟机,弹出的目录选择到RTT工程的main.c文件夹下:

RT-Thread

然后按照如图所示的配置设置完成,最后点击“保存并生效配置”:

RT-Thread

那么现在vos虚拟机已经安装到RTT工程了,我们在main.c文件中,将这个虚拟机导入进来,并进行初始化和运行,然后点击构建按钮,可以看到系统报错:

RT-Thread

提示找不到SoftDealy_1us 这个函数。这是目前vos体系原因导致的,我们只要补上这个函数即可(后续版本会更新,修复这个bug)。进入vos文件夹,找到vos_c.h,并添加一个空的函数:

RT-Thread

再点击编译,可以看到没有错误了。好,那接下来我们就编写一个图形化程序来测试一下AB32V开发板的图形化编程吧!在linkboy里边拖进来一个通用主板代替手上的开发板(这是由于目前还没有把AB32V开发板添加到linkboy里),然后拖进来一个LED,并编写简单的闪灯程序,仿真验证:

RT-Thread

仿真没问题后,我们要想办法把这个程序安装到RTT工程里边,在真正的开发板上跑起来。点击左侧“linkboy”按钮,弹出的下载程序方式里选择外挂模式-源码,点击复制:

RT-Thread

然后进入 applications/vos/user文件夹,粘贴到app.h文件里:

RT-Thread

然后再点击一下RTT构建按钮,可以正常输出dcf文件了。不过这时候不要烧录程序到开发板,因为烧录进去也没反应。为什么呢?因为图形界面上控制一个LED,在底层最终会调用设备层(vos_c.h)的这个函数 IO_OutWrite:

RT-Thread

也就是调用 IO_OutWrite 函数,但图上可以看到,由于我们一开始的模板选择了NULL,因此这个函数是空的,也就是调用它没有任何效果。因此,我们需要把这个函数真正实现。可以直接复制RTT工程main.c里的GPIO函数,并加上对应的头文件即可:

RT-Thread

由于加了一个IO_Init函数,需要在开头的 vos_User_Init 函数里调用一下它进行初始化。然后编译下载程序到开发板,可以看到主板的红灯一秒闪烁一次,和图形界面的仿真效果一样。这样我们就初步完成一个demo的演示啦。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分