fastboot协议.doc_第1页
fastboot协议.doc_第2页
fastboot协议.doc_第3页
fastboot协议.doc_第4页
fastboot协议.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FastBoot协议版本0.4fastboot协议是一种通过USB连接与bootloader通讯的机制。它被设计的非常容易实现,能够用于多种设备和运行Linux、Windows或者OSX的主机。基本需求(Basic Requirements)l 两个端点,一个输入端,一个输出端。l 对于全速(full-speed)USB,最大包尺寸必须是64个字节;对于高速(high-speed)USB,最大包尺寸必须是512个字节。l 协议完全是主机驱动(SSW注:相对于设备客户端而言),并且同步的。这与多通道、双向、异步的ADB协议不同。传输和组帧(Transport and Framing)l 步骤1、主机发送命令(Command)。一个命令是一个ASCII字符串,并且只能包含在不大于64个字节的单个包内。l 步骤2、客户端(SSW注:设备)用一个单个的不大于64个字节的包响应。响应包开头四个字节是“OKAY”、“FAIL”、“DATA”或者“INFO”。响应包剩余的字节可以包含ASCII格式的说明性信息。A. INFO - 剩余的60个字节包含说明信息(提供进度或者诊断信息)。这些说明信息应该被显示,然后重复步骤2。B. FAIL-指示请求的命令失败。剩余的60个字节可以提供一个文本形式的失败原因呈现给用户。交互停止。C. OKAY -指示请求的命令成功完成。跳转到步骤5。D. DATA - 请求的命令已经为数据阶段做好准备。一个数据响应包是12个字节长,组织形式为DATA00000000,其中8位十六进制的数字表示所传输数据的总大小。l 步骤3、数据阶段。根据命令的不同,主机或者客户端将发送指定大小的数据。比指定长度短的包总是可接受的,零长度的包将被忽略。这个阶段会一直持续,直到客户端已经发送或接收了上面数据响应包中指定大小的字节数为止。l 步骤4、客户端用一个单个的不大于64个字节的包响应。响应包开头四个字节是“OKEY”、“FAIL”或者“INFO”,类似于步骤2。A. INFO- 显示剩余的60个字节,然后返回到步骤4。B. FAIL- 显示剩余的60个字节(如果有的话)作为失败原因,命令失败,停止交互。C. OKAY - 成功。跳转到步骤5。l 步骤5、命令执行成功。结束交互。示例会话(Example Session)Host:主机 Client:客户端(设备)编号主机/客户端命令说明1Hostgetvar:version请求版本号ClientOKAY0.4返回版本为0.42Hostgetvar:nonexistant请求未定义的变量ClientOKAY返回值为3Hostdownload:00001234请求发送0x1234大小的字节数据ClientDATA00001234准备好接收数据4Host发送数据ClientOKAY数据接收成功完成5Hostflash:bootloader请求刷新数据到bootloaderClientINFOerasing flash指示状态/进度为“擦除flash”INFOwriting flash指示状态/进度为“写入flash”OKAY刷新成功完成6Hostpowerdown发送“关机”命令ClientFAILunknown command命令执行失败命令参考(Command Reference)l 命令参数以printf风格的转义序列表示。l 命令是ASCII字符串,发送时不用引号(下面命令外使用引号仅仅为了在此文档中清楚的表达命令),发送时也不以字节0结尾。l 以小写字母开头的命令是为本规范保留的,OEM特定的命令不应该以小写字母开头,以防和规范的未来版本不兼容。命令说明getvar:%s从bootloader读取配置或版本变量。变量的值在OKAY响应的后面返回。download:x写入数据到内存,供下面阐述的”boot“、”randisk“、”flash“等命令使用。如果RAM有足够的空间,客户端将用”DATAx“回应;否则,将回应”FAIL“。下载数据的大小会被记下来。verify:x发送一个数字签名去验证下载的数据。如果bootloader是”secure(安全的)“,那么签名验证是必须的;如果bootloader不是”secure“,”flash“和”boot“命令会忽略签名验证。flash:%s将之前下载的影像写入到指定的分区(如果可能的话)。erase:%s擦除指定的分区(将分区全部写成0xFF)。boot之前下载的数据一个boot.img,应该按照boot.img的正常步骤被启动。continue继续正常启动工作(如果可能的话)。reboot重新启动设备。reboot-bootloader重新启动进入bootloader。对于升级bootloader之后,用新的bootloader去升级其他分区的升级过程,这个命令是很有用的。powerdown设备关机。客户端变量(Client Variables)命令getvar:%s用来读取客户端变量,客户端变量代表关于设备和运行于设备之上软件的各种信息。当前已经定义的变量名称如下:变量名说明versionFastBoot协议所支持的版本。version-bootloaderBootloader的版本字符串。version-baseband基带(Baseband)软件的版本字符串。pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论