二、Alternative boot operation —— 替换引导操作模式
对于v4.4版以上的设备,此启动功能是必需的。遵循v4.4标准的设备必须在扩展CSD字节[228]中bit0显示为1,表示支持Alternative boot operation。
如果使能了Alternative boot operation, 那么在上电或复位操作(参数0xF0F0F0F0的CMD0或硬件复位),然后在发送CMD1或拉低cmd线超过74的时钟周期之前就发送0xFFFFFFFA作为参数的CMD0, device会识别出正在启动BOOT模式,并开始内部准备BOOT数据。
可以使用EXT_CSD字节[179],位[5:3]预先选择要从主设备读取引导数据的分区。 主机在引导操作期间可以读取的数据大小可以计算为128KB×BOOT_SIZE_MULT(EXT_CSD字节[226])。
在发出参数为0xFFFFFFFA的CMD0之后的1秒钟内,设备开始在DAT线上将第一个BOOT数据发送给host。
主机必须使用推挽模式,直到启动操作终止
主机通过设置EXT_CSD寄存器字节[177]位[4:3]可以选择使用具有向后兼容接口时序的单数据速率模式,具有高速接口时序的单数据速率或具有双数据速率时序(如果支持)的方式。
EXT_CSD寄存器字节[228]的bit[2:1]告诉主机,设备是否支持BOOT期间的高速时序或双倍数据率
主机通过设置EXT_CSD寄存器的字节[179]的bit6,使得主机可以选择从device中接收BOOT确认(即ACK)。这样主机可以识别出device正在BOOT模式下运行。
如果使能了BOOT ACK,则device必须在收到带有参数0xFFFFFFFA的CMD0之后的50ms内向host发送