在调试mass storage例程识别各种卡的时候,发现识别sdhc的卡,很慢(接近十几秒)。利用bus hound抓取其枚举过程,发现普通卡和sdhc卡的区别在于
sdhc卡,主机发送了接近6-8秒的read命令。之前看资料说是只需要读取0扇区的512字节,为什么需要读取这么久,
如下是其中一部分数据;等到读完之后,即是TEST_UNIT_READY
33.1 IN 00 00 00 00 00 00 00 00 ........ 4.1ms 1.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.9ms 2.1.0
34 CMD 28 00 00 00 17 30 00 00 READ 67us 3.1.0
33.2 OUT 55 53 42 43 70 58 98 89 USBCpX.. 1.9ms 4.1.0
33.1 IN 00 00 00 00 00 00 00 00 ........ 11ms 5.1.0
34 CMD 00 00 00 00 00 00 TEST UNIT READY 378us 6.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.6ms 7.1.0
34 IN 00 00 00 00 00 00 00 00 ........ 45us 3.2.0
34 CMD 28 00 00 00 17 38 00 00 READ 215us 8.1.0
33.2 OUT 55 53 42 43 08 c0 63 89 USBC..c. 1.7ms 9.1.0
33.1 IN 55 53 42 53 08 c0 63 89 USBS..c. 2.0ms 10.1.0
34 ok 41us 6.2.0
33.2 OUT 55 53 42 43 70 58 98 89 USBCpX.. 1.9ms 11.1.0
33.1 IN 00 00 00 00 00 00 00 00 ........ 11ms 12.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.9ms 13.1.0
34 IN 00 00 00 00 00 00 00 00 ........ 10us 8.2.0
34 CMD 28 00 00 00 17 40 00 00 READ 70us 14.1.0
33.2 OUT 55 53 42 43 70 58 98 89 USBCpX.. 1.9ms 15.1.0
33.1 IN 00 00 00 00 00 00 00 00 ........ 11ms 16.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.9ms 17.1.0
34 IN 00 00 00 00 00 00 00 00 ........ 8us 14.2.0
34 CMD 28 00 00 00 17 48 00 00 READ 63us 18.1.0
33.2 OUT 55 53 42 43 70 58 98 89 USBCpX.. 1.9ms 19.1.0
33.1 IN 00 00 00 00 00 00 00 00 ........ 11ms 20.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.9ms 21.1.0
34 IN 00 00 00 00 00 00 00 00 ........ 7us 18.2.0
34 CMD 28 00 00 00 17 50 00 00 READ 58us 22.1.0
33.2 OUT 55 53 42 43 70 58 98 89 USBCpX.. 1.9ms 23.1.0
33.1 IN 00 00 00 00 00 00 00 00 ........ 11ms 24.1.0
33.1 IN 55 53 42 53 70 58 98 89 USBSpX.. 1.9ms 25.1.0
34 IN 00 00 00 00 00 00 00 00 ........ 7us 22.2.0
34 CMD 28 00 00 00 17 58 00 00 READ 54us 26.1.0 |