前一篇转载的博文很清楚,全面的介绍了DFU功能的实现步骤。关于DFU功能,你还需要知道以下信息:

一、image.fs,firmware,loader,psr之间的关系

图1-1 image.fs示意图

图1-2 image.fs,stack,loader示意图

从图1-1可以看出,image.fs主要有VM application和DSP程序构成,以及promots等组成;

通过VMBuilder,将VM app与firmware(loader和stack)merge到一块,形成最终的可烧录固件。xxx.xpv/xdv都可以单独烧录和下载。

psr文件时存储在flash中的配置参数,merge.xpv/merge.xdv并不包括psr配置参数。

二、DFU类型

DFU主要是功能是便于通过诸如USB,UART,RADIO(OTA)等方式升级应用程序(不是loader)而设计的,如果你的设备依然保留着USB-SPI接口,我想也没有多大必要使用DFU功能吧。一般而言,DFU功能分为两个阶段:

1、初次下载程序升级包。

对于新的设备,你需要准备:

loader.xpv/xdv;

stack.xpv/xdv;

image.fs(vm.app, prompts, *.kap,etc);

app.psr;

如果希望固件被加密,还需要对loader,stack,image.fs,app.psr进行加密。

对上述资源进行整合后,通过BlueFlashCmd.exe工具下载(可能必须通过USB-SPI接口)到设备中去,此后设计即具备DFU功能。如果需要更新loader,需要再次重复该过程;

2、通过DFU功能升级VM application或者stack firmware。

对于已经具备DFU功能(loader.xpv/xdv已经下载),可以通过USB,UART,RADIO等接口升级vm application, stack,psr配置文件。你只需准备:

image.fs;

stack.xpv/xdv(可选);

app.psr(可选);

对于USB,UART传输介质,你需要准备通过dfubuild.exe生成xxx.dfu文件即可。

对于RADIO传输介质,可能需要多做几步操作,生成的xxx.dfu需要进一步转化为xxx.bin文件,具体请参考:CS-328884-UG.pdf

十、CSR8670的DFU功能[补充]的更多相关文章

  1. [转发]CSR8670的DFU功能

    本文源自:https://blog.csdn.net/wzz4420381/article/details/52371409 作者:RyomaWang 申明:为了保持原作者内容,这里不进行任何修改,后 ...

  2. EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充

    EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) EO理论上 ...

  3. VS2017十五项新功能体验

    Visual Studio 2017十五项新功能体验 Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP ...

  4. Spring Boot 2.X(十四):日志功能 Logback

    Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...

  5. 使用Typescript重构axios(十八)——请求取消功能:总体思路

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  6. 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. 使用Typescript重构axios(二十二)——请求取消功能:收尾

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. Python学习日记(十)—— 杂货铺(全局变量补充、Python参数传递、字符串格式化、迭代器、生成器)

    全局变量补充 python自己添加了些全局变量 print(vars()) """结果: {'__name__': '__main__', '__doc__': None ...

  9. 第十篇 PO核心功能及流程详解

    详见链接:http://bbs.erp100.com/thread-272866-1-1.html1. P2P lifecycleP2P是procure to pay的缩写,p2p循环值得就是采购到付 ...

随机推荐

  1. 聊聊面试-NoClassDefFoundError 和 ClassNotFoundException 区别

    (上图是圣卡塔利娜岛,美国南加州的一个小岛,也是 mac OS 10.15 版本的官方默认壁纸) ___ 概述 Hello,大家好,我们又来讲面试中的基础题了,今天这是一道很经典又很猥琐的题 说猥琐是 ...

  2. spark上 spark-shell和java -jar访问hdfs路径问题

    部署spark集群 使用spark包 spark-1.0.2-bin-hadoop2.tgz 在spark-shell和java -jar访问hadoop hdfs上的文件写法是有区别的 在spark ...

  3. postgresql被注入之后

    本来只是贪便宜买了个一年特价的阿里云服务器,做做测试什么的,结果不知道哪一天开始阿里云安全中心就开始给我发什么安全提示类的信息,一开始我并不在意,因为这些都是套路,不过是想让我升级购买高防盾罢了,反正 ...

  4. JdbcTemplate增删改

    (1)Accountsdao层 //删除单个账户 int delaccount(Integer accountid); //添加单个用户 int addaccount(Accounts account ...

  5. django-表单之模型表单(三)

    models.py-->forms.py-->views.py(get)--index.html-->views.py(post)-->home.html urls.py fr ...

  6. jquery复习

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. carousel.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. vue 踩坑--项目名称不能与插件名称一样

    今天webpack搭建,命令行一直报错 百度说是项目名称为:vue npm 拒绝安装 后来才发现是 package.json的name名称也设成了vue 所以 修改一下就可以了.

  9. 如何在Spring Boot中使用Cookies

    一. 导读 本文大纲 读取HTTP Cookie 设置HTTP Cookie 读取所有Cookie[] 为Cookie设置过期时间 Https与Cookie HttpOnly Cookie 删除Coo ...

  10. Flask解析(一):Local、LocalStak、LocalProxy

    原创作者:flowell,转载请标明出处:https://www.cnblogs.com/flowell/p/local_local_proxy_local_stack.html Local是什么? ...