kernel-host_test

本文详细介绍了Linux内核中SD卡驱动的测试方法,包括如何配置内核支持测试功能、如何进行具体的测试步骤以及如何解读测试结果。这些测试涵盖了基本读写操作、多块连续读写等场景。

开端

sd卡的驱动在kernel 中的/drivers/mmc/host,kernel 为mmc的驱动设计了一套testcase。标准容量的卡要进行35个测试。整个测试的返回有通过: OK 失败:false 和不支持usupport.这个测试设计的相当完备,从单block 到多block,连续页,随机页的都有,还有一些错误的testcase来测试驱动的健壮性。当进行完驱动的移植之后应该首先进行这个內建的测试,通过了在精心性能和可靠性测试。 测试的驱动需要依赖debugfs文件系统。

配置debug文件系统

file hacking->debug filesystem
file hacking->linux kernel dump test tool module

选择host_test

device drivers->mmc/sd/sdio card support->mmc host test driver

在板端运行:

挂载debug文件系统

 mount -t debugfs none /sys/kernel/debug \n

指定test的设备

echo mmc:b368 >/sys/bus/mmc/drivers/mmcblk/unbind \n
echo mmc0:b368 >/sys/bus/mmc/drivers/mmc_test/bind \n

开启测试

echo 0 >/sys/kernel/debug/mmc0/mmc0/\b:368/test \n

运行结果:

` 17:13:20[ 168.747430] mmc1: Starting tests of card mmc1:1234...

17:13:20[ 168.749621] mmc1: Test case 1. Basic write (no data verification)...

17:13:20[ 168.799306] mmc1: Result: OK

17:13:20[ 168.799350] mmc1: Test case 2. Basic read (no data verification)...

17:13:20[ 168.806214] mmc1: Result: OK

17:13:20[ 168.808311] mmc1: Test case 3. Basic write (with data verification)...

17:13:20[ 168.961830] mmc1: Result: OK

17:13:20[ 169.057921] mmc1: Test case 4. Basic read (with data verification)...

17:13:20[ 169.157578] mmc1: Result: OK

17:13:20[ 169.261899] mmc1: Test case 5. Multi-block write...

17:13:20[ 169.372623] mmc1: Result: OK

17:13:21[ 169.445194] mmc1: Test case 6. Multi-block read...

17:13:21[ 169.549062] mmc1: Result: OK

17:13:21[ 169.658536] mmc1: Test case 7. Power of two block writes...

17:13:21[ 169.755747] mmc1: Result: UNSUPPORTED (by card)

17:13:21[ 169.853020] mmc1: Test case 8. Power of two block reads...

17:13:21[ 169.936878] mmc1: Result: UNSUPPORTED (by card)

17:13:21[ 170.032919] mmc1: Test case 9. Weird sized block writes...

17:13:21[ 170.129968] mmc1: Result: UNSUPPORTED (by card)

17:13:21[ 170.294625] mmc1: Test case 10. Weird sized block reads...

17:13:21[ 170.400823] mmc1: Result: UNSUPPORTED (by card)

17:13:22[ 170.474103] mmc1: Test case 11. Badly aligned writ e... 17:13:22[ 170.574804] mmc1: Result: FAILED

17:13:22[ 170.670796] mmc1: Test case 12. Badly aligned read...

17:13:22[ 170.777936] mmc1: Result: FAILED

17:13:22[ 170.873225] mmc1: Test case 13. Badly aligned multi-block write...

17:13:22[ 170.962525] mmc1: Result: FAILED...

结果说明

结果分为三类
UNsupported(by card) 测试用的sd卡不支持,比如<2G 不支持max block
FAILED 测试失败,需要去分析的,有几个错误不用担心,这只是测驱动的,重要的是保证功能测试。
OK 测试通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值