跳转至

如何使用LuaTools烧录软件

一、本篇文章的目的

针对Air8000 LuatOS二次开发方式,合宙技术人员在docs文档中心编写了几十篇快速入门和软件指南文档。

每篇文档都会基于一个具体的demo项目,使用Luatools将项目使用的内核固件、脚本和资源文件,烧录到Air8000核心板中;

本篇文章重点介绍如何使用Luatools工具烧录项目文件到Air8000核心板中。

二、准备软硬件环境

2.1 软件环境

2.1.1 准备好项目文件

在烧录项目文件到Air8000核心板之前,你需要准备好以下几种项目文件:

1. 内核固件;

2. 用户脚本文件和用户资源文件;

3. lib脚本文件;

其中:

内核固件和用户脚本文件是必须存在的;

用户资源文件不是必须存在的;

lib脚本文件是必须存在的,但是不一定要用户提供,可以使用Luatools自动选择的默认lib脚本文件。

这几种项目文件的详细解释,参考:软件环境清单中的2.2和2.3章节

2.1.2 准备好Luatools工具

Luatools 作为由合宙所提供的调试工具,Luatools 支持最新固件获取、固件打包、trace 打印、单机烧录等功能

此工具适用于合宙所有 4G 模组, 4G + GNSS 模组和工业引擎系列。

本篇烧录教程需要使用最新版本的 luatools 工具(版本号大于等于3.0.22),点击此处下载

2.2硬件环境

2.2.1 Air8000 核心板

首先核心板的背面拨到 ON,正面的拨到供电端。开发板使用说明查看

2.2.2 USB 转 TTL 串口板,烧录 WIFI 固件使用

三、Air8000核心板进入BOOT下载模式

把Air8000模组的BOOT引脚拉到1.8v,或者直接把BOOT引脚和VDD_EXT引脚相连,然后再给模组上电开机或者重启模组,就可以进入BOOT下载模式了。

具体到Air8000核心板,根据核心板的当前运行状态,执行以下两种情况种的一种即可:

1.当Air8000核心板没有开机时,按着BOOT键然后长按POW开机。

2.当Air8000核心板没有开机时,按下BOOT键然后短按重启键。

通过以下方式来判断是否成功进入BOOT下载模式:

在电脑的设备管理器中,查看串口设备,如果出现了一个端口,则表示成功进入BOOT下载模式,如下图所示:

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

如果没有进入BOOT下载模式,则一直重复本小节的操作步骤,直到成功进入BOOT下载模式。

一旦进入BOOT下载模式,表示硬件连接上已经处于就绪状态,此时就可以使用Luatools工具进行烧录了!

四、烧录项目文件到Air8000核心板中

4.1 Air8000 烧录介绍

Air8000 需要分别烧录 WIFI 固件以及 4G 固件,烧录过程参考4.2章节和4.3章节。

注意:烧录 WIFI 固件及脚本时,需要先烧录4G固件和4G 脚本文件,通过 4G 脚本控制 GPIO23, 下电 1ms,控制 demo 在 4.3 章节。

4.2 烧录 4G 固件及脚本

使用 Luatools 工具,通过 USB 端口烧录 4G 固件和 4G 脚本。

4.2.1 4G 固件

链接地址如下:

https://gitee.com/openLuat/LuatOS-Air8000/tree/master/core

4.2.2 4G脚本文件

链接地址如下:

https://gitee.com/openLuat/LuatOS-Air8000/tree/master/Core_board_demo

4.2.3 烧录教程

1、Air8000 核心板通过 USB 连接到电脑。

2、打开 Luatools,选择 4G 模块 USB 打印,点击项目管理测试。

3、选择 4G 固件和 4G 脚本进行烧录

4.3 烧录 WIFI 固件及脚本

使用 Luatools 工具,通过串口烧录 WIFI 固件和脚本。

注意:烧录 WIFI 固件及脚本时,需要先烧录4G固件和4G 脚本文件,通过 4G 脚本控制 GPIO23, 下电 1ms,控制 demo 参考如下:

4G控制脚本下载地址:点我,下载完整压缩文件包

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "4G_burn"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- 引入必要的库文件(lua编写), 内部库不需要require
sys = require("sys")

-- mobile.flymode(0,true)
if wdt then
    --添加硬狗防止程序卡死,在支持的设备上启用这个功能
    wdt.init(9000)--初始化watchdog设置为9s
    sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
end
log.info("main", "cc0258_gnss")
gpio.setup(0, function()
    sys.publish("GO")
end)
pm.ioVol(pm.IOVOL_ALL_GPIO, 3300) -- 所有GPIO高电平输出3.3V
sys.taskInit(function()
     sys.wait(100)
     while 1 do
          sys.waitUntil("GO")
          -- 控制一下GPIO23, 下电1ms
          gpio.setup(23, 0,gpio.PULLUP)
          sys.wait(2)
          gpio.setup(23, 1,gpio.PULLUP)
          log.info("main", "打开WIFI 电源12")
     end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

4.3.1 WIFI 固件

wifi固件下载地址,点我,下载完整压缩文件包

4.3.2 wifi脚本文件

wifi脚本文件下载地址,点我,下载完整压缩文件包

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "netdrv"
VERSION = "1.0.4"

-- sys库是标配
_G.sys = require("sys")
--[[特别注意, 使用http库需要下列语句]]
_G.sysplus = require("sysplus")

sys.taskInit(function()
    -- sys.wait(500)
    airlink.start(0)
    wlan.init()
    -- wlan.connect("uiot", "12345678")
    -- sys.wait(500)
    -- wlan.createAP("uiot5678", "12345678")
    -- log.info("设置静态IPV4")
    -- netdrv.ipv4(socket.LWIP_ETH, "192.168.1.129", "255.255.255.0", "192.168.1.1")
    -- log.info("ip", socket.localIP(socket.LWIP_ETH))
end)

sys.taskInit(function()
    -- sys.waitUntil("IP_READY")
    sys.wait(6000)
    while 1 do
        sys.wait(6000)
        -- log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_ETH,timeout=3000}).wait())
        log.info("lua", rtos.meminfo())
        log.info("sys", rtos.meminfo("sys"))
        log.info("ticks", mcu.ticks(), hmeta.chip(), hmeta.model(), hmeta.hwver())
        -- log.info("ip", socket.localIP(socket.LWIP_ETH))
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

4.3.3 烧录教程

1、Air8000 核心板的 UART10 通过串口板连接到电脑,核心板可以通过 USB 供电或者电池供电。

2、正确插入 USB 转 TTL 串口板并且 USB 成功连接电脑后,电脑的设备管理器可以看到 USB-SERIAL CH340 的端口。

3、打开 luatools 工具,选择通用串口打印,选择上一小节显示的串口号,波特率选择 2000000。

4、选择 WIFI 固件和 WIFI 脚本进行烧录。

5、出现下载准备中字样时,需要按下 Air8000 核心板的 RESET 复位按键。