目前来自具有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是否是来自用户应用的高容量卡?
答案 0 :(得分:2)
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
我不确定高容量检测。