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,按需注释或取消注释。注意,如果固件放不下,会编译失败。

编译#

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

> cd luatos-soc-air101
> xmake
checking for platform ... windows
checking for architecture ... x64
checking for Microsoft Visual Studio (x64) version ... 2019
[  0%]: compiling.release app/main.c
[  0%]: compiling.release app/port/luat_fs_air101.c
[  0%]: compiling.release app/port/lfs_port.c
巴拉巴拉一堆东西。。。
[ 95%]: compiling.release ../LuatOS/components/statem/luat_statem.c
[ 99%]: linking.release AIR101.elf
   text    data     bss     dec     hex filename
 377644       0   90292  467936   723e0 build/out/AIR101.elf
generate normal image completed.
generate normal image completed.

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive:
3 files, 538387 bytes (526 KiB)

Creating archive: LuatOS-SoC_V0003_AIR101.7z

Add new data to archive: 3 files, 538387 bytes (526 KiB)


Files read from disk: 3
Archive size: 286764 bytes (281 KiB)
Everything is Ok
[100%]: build ok!

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

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

在vscode里安装xmake插件

vscode_xmake

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

xmake_build