eMMC的数据写入,也就是data input,即host把数据写入到eMMC端。
写入的方式有single write和multiple write两种,相关的command有CMD24/25/44/45/47。
接下来主要是讲解single write和multiple write的差异,涉及的command有CMD24和CMD25。
Single write主要用CMD24 (WRITE_BLOCK)。CMD24带的参数就是write的起始地址,数据大小由CSD[25:22]决定,一般是512bytes。下面是对应的protocol。
Multiple write主要用CMD25 (WRITE_MULTIPLE_BLOCK)。CMD25带的参数就是write的起始地址,数据大小由host决定。有两种方式决定数据大小:1、CMD25前用CMD23设定要write的block数量 2、write的过程中,用CMD12来进行中断,也可以知道此write的block数量。
1、CMD25前用CMD23设定要write的block数量,对应的protocol
2、write的过程中,用CMD12来进行中断,也可以知道此write的block数量,对应的protocol
注