02、SD等存储设备驱动常用调试方法
一、简单读写测试
当SD卡被电脑识别后,系统会在/dev目录下生成一个叫mmcblk0的设备文件。因为对SD卡分区或格式化的步骤比较繁琐,容易操作失误,所以建议先用简单命令测试设备是否正常。
你可以先用echo和hexdump等命令做基本的读写测试。如果测试没问题再继续后续操作,这样能快速确认设备可用,避免在复杂步骤中遇到麻烦。
1.1、写入数据
要向SD卡设备写入数据,只需在终端输入以下命令: echo 'HelloWorld!' > /dev/mmcblk0
这个命令会直接将"HelloWorld!"文本写入到SD卡的设备路径中。
1.2、读出数据
使用hexdump命令查看SD卡(设备路径为/dev/mmcblk0)的数据,直接输入以下指令即可:
plaintext
hexdump -C -n 15 /dev/mmcblk0
1
读取SD卡开头的15字节数据:
二、查看当前系统支持文件系统
要查看Linux系统支持的文件系统类型,直接运行命令 cat /proc/filesystems
即可。该命令会列出所有当前可用的文件系统。
如上图可知,当前系统支持vfat
、ext2
、ext3
、ext4
等文件系统。
三、获取SD卡/eMMC基本信息
当需要查看设备(例如SD卡或eMMC)的信息时,系统会自动把这些信息保存成文件放在/sys文件夹里,你只需要用简单的命令就能快速查看这些信息。
- 查看设备文件详情
bash
ls -l /sys/block/mmcblk0
1
这个命令会列出设备mmcblk0
的所有可用信息文件及其属性。
- 查看设备容量
bash
cat /sys/block/mmcblk0/size
1
直接显示设备的总扇区数(每个扇区默认512字节,可用总容量 = 扇区数 × 512)。
- 查看已挂载的设备列表
bash
cat /proc/self/mounts
1
列出当前系统中所有已挂载的设备及挂载路径。
- 查看设备详细参数
进入设备信息目录后,可通过以下文件获取具体数据:
bash
cat /sys/block/mmcblk0/device/{cid, csd, date, fwrev, hwrev, manfid, name, oemid, serial, type, uevent}
1
cid
:设备IDcsd
:硬件配置信息serial
:设备序列号name
:设备型号其他文件包含生产日期、固件版本、厂商ID等信息。