LuaTools

使用LuaTools对模块进行lod和script的下载。该工具功能如下:

  • 加密lod功能;
  • 下载官方lod底层;
  • 下载Lua脚本进行二次开发;
  • 用App验证开发板是否为良品;
  • 对模块打印trace进行输出分析;
  • 生成量产文件进行远程升级/批量生产。

下载LuaTools工具

下载工具一般要经过以下步骤:

  • 打开合宙官网:http://www.openluat.com/
  • 选择上面的“产品中心”,随便选一个产品,如:Air202 GPRS 通信模块
  • 点击模块介绍那边的“资料下载”选项卡
  • 点击“[LuaTools] Luat下载调试工具x.x.x”下载

当然,如果嫌麻烦,直接点我也可以下载

下载后可能会进行自动升级,这个工具基本上是持续使用,都不会出现版本过旧的问题

luatools截图

↑软件界面


2G模块烧写教程(Air2xx、Air8xx)

(4G模块烧录方法请看往下翻,看下一部分)

这时候,我们只需要用usb转串口线,与给模块/开发板的HOST串口相连,GND相连,并给模块上点即可

注意:模块的HOST口使用的是921600波特率,如果你使用的是劣质串口芯片(如质量差的pl2303以及山寨的ch340之类的),会出现无法通讯的现象。并且需要保证模块供电充足,不然会出现无限重启的状况。

刷入AT版本的lod

lod文件相当于一个模块的底层部分,lod文件可以分为AT版与luat版

AT版只能使用AT命令对模块进行控制,AT串口为uart1口

刷入AT版本的固件十分简单,在上面连接模块完成之后,确保串口选项卡的串口为你设备的串口值,点击菜单中的AT–切换为标准的AT版本,如下图:

点击下载为模块烧入AT固件:

这样,AT版本固件的lod就烧录完成了。

刷入luat版本的lod

lod文件相当于一个模块的底层部分,lod文件可以分为AT版与luat版

luat版为运行lua脚本所使用的底层,可对模块内部进行片内编程,完成一部分或全部的本应由外接单片机完成的工作

luat的固件因为需求不同,所以为了节省空间,提供了多种库的组合

luat的固件可以在下载工具目录的/LuaTools x.x.x/8955Lod/找到,每个版本的区别可以参考readme.txt文件中的描述,部分内容也贴在下面:

Luat_VXXXX_8955.lod:不支持SSL、TTS、SPI接口的LCD功能
Luat_VXXXX_8955_SSL.lod:支持SSL功能
Luat_VXXXX_8955_SSL_TTS.lod:支持SSL、TTS功能,不支持MP3、MIDI、录音功能
Luat_VXXXX_8955_SSL_UI.lod:支持SSL、SPI接口的LCD功能
Luat_VXXXX_8955_TTS_UI.lod:支持TTS、SPI接口的LCD功能
Luat_VXXXX_8955_TTS1.lod:支持TTS功能
Luat_VXXXX_8955_TTS2.lod:支持TTS功能、不支持MP3、MIDI、录音、json
Luat_VXXXX_8955_UI.lod:支持SPI接口的LCD功能
Luat_VXXXX_8955_SSL_FLOAT.lod:支持SSL功能、浮点数
Luat_VXXXX_8955_SSL_UI_FLOAT.lod:支持SSL功能、PI接口的LCD功能、浮点数
Luat_VXXXX_8955F.lod:64M flash版本(Air202F),支持SSL、TTS、SPI接口的LCD功能

我以烧录最基本的Luat_VXXXX_8955.lod为例,首先在调试工具中确保串口选项卡的串口为你设备的串口值,点击下载LOD(core)按钮,选中之前在工具目录的lod文件:

选中确认无误后,点击下载进行写入lod的操作

上面下载失败了,要重新下载一遍

下载lua脚本文件

由于luat模块的特色就是lua二次开发,所以下载烧录脚本的方法也是必须掌握的,下面以烧录S9开发板的示例程序为例(S9就是那个板载usb的开发板)

lib库已在luatools中自带,无需再自己下载

烧录S9需要的底层lod文件

S9需要的底层lod是Luat_VXXXX_8955_UI.lod,这里的UI库包含了字库和各种SPI、I2C屏幕的驱动

烧录步骤不再重复,请确保烧录最后成功了

烧录lua脚本

lua脚本分为两部分:一个部分是官方写的lib库文件(library),另一部分是用户自己的脚本文件。一般lib的文件不用去修改,除非有特殊需求。

lua库分为两个版本:
一个是老的script,
另一个是由稀饭放姜进行编写的script_LuaTask库

现阶段建议新项目都用script_LuaTask进行编写;老用户使用了script编写的,如码夫支付模块,可以继续用老版本,没有任何影响。

这里烧录的S9开发板就是使用的script_LuaTask进行编写的,具体步骤如下:

点击下载lua脚本按钮,将文件列表全部清空:

点击添加脚本,将刚刚从git仓库下载的Luat_2G_RDA_8955/script_LuaTask/product/LuatBoard_Air202/demo下的所有文件全部选中,点击打开确认选中

这里如果没有选择lib文件,工具会自动进行提示

点击下载,会弹出对话框让你补全lib库文件,这里我们选择“优先推荐”的LuaTask库,点击确定:

这时可能会弹出底层不支持的对话框,我们选择依旧只下载脚本,点击确定(Air202 32Mb版没办法用UI+TTS的lod,装不下)

最后,等待下载成功即可

关闭对话框,即可看到设备运行的trace信息,这个信息可能会在下一章进行解释:


4G模块烧写教程(Air7xx系列)

这里我们使用Air720开发板(S720 Border)作为演示,首先需要将开发板按如下方式连接电脑:

连接后,我们会在设备管理器看到有几个未安装的驱动,我们需要安装上这些驱动

安装驱动

对于win8/win8.1/win10电脑,在安装驱动前需要进行如下操作(win7可以跳过该部分直接安装驱动):
win8:在桌面右侧点击弹出菜单中的“设置”,点击“更改电脑配置”,在左侧点击“通用”,接着点击右侧“高级启动”中的“立刻重启”按钮
win10:按下win+i快捷键,点击“更新和安全”--“恢复”--“高级启动”下的“立即重启”按钮

接着就进入了高级启动界面,选择“疑难解答”--“高级选项”--“启动设置”--“重启”
在启动设置页按F7选择禁用驱动强制数字签名,就可以在该模式下开机了。

我们可以在http://www.openluat.com/Product/4g/Air720D.html页面的资料下载,下载[驱动程序] AirM2M_USB_Download&Com_Driver_for_4G_V1.0

安装压缩包中的驱动。注意,32位与64位驱动不同,请根据自己电脑选好安装包exe

安装过程中肯定会弹出下面的窗口,点击始终安装即可

安装成功后,将板子重新连接即可。

下载AT版本的固件

注意:AT固件也可以直接通过AT指令来进行远程升级,无需使用LuaTools工具,详情请参阅http://ask.openluat.com/article/186

如果是模块飞线烧录,请先确保可以保证模块的稳定供电,并且烧录时模块不会被重启,按下图进行飞线usb:

打开luatools,将在菜单栏切换为4G模式:

直接点击AT--升级到标准AT版本即可,点击下载

这时工具会进入下载模块,我们可以点击开发板上的“重启”按键,或者开关旁边的拨码开关,下载工具会自动开始下载:

烧录后,我们可以用串口工具,通过虚拟的AT串口来进行AT操作:

同时,也可以从开发板的另一个usb引脚,将拨码改至UART2,进行AT控制:

下载LUAT固件和脚本

下载luat底层固件

打开luatools,将在菜单栏切换为4G模式:

首先要先烧录blf底层文件,点击右上角的下载CORE

选择需要烧入的底层文件(可在LuaTools x.x.x\asr1802\CORE\Luat_V0005_ASR1802\文件夹找到),点击下载

这时工具会进入下载模块,我们可以点击开发板上的“重启”按键,或者开关旁边的拨码开关,下载工具会自动开始下载:

底层烧录完成。

烧录脚本文件

我们用demo文件夹中的adc举例,烧录一个完整的脚本工程

(如果需要新建项目,千万不要在luatool下建立项目文件夹,不然会在更新时被删掉)

点击下载lua脚本,先点击打开4G(.blf)文件按钮,选择之前烧录的底层文件

然后点击清空所有

接着点击添加脚本我们把LuaTools x.x.x\asr1802\lib\demo\adc文件夹下的所有文件添加进去,点击下载脚本

这是会由于没有添加lib文件夹内的lua库文件而弹出一个对话框,我们直接点击确定,自动补全即可:

(如果没补全,那就手动把lib文件夹的所有文件都加进去)

接着就和上面烧录固件一样了,点击开发板上的重启按键,或者开关旁边的拨码开关,下载工具会自动开始下载

烧录完成后,关闭烧录对话框,检查一下左上角是否勾上了自动usb口,如果已勾选,等待十几秒后即可看到luatools会输出adc demo的trace:


trace保存

trace是判断模块运行的唯一标准,在开发者遇到问题需要反馈时,必须附上trace,方便分析问题所在。

菜单栏->文件

10

保存trace

11

选择保存路径,日志一般为trc类型。

12


生成量产文件

量产文件用于远程升级和工厂批量生产,量产文件将lod和脚本合并在一起。

7

可以选择对lod进行加密。加密防止反编译,读出的lod 直接烧写到其他的模块,不能运行

8

Important

加密后的lod必须用V1.7版本以上的量产升级工具升级!

9

Attention

添加脚本的时候不要忘记添加lib