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

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

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

 

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zAyAOVwMAAHPOqqg8-M252.png,第2张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zCyAYFMdAAD7hyDWdTs440.png,第3张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),poYBAGG9zDiAYwCaAAJ43yiGnxA437.png,第4张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zEyAEVpUAAGKSyj2kNY666.png,第5张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),poYBAGG9zFyAJWUNAAEQ6rzWFL0436.png,第6张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zG2AGAEXAADaywqZZyw751.png,第7张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),poYBAGG9zHmAY1f9AAE1qwNPc8w093.png,第8张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zI2AP3sJAAFcwJ8w8SY421.png,第9张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),poYBAGG9zJyAQWxfAAHc-KVTi8s795.png,第10张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zKeANP-JAAFmC4M45tI081.png,第11张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),poYBAGG9zLSAKKfKAAEdDui_4Rs663.png,第12张

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

【RTT大赛作品连载】linkboy面向AB32V移植(1),pYYBAGG9zMqAJvogAACPoPTROGI269.png,第13张

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

审核编辑:符乾江

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2467250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存