BC5-MM、CSR867x的DFU更新流程之二:dfu文件转bin文件
.dfu文件转.bin文件
在BC5-MM、CSR867x的DFU更新流程之一: DFU(.dfu)文件制作常用指令及DFU文件内容中,我们解析了制作DFU文件(.dfu)的常用指令;
但.dfu文件的更新只适用于<=ADK3.5版本,从ADK4.0开始改为使用.bin文件形式;
原因是:
For ADK3.5 OTA, the OTA(IMAGE) on Android/IOS phone that needs to use DFU file.
[The APK file is old version, this version is only to support DFU file.]
For ADK v4.0, the OTA(IMAGE) on Android/IOS phone that needs to use BIN file.
如何把.dfu文件转换为bin文件
这里需引入一个叫.udp的文件(自行创建即可);
以下是一个正常使用的.udp文件实现,我们命名为 upgrade_partition.upd(后续转换时会使用到):
# ADK upgrade requires an empty signature appended to the end of the file.
add_empty_signature
# Set the upgrade version and previous version(s)
# that are compatible to upgrade from. The minor
# version can be '*' to act as a wildcard.
upgrade_version 2.1
compatible_upgrade 0.*
compatible_upgrade 1.*
compatible_upgrade 2.*
# Set the ps config version and previous version(s)
# that are compatible to upgrade from
ps_config_version 2
ps_prev_config_version 0
ps_prev_config_version 1
# list all partition starting from index 0 including partition type
# <partition number> <partition type> <full path filename>
# DFU file with file system
0 1 upgrade_partition_dfu.xuv
重点只需关注最后面的“# DFU file with file system”部分,其他部分可以直接抄。
因“# DFU file with file system”部分需我们基于实际进行调整,如当前实现的第一个0表示partition 0(Partiton index 标识从index 0开始) ;而第二个1 表示类型,一般DFU升级时,类型设置的都是1;
官方描述:
从.dfu 文件转换为.bin文件,需3个步骤:
第1步:使用XUV2BIN 指令,把.dfu文件转换为.xuv文件;
Note:在.udp文件最后,定义的就是转换后的upgrade_partition_dfu.xuv 设置;
XUV2BIN -e upgrade_file.dfu upgrade_partition_dfu.xuv
第2步:使用UpgradeFileGen 指令,把.udp文件也转换为.xuv文件
UpgradeFileGen upgrade_partition.upd upgrade_file.xuv
第3步:使用XUV2BIN指令,把.udp文件转换出来的.xuv文件,转换为.bin文件;
注意这里使用的是“-d”
XUV2BIN -d upgrade_file.xuv upgrade_file.bin
到此,bin文件生成,可用于>=ADK4.0 升级;操作以上指令前,需先cd 到ADK4.x等ADK的tools/bin文件夹下;
后续文章将提供完整的 “从DFU 制作到bin文件生成”bat档实现;
BC5-MM、CSR867x的DFU更新流程之二:dfu文件转bin文件相关推荐
- HEX文件和BIN文件总结及hex文件流转bin文件流示例代码
这几天在写STM32的ISP烧录工具,因此有涉及到输入hex文件或bin文件进行烧录的问题,所以对hex文件和bin文件进行了些总结. 1 hex介绍 Hex 全称 (Intel HEX)文件是由一行 ...
- Android平台WIFI启动流程之二
http://blog.sina.com.cn/s/blog_13146f9590101wji1.html [摘要] 本文从用户界面出发,从应用层到硬件适配层,对Android平台wifi启动和关闭的 ...
- CNAS实验室申请流程之二
上一章说到将文件寄给相应的地址,下面就是等待负责你的主管对你提交的资料进行审批.如果有相关需要整改的话,主管会在系统中进行通知,并写上你需要补充什么资料,补充完毕后再次提交,然后继续等待. 所以我们需 ...
- 数字IC后端设计实现流程之initial design
数字IC后端设计实现流程之initial design 前端提供的文件 门级网表 (Gate Level Netlist) 数字前端工程师或者是 R2N 的同事在 release 东西给后端工程师做 ...
- (连载)Android系统源码分析--Android系统启动流程之Linux内核
> **这是一个连载的博文系列,我将持续为大家提供尽可能透彻的Android源码分析 [github连载地址](https://github.com/foxleezh/AOSP/issues/3 ...
- (连载)Android 8.0 : 系统启动流程之Linux内核
这是一个连载的博文系列,我将持续为大家提供尽可能透彻的Android源码分析 github连载地址 前言 Android本质上就是一个基于Linux内核的操作系统,与Ubuntu Linux.Fedo ...
- 源码详解Android 9.0(P) 系统启动流程之SystemServer
源码详解Android 9.0(P) 系统启动流程目录: 源码详解Android 9.0(P)系统启动流程之init进程(第一阶段) 源码详解Android 9.0(P)系统启动流程之init进程(第 ...
- activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
注:(1)环境搭建:activiti自己定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自己定义流程之Spr ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Sprin ...
最新文章
- J - Invitation Cards POJ - 1511
- Redhat EL 5.3上安装Cacti(4)- 编译安装rrdtool及安装配置snmp
- CG CTF WEB 文件包含
- 拾取模型的原理及其在THREE.JS中的代码实现
- 海量数据处理分析(部分)
- sqlite3_setp
- 十字链表 java_十字链表法,十字链表压缩存储稀疏矩阵详解
- 战神级CTO直招产品技术小鲜肉,“悦家”团队带你玩转家装O2O
- ggplot2作图详解:ggplot图形对象
- mysql amd.dll 后门_DLL型后门原理及完全清除秘诀
- Oracle转PostgreSQL
- chm电子书打开空白
- mybatis plus 出现 Invalid bound statement (not found)
- 山东大学软件工程期末复习知识点总结
- 考研学校的爬虫(自己写的可能会有点菜
- 【python】北京城区内按搜索城区名称查询KFC店面
- vue的分支及循环结构
- 一个团购网站运营总监的自白
- Ubuntu 下使用 APG 生成密码
- U盘模式无法引导进入pe系统