Air101 / Air103

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

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

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

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

准备环境

Windows平台用户

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

装好xmake,建议保持默认文件夹

自行下载平头哥编译器

由于官网要登陆,如果不想登录,可以直接点击该链接下载

解压,文件夹重命名为csky-elfabiv2-tools-mingw-minilibc,放到E盘

Linux平台用户

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

自行下载平头哥编译器

由于官网要登陆,如果不想登录,可以直接点击该链接下载

解压,文件夹重命名为csky-elfabiv2-tools,放到/opt

准备项目

将LuatOS主仓库clone到适当位置

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

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

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

如果是Air103

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

定制固件里的库

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

编译

进入101仓库目录,编译即可,生成的文件会在build/out/目录

> 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!