本帖最后由 jf_46986478 于 2021-12-14 10:08 编辑
前言:拿到合宙Air820
开发板内心还是很开心和纠结的,开始的是这是一种新的开发方式,纠结的是现在的主要开发方式是基于
单片机的,这是一种新的尝试。一时半会思路还是转不过来,先从单片机的开发思路入手。
1、下载Core文件拿到板子最先想做的是,板卡上电,下载程序。根据资料中的内容,知道板子的运行依靠2部分:底层Core和上层的脚本。暂且就认为这是驱动和APP吧。先安装USB驱动,然后识别我们的板卡,最后下载。
图1:安装驱动1
图2:安装驱动2
终于能够下载成功,并且见到串口打印信号:
图3:下载固件
2、下载脚本
上面下载的Core文件,类似单片机的驱动,接下来还有APP的代码。这里的APP代码就lua语言的脚本。文件:Luat_V3035_RDA8910_RBTTSQRLLSDFT.pac + screen-cover。下载方式:使用递归方式加载文件夹screen-cover内的所有文件,然后使用“下载底层和脚本”。这里强调一下,使用递归方式加载脚本文件的方式非常人性化。
图4:下载脚本
3、程序运行逻辑
基于特有的习惯,一拿到DEMO就在文件夹中搜索main()函数,然后自然是失败了。再接着搜索了xxx_init,想着是不是类似Linux的驱动加载,然后也是失败。到此只有仔细看DEMO,然后试着下载运行。
在main.lua文件有sys.init()、sys.run(),MCU的rtos系统启动,里面的requare “模块”就是include。实际的程序运行在各个模块中,比如使用定时器、比如新建任务。这里使用主要的就是后者(新建任务)。
我在GPIO的DEMO中,尝试使用task.init()新建任务,然后在内部加上延时和printf打印,验证猜测。
图5:程序运行逻辑
简单总结一下运行逻辑:task.init( )类似RTOS的新建任务,然后内部可以构建一个类似while(1)或者for(;;;)的循环。