LuatOS
直播中

jf_46986478

5年用户 10经验值
擅长:可编程逻辑 嵌入式技术
私信 关注

【合宙Air820开发板试用体验】+helloworld

本帖最后由 jf_46986478 于 2021-12-14 10:08 编辑

前言:拿到合宙Air820开发板内心还是很开心和纠结的,开始的是这是一种新的开发方式,纠结的是现在的主要开发方式是基于单片机的,这是一种新的尝试。一时半会思路还是转不过来,先从单片机的开发思路入手。
1、下载Core文件
拿到板子最先想做的是,板卡上电,下载程序。根据资料中的内容,知道板子的运行依靠2部分:底层Core和上层的脚本。暂且就认为这是驱动和APP吧。先安装USB驱动,然后识别我们的板卡,最后下载。

安装USB驱动.PNG

图1:安装驱动1
识别USB.PNG
图2:安装驱动2

终于能够下载成功,并且见到串口打印信号:
Core版本:Luat_V3035_RDA8910  --根据地址https://gitee.com/openLuat/X-Mag ... o%E6%93%8D%E4%BD%9C匹配。
下载固件.PNG
图3:下载固件


2、下载脚本

上面下载的Core文件,类似单片机的驱动,接下来还有APP的代码。这里的APP代码就lua语言的脚本。文件:Luat_V3035_RDA8910_RBTTSQRLLSDFT.pac + screen-cover下载方式:使用递归方式加载文件夹screen-cover内的所有文件,然后使用“下载底层和脚本”。这里强调一下,使用递归方式加载脚本文件的方式非常人性化。
下载脚本.png
图4:下载脚本

3、程序运行逻辑
基于特有的习惯,一拿到DEMO就在文件夹中搜索main()函数,然后自然是失败了。再接着搜索了xxx_init,想着是不是类似Linux的驱动加载,然后也是失败。到此只有仔细看DEMO,然后试着下载运行。
在main.lua文件有sys.init()、sys.run(),MCU的rtos系统启动,里面的requare “模块”就是include。实际的程序运行在各个模块中,比如使用定时器、比如新建任务。这里使用主要的就是后者(新建任务)。
我在GPIO的DEMO中,尝试使用task.init()新建任务,然后在内部加上延时和printf打印,验证猜测。
task_init.png
图5:程序运行逻辑
简单总结一下运行逻辑:task.init( )类似RTOS的新建任务,然后内部可以构建一个类似while(1)或者for(;;;)的循环。

更多回帖

发帖
×
20
完善资料,
赚取积分