命令行刷机教程
# 命令行刷机指南
## 一、刷机介绍:
luatos可使用命令行进行刷机,如不使用luatools刷机也可自己使用命令行或单独封装刷机软件。air105/esp32-c3使用soc_download.exe来进行刷机。
介绍之前我们先来了解一下soc文件构成:
.soc文件为合宙luatos-soc系统使用的固件格式,我们可以用7z等解压缩软件对其进行解压,可发现固件构成如下:
.bin文件(固件二进制文件)
.exe文件(刷机程序,air105/esp32-c3为soc_download.exe)
info.json(刷机参数信息)
## 二、命令行刷机参数介绍:
Air105需要目前一共需要输入14个参数:
1、类型,字符串,air105须填写`air105_download`
2、串口号,10进制,1~255
3、通用bl下载时的波特率,10进制
4、下载bin文件路径,带引号的字符串
5、下载bootloader的文件名称,带引号的字符串
6、bootloader写入地址,16进制,不带0x
7、下载APP的文件名称,带引号的字符串
8、APP写入地址,16进制,不带0x
9、下载脚本的文件名称,带引号的字符串
10、脚本写入地址,16进制,不带0x
11、RTS复位的电平,10进制,0或者1
12、只下载脚本的标志,10进制,0或者1,1表示只下载脚本
13、文件系统地址
14、文件系统需要擦除的长度,如果不擦,写0
举个例子
`soc_download.exe air105_download 83 3000000 "E:\air105\core\hex\air105\debug" bootloader.bin 01001000 app.bin 01010000 script.bin 01300000 0 0 01380000 0`
**各参数可在info.json中查看**
## 三、控制台中打印的信息需要关注以下字段
**download error:xxx 下载出错及原因**
download stage xxx:yyy 下载XXX(bl,app.bin, script.bin)的 yyy阶段,注意yyy是数字,bl阶段根据不同芯片有不同的解释,app.bin和script.bin有通用的解释,如下
**air105的bl**
0:尝试通过RTS复位芯片,及同步芯片串口
1:同步串口成功,开始连接串口
2:连接串口成功,发送bootloader信息
3:开始擦除相关flash
4:开始写入bl数据
5:完成
**通用bl下载协议:**
0:开始同步
1:发送bin信息
2:发送bin数据
3:等待验证固件信息
**download percent:xxx 当前下载的进度**
全部下载完成后提示download OK