fastboot协议

fastboot协议

ID:40548840

大小:62.50 KB

页数:5页

时间:2019-08-04

fastboot协议_第1页
fastboot协议_第2页
fastboot协议_第3页
fastboot协议_第4页
fastboot协议_第5页
资源描述:

《fastboot协议》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、FastBoot协议版本0.4fastboot协议是一种通过USB连接与bootloader通讯的机制。它被设计的非常容易实现,能够用于多种设备和运行Linux、Windows或者OSX的主机。基本需求(BasicRequirements)l两个端点,一个输入端,一个输出端。l对于全速(full-speed)USB,最大包尺寸必须是64个字节;对于高速(high-speed)USB,最大包尺寸必须是512个字节。l协议完全是主机驱动(SSW注:相对于设备客户端而言),并且同步的。这与多通道、双向、异步的ADB协议不同。传输和组帧(TransportandFrami

2、ng)l步骤1、主机发送命令(Command)。一个命令是一个ASCII字符串,并且只能包含在不大于64个字节的单个包内。l步骤2、客户端(SSW注:设备)用一个单个的不大于64个字节的包响应。响应包开头四个字节是“OKAY”、“FAIL”、“DATA”或者“INFO”。响应包剩余的字节可以包含ASCII格式的说明性信息。A.INFO->剩余的60个字节包含说明信息(提供进度或者诊断信息)。这些说明信息应该被显示,然后重复步骤2。B.FAIL -> 指示请求的命令失败。剩余的60个字节可以提供一个文本形式的失败原因呈现给用户。交互停止。C.OKAY-> 指示请求的

3、命令成功完成。跳转到步骤5。A.DATA->请求的命令已经为数据阶段做好准备。一个数据响应包是12个字节长,组织形式为DATA00000000,其中8位十六进制的数字表示所传输数据的总大小。l步骤3、数据阶段。根据命令的不同,主机或者客户端将发送指定大小的数据。比指定长度短的包总是可接受的,零长度的包将被忽略。这个阶段会一直持续,直到客户端已经发送或接收了上面数据响应包中指定大小的字节数为止。l步骤4、客户端用一个单个的不大于64个字节的包响应。响应包开头四个字节是“OKEY”、“FAIL”或者“INFO”,类似于步骤2。A.INFO ->显示剩余的60个字节,然

4、后返回到步骤4。B.FAIL ->显示剩余的60个字节(如果有的话)作为失败原因,命令失败,停止交互。C.OKAY->成功。跳转到步骤5。l步骤5、命令执行成功。结束交互。示例会话(ExampleSession)Host:主机  Client:客户端(设备)编号主机/客户端命令说明1Host"getvar:version"请求版本号Client"OKAY0.4"返回版本为"0.4"2Host"getvar:nonexistant"请求未定义的变量Client"OKAY"返回值为""3Host"download:00001234"请求发送0x1234大小的字节数据C

5、lient"DATA00001234"准备好接收数据4Host<0x1234bytes>发送数据Client"OKAY"数据接收成功完成5Host"flash:bootloader"请求刷新数据到bootloaderClient"INFOerasingflash"指示状态/进度为“擦除flash”"INFOwritingflash"指示状态/进度为“写入flash”"OKAY"刷新成功完成6Host"powerdown"发送“关机”命令Client"FAILunknowncommand"命令执行失败命令参考(CommandReference)l命令参数以print

6、f风格的转义序列表示。l命令是ASCII字符串,发送时不用引号(下面命令外使用引号仅仅为了在此文档中清楚的表达命令),发送时也不以字节0结尾。l以小写字母开头的命令是为本规范保留的,OEM特定的命令不应该以小写字母开头,以防和规范的未来版本不兼容。命令说明"getvar:%s"从bootloader读取配置或版本变量。变量的值在OKAY响应的后面返回。"download:x"写入数据到内存,供下面阐述的”boot“、”randisk“、”flash“等命令使用。如果RAM有足够的空间,客户端将用”DATAx“回应;否则,将回应”FAIL“。下载数据的大小会被记下来

7、。"verify:x"发送一个数字签名去验证下载的数据。如果bootloader是”secure(安全的)“,那么签名验证是必须的;如果bootloader不是”secure“,”flash“和”boot“命令会忽略签名验证。"flash:%s"将之前下载的影像写入到指定的分区(如果可能的话)。"erase:%s"擦除指定的分区(将分区全部写成0xFF)。"boot"之前下载的数据一个boot.img,应该按照boot.img的正常步骤被启动。"continue"继续正常启动工作(如果可能的话)。"reboot"重新启动设备。"reboot-bootloader"

8、重新启动进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。