CMD7:主机发送该命令,选定该设备,使其切换到发送数据状态。 4.2.4 查看EXT_CSD扩展寄存器 CMD8:主机发送该命令,设备作为数据块发送其EXT_CSD寄存器的数据,设备将数据作为一个512字节的数据块发送。 4.2.5 修改EXT_CSD扩展寄存器的值 CMD6:主机发送该命令,用于切换工作模式,或者修改EXT_CSD寄存器。 CMD6,这个命令...
修改card->ext_csd的值。rev 5到6,现在eMMC 5.0可以作为eMMC 4.4工作。代码drivers/mmc/core/mmc.c: 而对于EMMC 5.0和EMMC5.1,修改内核以支持EMMC 5.0和5.1扩展CSD修订,如下所示: /drivers/mmc/core/mmc.c :if(card->ext_csd.rev >6) {//The '6' has to be replaced with '7' For EMMC5.0 ;The...
为了读取MMC卡的EXT内容,请参考以下步骤和代码片段。首先,确保您已获取到有效的MMC卡实例,并将其存储在变量 'card' 中。接着,定义一个函数,用于读取EXT CSD(配置状态数据)。在这个函数中,我们获取EXT CSD数组,并将其存储在 'ext_csd' 变量中。接着,将卡的EXT CSD修订版本设置为EXT CSD数...
对于mmc 可以参考JESD84-A441.pdf 注意对于大卡的mmc 是通过发送8号命令 来获取ext_csd 中的212到215位置来得到的 -S———– ———– static void sd_init(void) { int retries; u8 *resp; unsigned int cardaddr; / resp = mmc_cmd(2, 0, MSC_CMDAT_RESPONSE_R2, MSC_CMDAT_RESPONSE_R2); /...
cardtype = ext_csd[196] &0xf; err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING,1);if(err)returnerr;/* Now check to see that it worked */err =mmc_send_ext_csd(mmc, ext_csd);if(err)returnerr;/* No high-speed support */if(!ext_csd[185])return0;/* High...
CMD8的参数[31:0]位域可以是任意值(默认填写0),命令的类型为adtc,CMD8的命令缩写为SEND_EXT_CSD,命令响应为R1,命令功能为请求eMMC设备通过数据块的方式将它的EXT_CSD寄存器内容发送给Host。 CMD9 CMD9的命令类型,参数,响应类型,命令缩写和描述如下表所示: ...
4. mmc extcsd read: 通过该命令可以读取eMMC设备的扩展卡状态寄存器数据。 5. mmc erase: 该命令用于擦除存储设备的指定区域。可以指定擦除的位置和大小。 6. mmc write: 该命令用于将数据写入存储设备的指定位置。 7. mmc read: 该命令用于从存储设备的指定位置读取数据。
structmmc_ext_csdext_csd;/* mmc v4 extended card specific */ structsd_scrscr;//附加SD信息 structsd_ssrssr;/* yet more SD information */ structsd_switch_capssw_caps;/* switch (CMD6) caps */ structsd_ext_regext_power;/* SD extension reg for PM */ ...
mmc_set_bus_mode(host, MMC_BUSMODE_PUSHPULL); // 设置总线模式为MMC_BUSMODE_PUSHPULL } /* 从card的csd寄存器以及ext_csd寄存器获取信息并设置到mmc_card的相应成员中 */ if (!oldcard) { /* * Fetch CSD from card. */ err = mmc_send_csd(card, card->raw_csd); // 发送CMD9指令,MMC_...
mmc_decode_ext_csd(card, ext_csd) //mmc/core/mmc.c mmc_select_card_type(card); //mmc/core/mmc.c 根据caps的速度模式和extcsd读出的数据确定类型 读写erase_size(依赖于CID和Extended CSD) //切换分区 mmc_switch(card, ..., EXT_CSD_PART_CONFIG, ...) //CMD6 mmc/core/mmc_ops....