Air105#
通常你不需要这份文档,这是用于自行扩展固件的高级文档。
我们提供的固件包就包含编译好的固件(soc后缀)
如果你只是想将已有的库添加到固件中,可以使用我们提供的在线云编译生成自定义固件。
如果你是在找刷机/编译lua脚本之类的应用型文档,那么这份文档不是你需要查看的内容。
视频教程链接: B站每日喝粥
准备环境#
Windows平台用户#
装好7-zip,建议保持默认文件夹!!!
装好xmake,安装后重启电脑!!!
Linux平台用户#
装好7-zip与xmake!!!,各个平台装法不一样(apt/yum/pacman),自己搜吧
准备项目#
推荐用git, 如果下载zip一定一定要解压后改文件夹名称!!!
将LuatOS主仓库clone到适当位置, 如果不熟悉git, 强烈建立入门一下
git clone https://gitee.com/openLuat/LuatOS.git
再将Air105项目clone到与LuatOS主仓库的同级目录
git clone https://gitee.com/openLuat/luatos-soc-air105.git
必须按以下目录结构进行摆放, 以 D:\gitee
为例
LuatOS 主库代码 D:\gitee\LuatOS
Air101 适配代码 D:\gitee\luatos-soc-air105
检查点, 路径正确的情况下, 以下文件路径必存在, 找不到就肯定是命名问题, 手动添加是徒劳的
D:\gitee\LuatOS\lua\src\lgc.c
D:\gitee\luatos-soc-air105\application\include\luat_conf_bsp.h
任何附加字符都不可用, 例如 LuatOS-master
就是错误的命名
定制固件里的库#
打开app/port/luat_conf_bsp.h
,按需注释或取消注释。注意,如果固件放不下,会编译失败。
编译#
进入105仓库目录,执行xmake
,开始编译即可,生成的文件会在build/out/
目录, 以.soc为后缀
> cd luatos-soc-air105
> xmake
[ 0%]: compiling.release Third_Party\cm_backtrace\cm_backtrace.c
[ 0%]: compiling.release bsp\common\src\bsp_common.c
[ 0%]: compiling.release bsp\common\src\core_service.c
[ 0%]: compiling.release bsp\common\src\pid.c
[ 0%]: compiling.release bsp\usb\src\core_usb_class_g_serial.c
[ 0%]: compiling.release bsp\usb\src\core_usb_class_hid.c
[ 0%]: compiling.release bsp\usb\src\core_usb_class_msc_scsi.c
[ 0%]: compiling.release bsp\usb\src\core_usb_stack.c
[ 0%]: compiling.release bsp\air105\platform\bl_main.c
...
[ 95%]: compiling.release ..\LuatOS\luat\packages\zlib\luat_lib_zlib.c
[ 95%]: compiling.release ..\LuatOS\luat\packages\zlib\trees.c
[ 96%]: compiling.release ..\LuatOS\luat\packages\zlib\uncompr.c
[ 96%]: compiling.release ..\LuatOS\luat\packages\zlib\zutil.c
[ 96%]: compiling.release ..\LuatOS\components\camera\luat_lib_camera.c
[ 96%]: compiling.release bsp\air105\platform\startup_full.s
[ 99%]: linking.release bootloader.elf
[ 99%]: archiving.release liblvgl.a
text data bss dec hex filename
14992 472 173772 189236 2e334 build/out/bootloader.elf
[ 99%]: linking.release app.elf
text data bss dec hex filename
872724 8 315460 1188192 122160 build/out/app.elf
[100%]: build ok
然后使用LuaTools或者LuatIDE刷机即可
编译过程展示(Linux下)
比较方便的方法-xmake插件#
上述编译方式跑通了可以正常编译之后再看这里!!!
vscode里安装xmake插件
vscode中打开luatos-soc-air105直接点击下方build即可编译