提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸科技的新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!
升级包后台服务器维护、终端下载及管理,请结合第三方服务。
打包工具的bin所在目录:
otapack工具命令参数介绍: -c --create: 创建一个空的升级包文件头,此命令创建文件头的同时可以用-b或-e添加开始或结束升级的脚本。 -b --begin-script: 在服务器上指定一个shell脚本文件,并把它打包进升级包中用于板子在升级前执行的脚本。 -e --end-scrip: 在服务器上指定一个shell脚本文件,并把它打包进升级包中用于板子在升级结束后执行的脚本。 -a --append: 在已经创建的升级包中追加新的头信息,追加新的信息中必须告知升级的相关讯息,具体方法请参考范例,或者在剩余的参数介绍中根据需要配置。 -s --src-file: 指定服务器上需要更新的源文件路径。 -d --dst-file: 指定需要更新的目标文件或者分区节点在目标板子中的路径。 -t --dst-file-size: 需要更新的目标文件或者分区的大小,单位为byte,可以用16/10进制表示。 -m --file-mode: 指定更新的文件权限,参考Linux的mode_t。 –block-update: 设定服务器中指定的源文件为裸分区数据。 –ubi-update: 设定服务器中指定的源文件为UBI文件系统的volume。 –file-update: 设定服务器中指定的源文件为单个文件升级。 –file-add: 设定服务器中指定的源文件为目标板子中新增加的文件。 –file-delete: 仅更新打包的数据头,删除板子上指定的目标文件。 –dir-update: 扫描新旧两个文件夹中的内容,并比较差异、增加、减少的部分,然后进行批量打包。 –help: 打印帮助信息。 –debug: 打开调试信息。 otaunpack工具命令参数介绍: -x: 解包并升级压缩的文件 -r: 解包并升级非压缩的文件 2.2. 一般的打包流程举例
2、若有需要可以用-b/-e指令添加脚本
3、根据需要打包的文件更新header数据
4、循环执行3步骤,所有的文件进行打包 5、压缩升级包
2.3. 在ALKAID中打包介绍 当程序编译和打包完成后,在project下输入指令:
会出现如下交互界面,指定在板子上执行的脚本路径,可以选择添加或者不添加:
在打包分区时,列出了打包的分区数据:
做出相关的选择后,会在project/image/output/images/下产生SStarOta.bin.gz 在配置partition的config文件中会配置分区进行打包。 举例: 文件 spinand.ubifs.p2.partition.config中有变量:OTA_IMAGE_LIST 在此变量后面追加需要打包的分区名称,并在分区的配置中添加字段xxx$(OTABLK),配置该分区需要升级的目标节点路径。 只有在OTA_IMAGE_LIST添加了分区名,才会在make image-ota的时候会询问该分区是否要进行ota升级。 分区打包脚本的所有逻辑在image/ota.mk中实现,有兴趣的可以自行研究 。 2.4. 不带文件系统的RAW DATA打包
2.5. ubifs/ squashfs/ jffs2打包 UBIFS的分区升级方式与其它两种格式稍有差异,因此在打包的时候UBIFS打包的时候请使用–ubi-update 2.6. 个别文件打包
3.2. 分区升级前注意 otaupack工具请找FAE获取。 3.3. 压缩的升级包更新
3.4. 非压缩的升级包更新
3.5. 升级UI显示
3.6. 升级状态获取 若OTA_STATUS为0则升级成功,否则为-1。 3.7. SPI-NAND坏块处理 |
|
来自: logicsoft > 《bootloader》