Linux应用程序解码mmc ext csd

目前来自具有su访问权限的用户空间应用程序,我正在从debugfs文件系统解析ext_csd,将字符串转换为原始字节数据并将其传递到解码ext_csd函数以填充我自己编写的结构.

我想知道是否有更有效的方法来做到这一点,或更少出错?例如,有一个
内核路径drivers / mmc / core / mmc.c中的mmc_read_ext_csd()和mmc_decode_ext_csd()

有没有办法从用户应用程序使用此驱动程序功能?还是ioctl命令?我似乎无法找到任何针对mmcblk0的ioctl命令的API文档,仅在内核源代码kode /block/ioctl.c中找到

还有一种方法可以查看emmc是否是来自用户应用程序的高容量卡?

最佳答案 mmc-utils可以通过ioctl发出ext_csd读取并输出解析后的文本.

http://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git/

还有其他像这样可以解析从debugfs获得的十六进制字符串.很难说它是否比你自己的代码更可靠.
https://github.com/haoxingz/emmc5_register_reader

我不确定高容量检测.

点赞