eMMC Mandatory Boot和Alternative Boot

在eMMC协议接口当中,有自带的Boot功能,Boot模式分为两种,一种是Mandatory Boot,另一种是Alternative Boot

一般的eMMC都会支持Mandatory Boot,但是是否支持Alternative Boot需要重看EXT CSD来确认,由于主要想说明两种Boot的操作流程和区别,在这里不赘述如何查看是否支持Boot和Boot参数配置


Mandatory Boot有两种方式可以启动,一种是在eMMC上电之后,不发送任何命令,直接拉低CMD信号线,过最多1秒之后,eMMC就会开始发送Boot数据

另一种方式是在eMMC空闲的情况下,发送参数为0xF0F0F0F0的CMD0,这个命令代表让eMMC进入Pre Idle模式,即回到上电后没发送任何命令的状态,然后拉低CMD0

eMMC Mandatory Boot和Alternative Boot_第1张图片eMMC Mandatory Boot和Alternative Boot_第2张图片

发送0xF0F0F0F0的CMD0后拉低CMD0



Alternative Boot与Mandatory Boot还是有很大区别的,首先Alternative Boot需要4.4以上的协议版本才可以支持,其次他们进入Boot的方式也完全不一样

Alternative Boot可以在任何eMMC空闲的情况下进入,只需要发送参数为0xFFFFFFFA的CMD0命令,并且在发送完命令之后,不需要拉低CMD信号线,发送完命令等待最多一秒之后,eMMC就会开始传出Boot数据

eMMC Mandatory Boot和Alternative Boot_第3张图片


先发送0xF0F0F0F0,再发送0xFFFFFFFA,不拉低CMD也可以进入Boot(在前面不发送0xF0F0F0F0的CMD0也可以)


两个Boot模式的区别,首先是进入模式的操作,Mandatory Boot可以在不发送任何命令的情况下,上电直接拉低CMD来进入Boot,而Alternative必须要发送命令。第二个是结束Boot,Mandatory Boot只需要通过拉高CMD线即可停止发送,而Alternative必须再发送一个参数为0xF0F0F0F0或者0x00的CMD0来结束数据传输

你可能感兴趣的:(Boot,Boot,Boot,mandatory,alternative,emmc)