🚗 Air101 / Air103#

通常你不需要这份文档,这是用于自行扩展固件的高级文档。

我们提供的固件包就包含编译好的固件(soc后缀)

如果你只是想将已有的库添加到固件中,可以使用我们提供的在线云编译生成自定义固件。

如果你是在找刷机/编译lua脚本之类的应用型文档,那么这份文档不是你需要查看的内容。

视频教程链接: B站每日喝粥

准备环境#

Windows平台用户#

装好7-zip,建议保持默认文件夹!!!

装好xmake,安装后重启电脑!!!

Linux平台用户#

装好7-zip与xmake!!!,各个平台装法不一样(apt/yum/pacman),自己搜吧

准备项目#

将LuatOS主仓库clone到适当位置,推荐用git, 如果下载zip一定一定要解压后改文件夹名称!!!

如果不熟悉git, 强烈建立入门一下

git clone https://gitee.com/openLuat/LuatOS.git

再将Air101项目clone到与LuatOS主仓库的同级目录

git clone https://gitee.com/openLuat/luatos-soc-air101.git

必须按以下目录结构进行摆放, 以 D:\gitee 为例

LuatOS 主库代码 D:\gitee\LuatOS
Air101 适配代码 D:\gitee\luatos-soc-air101

检查点, 路径正确的情况下, 以下文件路径必存在, 找不到就肯定是命名问题, 手动添加是徒劳的 

D:\gitee\LuatOS\lua\src\lgc.c
D:\gitee\luatos-soc-air101\app\include\luat_conf_bsp.h

任何附加字符都不可用, 例如 LuatOS-master 就是错误的命名

如果是Air103#

打开app/port/luat_conf_bsp.h,将#define AIR101改为#define AIR103,保存

定制固件里的库#

打开app/port/luat_conf_bsp.h,按需注释或取消注释。注意,如果固件放不下,会编译失败。

luat_conf_bsp.h是按Air101的空间来配置的, 改成Air103之后肯定放不下, 需要注释掉一部分,例如把u8g2/lcd/lvgl注释掉

否则会报

I-SRAM' overflowed by  XXXX

编译#

进入101仓库目录,执行xmake ,开始编译即可,生成的文件会在build/out/目录, 以.soc为后缀

编译时的报错解决#

空间不够, 表现如下,

比较方便的方法-xmake插件#

上述编译方式跑通了可以正常编译之后再看这里!!!

在vscode里安装xmake插件

vscode_xmake

vscode中打开luatos-soc-air101直接点击下方build即可编译

xmake_build