HelloWorld 示例
作者:沈园园 | 最后修改:2026-08-14
一、概述
本章节教你怎么用简单的几个步骤,就可以完成一个 helloworld 项目,让合宙的 Air724UG 模组,轻松打印 hello world!
本文实现了每3秒打印1次hello world的演示效果,带你快速入门LuatOS二次开发。
二、背景介绍
这里,先要告诉你一些前提条件,希望你能够认真看一看这一节。
这个项目的产品定义是:Air724UG 模组每隔 3 秒,就往串口输出一次 "hello world" 字符串。
合宙的 Air724UG 模组,植入了 5.3 版本的 Lua 虚拟机,以及内置的一个脚本代码区。
模组上电之后,虚拟机会去代码区读取脚本代码的 main 入口,并执行这个 main 入口函数。
你只需要用合宙的 Luatools 工具烧录脚本,就一定能保证脚本烧录到正确的位置。
在完成这个初始项目之前,你还需要准备好一套合适的硬件。
合适的硬件是什么呢?
是合宙的能运行 LuatOS 脚本的 Air724UG 核心板。
Air724UG 对应的代码仓库地址:
https://gitee.com/openLuat/LuatOS/tree/master/module/Air724/demo
今天,我们用 LuatOS-Air724 这个仓库中的 hello world 的demo 作为例子来进行学习。
三、下载示例代码
3.1 最简单快速的方式:
下载示例代码到一个合适的项目目录。
首先进入 LuatOS-Air724 仓库,点击克隆/下载。


对于很多程序员来说,可能 git 更方便,git 的操作流程可以网上找篇教程文档!
也可以参考Air780epm如何克隆Demo代码仓库文章中:使用git工具下载
四、演示功能概述
每3秒打印1次hello world。
五、准备硬件环境

1、Air724UG核心板一块(或EVB_Air724UG_A14开发板)
2、TYPE-C USB数据线一根(使用核心板时);开发板(EVB_Air724UG_A14)为Micro-USB接口,需使用Micro-USB数据线
3、Air724UG核心板/开发板和数据线的硬件接线方式为
-
Air724UG核心板通过TYPE-C USB口(开发板通过Micro-USB口)连接USB数据线,数据线的另外一端连接电脑的USB口;
-
Air724UG核心板/开发板通过USB口供电,同时用于烧录固件和查看日志;
Air724UG核心板购买链接:合宙官方淘宝店铺
六、准备软件环境
6.1 软件环境
在开始实践本示例之前,先筹备一下软件环境:
1、烧录工具:Luatools 下载调试工具
2、内核固件:本demo开发测试时使用的固件为Air724UG LuatOS固件,本demo对固件版本没有什么特殊要求,所以你如果要测试本demo时,可以直接使用最新版本的内核固件;如果发现最新版本的内核固件测试有问题,可以使用我们开发本demo时使用的内核固件版本来对比测试;
3、脚本文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air724/demo/helloworld
4、扩展库脚本文件:使用Luatools烧录时,勾选 添加默认扩展库 选项,使用默认扩展库脚本文件
准备好软件环境之后,接下来查看如何烧录项目文件到Air724UG核心板,将本篇文章中演示使用的项目文件烧录到Air724UG核心板中。
6.2 API 介绍
LuatOS API 手册:https://docs.openluat.com/osapi/
七、程序结构
helloworld/
│── main.lua
│── helloworld_app.lua
│── readme.md
7.1 文件说明
-
main.lua:主程序入口文件。 -
helloworld_app.lua:每3秒打印1次hello world。
八、代码详解
8.1 main.lua
主程序文件 main.lua 是整个项目的入口点。它负责初始化系统环境。
8.2 helloworld_app.lua
每3秒打印1次hello world
8.2.1 每3秒打印1次hello world
local function helloworld_task_func()
while true do
-- 每隔三秒钟通过日志输出一次hello world
log.info("hello world")
sys.wait(3000)
end
end
--创建一个task,并且运行task的主函数helloworld_task_func
sys.taskInit(helloworld_task_func)
九、烧录代码到开发板
烧录代码,需要进行如下几步:
9.1 下载和安装合宙调试工具 LuatTools
要想烧录代码,先要下载合宙的强大的调试工具:Luatools。
如果你已经安装使用过 Luatools,可以直接跳到下个小节:烧录代码。
Luatools 工具主要有如下几个功能:
(1)自动从合宙服务器获取最新的合宙模组固件;
(2)烧录固件和脚本;
(3)查看和保存模组的串口输出日志;
(4)简单的串口调试;
Luatools 下载之后,无需安装,解压到你的硬盘,点击 Luatools_v3.exe 运行,出现如下界面,就代表 Luatools 安装成功了:

Luatools 的最新版本的工具下载和详细使用见:01 LuaTools工具教程 - 合宙模组资料中心
9.2 烧录代码
首先要说明一点:第一次烧录,需要脚本代码和固件一起烧录。后续不更换固件的话只需要烧录脚本代码即可。
9.2.1 找到烧录的固件文件
Air724UG 的固件可以去DOCS网站下载。底层core下载地址:Air724UG LuatOS固件版本

9.2.2 通过USB口烧录方式,烧录项目文件到 Air724UG 核心板
在 Air724UG 核心板上 USB 接口,为芯片烧录下载接口。核心板为TYPE-C接口,开发板(EVB_Air724UG_A14)为Micro-USB接口。
9.2.3 通过 USB 将 Air724UG 核心板连接到电脑上
使用对应的USB数据线,将核心板(TYPE-C)或开发板(Micro-USB)连接到电脑USB口。
9.2.4 Air724UG核心板进入BOOT下载模式
Air724UG 的 LuatOS 固件为 LuatOS-SoC 固件,第一次烧录 LuatOS-SoC 固件到 Air724UG 模组时,进入 BOOT 下载模式的要求如下:
-
若模组当前固件是 AT 固件,可以直接烧录,无需进入 BOOT 下载模式;
-
若原本是 LuatOS-Air 固件,需要通过 boot 按钮进入刷机模式,才能执行烧录。
具体到 Air724UG 开发板/核心板,根据板卡的当前运行状态,执行以下情况的一种即可进入 BOOT 下载模式:
-
使用 Air724UG 开发板(EVB_Air724UG_A14)时,按住 BOOT 键然后短按重启键(或长按 POW 开机);
-
使用 Air724UG 核心板时,将 BOOT 引脚拉高到 1.8V(或与 VDD_EXT 引脚相连),然后再给核心板上电开机或者重启核心板。
通过以下方式来判断是否成功进入 BOOT 下载模式:
在电脑的设备管理器中,查看串口设备,如果出现了一个端口,则表示成功进入BOOT下载模式,如下图所示:

在电脑的设备管理器中,查看串口设备,如果出现了三个或者四个端口,则表示没有进入BOOT下载模式,如下图所示:

如果没有进入BOOT下载模式,则一直重复本小节的操作步骤,直到成功进入BOOT下载模式。
一旦进入BOOT下载模式,表示硬件连接上已经处于就绪状态,此时就可以使用Luatools工具进行烧录了!
9.2.5 新建项目
1、Air724UG 核心板通过 USB 连接到电脑。
2、打开 Luatools,选择 4G 模块 USB 打印,点击项目管理测试。

点击项目管理测试后,会弹出"项目管理"对话框后,点击"创建"按键创建新项目,如下图所示:

点击创建后,这时会弹出输入项目名称对话框,输入项目名称后点击确认,如下图:

9.2.6 开始烧录
选择Air724UG核心板对应的底层core和对应脚本文件,下载到开发板中。


3 烧录问题排查
如果你在烧录过程中遇到了问题,请点击https://docs.openluat.com/common/howtodown/,进行烧录的问题排查。
十、运行结果展示
烧录成功后,自动开机运行。出现类似于下面的日志,就表示运行成功:
[2026-08-13 10:00:00.123][000000003.471] I/user.hello world
[2026-08-13 10:00:03.122][000000006.471] I/user.hello world
[2026-08-13 10:00:06.121][000000009.472] I/user.hello world
[2026-08-13 10:00:09.120][000000012.472] I/user.hello world
[2026-08-13 10:00:12.119][000000015.472] I/user.hello world
[2026-08-13 10:00:15.118][000000018.473] I/user.hello world
十一、总结
通过本文学习我们学会了:
1、如何下载LuatOS的core和demo;
2、如何使用烧录工具Luatools;
3、如何编辑lua脚本实现每3秒打印1次hello world;