.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文件相关推荐

  1. HEX文件和BIN文件总结及hex文件流转bin文件流示例代码

    这几天在写STM32的ISP烧录工具,因此有涉及到输入hex文件或bin文件进行烧录的问题,所以对hex文件和bin文件进行了些总结. 1 hex介绍 Hex 全称 (Intel HEX)文件是由一行 ...

  2. Android平台WIFI启动流程之二

    http://blog.sina.com.cn/s/blog_13146f9590101wji1.html [摘要] 本文从用户界面出发,从应用层到硬件适配层,对Android平台wifi启动和关闭的 ...

  3. CNAS实验室申请流程之二

    上一章说到将文件寄给相应的地址,下面就是等待负责你的主管对你提交的资料进行审批.如果有相关需要整改的话,主管会在系统中进行通知,并写上你需要补充什么资料,补充完毕后再次提交,然后继续等待. 所以我们需 ...

  4. 数字IC后端设计实现流程之initial design

    数字IC后端设计实现流程之initial design 前端提供的文件 门级网表 (Gate Level Netlist) 数字前端工程师或者是 R2N 的同事在 release 东西给后端工程师做 ...

  5. (连载)Android系统源码分析--Android系统启动流程之Linux内核

    > **这是一个连载的博文系列,我将持续为大家提供尽可能透彻的Android源码分析 [github连载地址](https://github.com/foxleezh/AOSP/issues/3 ...

  6. (连载)Android 8.0 : 系统启动流程之Linux内核

    这是一个连载的博文系列,我将持续为大家提供尽可能透彻的Android源码分析 github连载地址 前言 Android本质上就是一个基于Linux内核的操作系统,与Ubuntu Linux.Fedo ...

  7. 源码详解Android 9.0(P) 系统启动流程之SystemServer

    源码详解Android 9.0(P) 系统启动流程目录: 源码详解Android 9.0(P)系统启动流程之init进程(第一阶段) 源码详解Android 9.0(P)系统启动流程之init进程(第 ...

  8. activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义

    注:(1)环境搭建:activiti自己定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建         (2)创建流程模型:activiti自己定义流程之Spr ...

  9. activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义

    注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建         (2)创建流程模型:activiti自定义流程之Sprin ...

最新文章

  1. J - Invitation Cards POJ - 1511
  2. Redhat EL 5.3上安装Cacti(4)- 编译安装rrdtool及安装配置snmp
  3. CG CTF WEB 文件包含
  4. 拾取模型的原理及其在THREE.JS中的代码实现
  5. 海量数据处理分析(部分)
  6. sqlite3_setp
  7. 十字链表 java_十字链表法,十字链表压缩存储稀疏矩阵详解
  8. 战神级CTO直招产品技术小鲜肉,“悦家”团队带你玩转家装O2O
  9. ggplot2作图详解:ggplot图形对象
  10. mysql amd.dll 后门_DLL型后门原理及完全清除秘诀
  11. Oracle转PostgreSQL
  12. chm电子书打开空白
  13. mybatis plus 出现 Invalid bound statement (not found)
  14. 山东大学软件工程期末复习知识点总结
  15. 考研学校的爬虫(自己写的可能会有点菜
  16. 【python】北京城区内按搜索城区名称查询KFC店面
  17. vue的分支及循环结构
  18. 一个团购网站运营总监的自白
  19. Ubuntu 下使用 APG 生成密码
  20. U盘模式无法引导进入pe系统

热门文章

  1. 学习《新概念》的方法
  2. Spring IOC IOP
  3. SpringBoot(SpringMVC)文件上传下载
  4. c语言将矩形分成多个小正方形,蓝桥杯练习算法题(矩形切割成正方形)
  5. 如何利用本地硬盘装系统?教你快速装系统
  6. (20)全民小视频引流脚本模块化开发14-给脚本添加本地授权By飞云脚本学院
  7. 作文以记之 ~ 完全平方数
  8. 最新Java设计模式之美
  9. 中儒集团董事长朱宝先生一行到访亚信总部!
  10. python遍历列表易出错!!!!!