2014-10-31 3 views
0

어떤 이유로 든 거의 모든 컴퓨터에서 작동하는 카드 Windows/Mac/Linux는 임베디드 보드에서 작동하지 않습니다. 설상가상으로 우리는 똑같은 카드를 가지고 있습니다. 나는 omap_hsmmc 드라이버 (커널 2.6.32)를 살펴보고 SPI 모드 등을 활성화하는 클럭 속도를 줄이는 등 다양한 변화를 시도했지만 운이 없었다.OMAP3의 기발한 SD 카드가 omap_hsmmc 드라이버입니까?

mmc0: clock 24000000Hz busmode 2 powermode 2 cs 0 Vdd 16 width 2 timing 2 
mmc0: host does not support reading read-only switch. assuming write-enable. 
mmc0: new high speed SDHC card at address 59b4 
mmcblk0: mmc0:59b4 SD 7.35 GiB 
mmcblk0: 
mmc0: starting CMD18 arg 00000000 flags 000000b5 
mmc0:  blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0 
mmc0:  CMD12 arg 00000000 flags 0000049d 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD18, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 1 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 2 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD12, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 3 
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000 
mmc0:  4096 bytes transferred: 0 
mmc0:  (CMD12): 0: 00000b00 00000000 00000000 00000000 
p1 p2 
mmci-omap-hs mmci-omap-hs.0: mmc_fclk: disabled 
mmci-omap-hs mmci-omap-hs.0: mmc_fclk: enabled 
mmci-omap-hs mmci-omap-hs.0: context was not lost 
mmc0: starting CMD18 arg 000234cb flags 000000b5 
mmc0:  blksz 512 blocks 2 flags 00000200 tsac 100 ms nsac 0 
mmc0:  CMD12 arg 00000000 flags 0000049d 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD18, argument 0x000234cb 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 1 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 2 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD12, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 3 

그리고 나쁜 카드 :

그것은 다중 블록 DMA 전송과 같은
mmc0: clock 24000000Hz busmode 2 powermode 2 cs 0 Vdd 16 width 2 timing 2 
mmc0: host does not support reading read-only switch. assuming write-enable. 
mmc0: new high speed SDHC card at address 59b4 
mmcblk0: mmc0:59b4 SD 7.35 GiB 
mmcblk0: 
mmc0: starting CMD18 arg 00000000 flags 000000b5 
mmc0:  blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0 
mmc0:  CMD12 arg 00000000 flags 0000049d 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD18, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 1 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 208002 
mmci-omap-hs mmci-omap-hs.0: MMC IRQ 0x208002 : TC ERRI DCRC 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD12, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 3 
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000 
mmc0:  0 bytes transferred: -84 
mmc0:  (CMD12): 0: 00000b00 00000000 00000000 00000000 
mmcblk0: retrying using single block read 
mmc0: starting CMD17 arg 00000000 flags 000000b5 
mmc0:  blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0 
mmci-omap-hs mmci-omap-hs.0: mmc0: CMD17, argument 0x00000000 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 1 
mmci-omap-hs mmci-omap-hs.0: IRQ Status is 208002 
mmci-omap-hs mmci-omap-hs.0: MMC IRQ 0x208002 : TC ERRI DCRC 
mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000 
mmc0:  0 bytes transferred: -84 

이 (CMD18)를 실패 그래서 여기

는 작업 카드에서 출력 (이전 명령이 동일)입니다 드라이버는 단일 블록 전송을 시도하지만 실패합니다.

내가 뭘보고 있어야합니까? 이 드라이버로 다른 것을 시도해 볼 수 있다면? 또한 "MMC IRQ 0x208002 : TC ERRI DCRC"의 의미는 무엇입니까?

답변

0

4 비트 데이터 모드에서 문제가 발생했습니다.