DFU协议介绍

介绍: 

 DFU使用USB作为微控制器和编程工具之间的通信信道,通常是PC。DFU类规格书说明中指出所有的DFU命令、状态和数据交换都需要通过端点0进行。命令集和基本协议都定义好了,但是上层协议(数据格式,错误信息等)是客户相关的。也就是说DFU类没有定义数据传输格式(s19,16进制,纯2进制等)

  因为一个设备同时进行DFU操作和正常运行活动是不现实的,所以在DFU操作期间必须停止正常运行活动,这就意味着设备必须改变运行模式:也就是说在进行固件更新时打印机不再是打印机了,它是一个flash存储器编程器。但是支持DFU的设备不能自主改变模式,这需要外部(人或者主机操作系统)的干预

阶段:

  完成实现固件升级可以分为4个不同阶段。

1.枚举:设备把自身的一些特性告知主机,嵌入在设备正常运行描述符中的一个DFU类接口描述符和相关的函数符能够完成这个目的,并且能够为通过控制管道的类专用的请求提供目标。

2.DFU枚举:主机和设备同意开始固件升级,主机向设备发出USB复位,设备发出第二个描述符集合,并且为传输阶段做准备,这会是相应设备的运行时驱动无效,并使得DFU驱动不受其他目标为该设备通信妨碍,重编程设备的固件。

3.传输:主机将固件映像传输给设备,功能描述符中的参数用于确保非易失性存储器编程的块大小和时序的正确性。状态请求用于保持主机和设备之间的同步。

4.显示:一旦设备向主机报告重编程完成,主机箱设备发送usb复位,设备重枚举并执行升级后的固件。为保证只有DFU驱动加载,有必要在枚举DFU描述符集合改变id-product字段。

时间: 2024-11-10 01:12:45

DFU协议介绍的相关文章

LDAP协议介绍

LDAP协议基础概念 1. 从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合"一次记录多次读取".经常使用LDAP服务存储的信息: 公司的物理设备信息(如打印机,它的IP地址.存放位置.厂商.购买时间等)  公开的员工信息(地址.电话.电子邮件-)  合同和账号信息(客户信息.产品交付日期.投标信息.项目信息-)  凭证信息(认证凭证.许可证凭证-) 2. 从数据结构上阐述LDAP,它是一个树型结构,能有效明白的描写叙述一个组织结构特性的相关信息.在这个树型结构上的每一

流媒体协议介绍

RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础.RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的. RTP 本身并没有提供按时发送机制或其它

数字证书常见格式与协议介绍

引:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.KEY.CSR.CRT.CRL .OCSP.SCEP等. PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式.Openssl 中的 PEM 文件一般包含如下信息: 内容类型:表明本文件存放的是什么信息内容,它的

JSON-RPC轻量级远程调用协议介绍及使用

JSON-RPC轻量级远程调用协议介绍及使用 目录 技术简介    1 一.JSON-RPC协议描述    1 二.JSON-RPC调用简单示例    1 2.1.服务器端Java调用示例    1 2.2.Java客户端调用示例    2 2.3.PHP客户端调用示例    2 2.3.JavaScript客户端调用示例    2 2.4.直接GET请求进行调用    2 三.JSON-RPC总结    3 参考文档    3 技术简介 json-rpc是基于json的跨语言远程调用协议,比x

常用音频协议介绍&&有关音频编码的知识与技术参数

(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20Hz到20KHz的声波称为为可听声,低于20Hz的成为次声,高于20KHz的为超声,多媒体技术中只研究可听声部分. 可听声中,话音信号的频段在80Hz到3400Hz之间,音乐信号的频段在20Hz-20kHz之间,语音(话音)和音乐是多媒体技术重点处理的对象. 由于模拟声音在时间上是连续的,麦克风采集

各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabetical).我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议.如果要开源自己的代码,最好也是选择这些被批准的开源协议. 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考. BSD开源协议(original BSD li

主要流媒体协议介绍

RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础.RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的. RTP 本身并没有提供按时发送机制或其它

HTTP协议介绍

HTTP协议介绍 1简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议. HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HT

[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP 协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Tal