十、CSR8670的DFU功能[补充]
前一篇转载的博文很清楚,全面的介绍了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功能[补充]的更多相关文章
- [转发]CSR8670的DFU功能
本文源自:https://blog.csdn.net/wzz4420381/article/details/52371409 作者:RyomaWang 申明:为了保持原作者内容,这里不进行任何修改,后 ...
- EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充
EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) EO理论上 ...
- VS2017十五项新功能体验
Visual Studio 2017十五项新功能体验 Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP ...
- Spring Boot 2.X(十四):日志功能 Logback
Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...
- 使用Typescript重构axios(十八)——请求取消功能:总体思路
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(二十二)——请求取消功能:收尾
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- Python学习日记(十)—— 杂货铺(全局变量补充、Python参数传递、字符串格式化、迭代器、生成器)
全局变量补充 python自己添加了些全局变量 print(vars()) """结果: {'__name__': '__main__', '__doc__': None ...
- 第十篇 PO核心功能及流程详解
详见链接:http://bbs.erp100.com/thread-272866-1-1.html1. P2P lifecycleP2P是procure to pay的缩写,p2p循环值得就是采购到付 ...
随机推荐
- linux上安装newman
1. newman的安装依赖nodejs,首先安装node/npm 进入到 /usr/local目录[root@ipha-dev71- local]# cd /usr/local [root@ipha ...
- 用深度优先搜索(DFS)解决多数图论问题
前言 本文大概是作者对图论大部分内容的分析和总结吧,\(\text{OI}\)和语文能力有限,且部分说明和推导可能有错误和不足,希望能指出. 创作本文是为了提供彼此学习交流的机会,也算是作者在忙碌的中 ...
- Spring Cloud 网关服务 zuul 二
有一点上篇文章忘了 讲述,nacos的加载优先级别最高.服务启动优先拉去配置信息.所以上一篇服务搭建我没有讲述在nacos 中心创建的配置文件 可以看到服务端口和注册中心都在配置文件中配置化 属性信息 ...
- unity 导出模型
不论unity是否运行,到处其中的模型方法: 1.如下图建立相关文件目录,并建立如下脚本 2.脚本代码 using UnityEngine; using UnityEditor; using Syst ...
- UE4蓝图与C++交互——射击游戏中多武器系统的实现
回顾 学习UE4已有近2周的时间,跟着数天学院"UE4游戏开发"课程的学习,已经完成了UE4蓝图方面比较基础性的学习.通过UE4蓝图的开发,我实现了类似CS的单人版射击游戏,效 ...
- 百度地图Javascript API 调用示例
调用示例 !<!DOCTYPE html> <html> <head> <title>百度地图DEMO</title> </head& ...
- Java 中文数字转换为阿拉伯数字
贴出代码,方便学习交流,稍后放出镜像问题的代码 package com.thunisoft.cail.utils; import com.sun.istack.internal.NotNull; im ...
- 发布兼容TS的JS库到nexus和npmjs
一. 前言 由于node以及绝大多数前端库都是用JavaScript(以下简称JS)语言实现,而Angular是用TypeScript(以下简称TS)实现,虽然TS是JS的超集,但是由于TS和JS对于 ...
- 深入了解 Java Resource && Spring Resource
在Java中,为了从相对路径读取文件,经常会使用的方法便是: xxx.class.getResource(); xxx.class.getClassLoader().getResource(); 在S ...
- Docker常见报错解决方法记录
[问题一]OCI runtime exec failed......executable file not found in $PATH": unknown [root@localhost ...