我引用了一篇文章:
Any way to send commands to SD card from Linux userspace?
并使用mmc-util的源将cmd发送到SD卡,有代码:
int cmd_test(int fd, __u8 *ext_csd)
{
int ret = 0;
struct mmc_ioc_cmd idata;
memset(&idata, 0, sizeof(idata));
memset(ext_csd, 0, sizeof(__u8) * 512);
idata.write_flag = 0;
idata.opcode = 17;
idata.arg = 0;
idata.flags = MMC_DATA_READ;
idata.blksz = 512;
idata.blocks = 1;
mmc_ioc_cmd_set_data(idata, ext_csd);
ret = ioctl(fd, MMC_IOC_CMD, &idata);
if (ret)
perror("ioctl");
return ret;
}
最后收到错误22:无效的参数。我尝试了另外的操作码,如10,56 ......,它最终导致同样的错误。 SD卡通过USB读卡器连接,是否会导致错误?或者有参数设置错误?
感谢。