Hi all,

I'm messing around with my PIC32/Explorer 16 setup, and I'm trying to
mount an SD card.  It seems as though the SD card is being detected
properly, but nuttx refuses to mount it.  The debug that I have
indicates that CMD9 is failing, but the command seems to work fine on
boot.  Any thoughts?

Output:

Successfully initialized SPI port 1
mmcsd_mediainitialize: Send CMD0
mmcsd_sendcmd: CMD0[00000000] R1=01
mmcsd_mediainitialize: Card is in IDLE state
mmcsd_mediainitialize: Send CMD8
mmcsd_sendcmd: CMD8[000001aa] R1=01 R7=000001aa
mmcsd_mediainitialize: 32768. Send CMD55/ACMD41
mmcsd_sendcmd: CMD55[00000000] R1=01
mmcsd_sendcmd: CMD41[40000000] R1=01
mmcsd_mediainitialize: 4295000064. Send CMD55/ACMD41
mmcsd_sendcmd: CMD55[00000000] R1=01
mmcsd_sendcmd: CMD41[40000000] R1=00
mmcsd_mediainitialize: Send CMD58
mmcsd_sendcmd: CMD58[00000000] R1=00 OCR=c0ff8000
mmcsd_mediainitialize: OCR: c0ff8000
mmcsd_mediainitialize: Identified SD ver2 card/with block access
mmcsd_mediainitialize: Get CSD
mmcsd_sendcmd: CMD9[00000000] R1=00
mmcsd_getcardinfo: 0. SPI send returned fe
mmcsd_dmpcsd: CSD
mmcsd_dmpcsd:   CSD_STRUCTURE:           1.1
mmcsd_dmpcsd:   TAAC:
mmcsd_dmpcsd:     TIME_VALUE:            0x01
mmcsd_dmpcsd:     TIME_UNIT:             0x06
mmcsd_dmpcsd:   NSAC:                    0x00
mmcsd_dmpcsd:   TRAN_SPEED:
mmcsd_dmpcsd:     TIME_VALUE:            0x06
mmcsd_dmpcsd:     RATE_UNIT:             0x02
mmcsd_dmpcsd:   CCC:                     0x5b5
mmcsd_dmpcsd:   READ_BL_LEN:             9
mmcsd_dmpcsd:   READ_BL_PARTIAL:         0
mmcsd_dmpcsd:   WRITE_BLK_MISALIGN:      0
mmcsd_dmpcsd:   READ_BLK_MISALIGN:       0
mmcsd_dmpcsd:   DSR_IMP:                 0
mmcsd_dmpcsd:   C_SIZE:                  15053
mmcsd_dmpcsd:   VDD_R_CURR_MIN:          7
mmcsd_dmpcsd:   VDD_R_CURR_MAX:          6
mmcsd_dmpcsd:   VDD_W_CURR_MIN:          7
mmcsd_dmpcsd:   VDD_W_CURR_MAX:          6
mmcsd_dmpcsd:   C_SIZE_MULT:             8
mmcsd_dmpcsd:   SD ER_BLK_EN:            1
mmcsd_dmpcsd:   SD SECTOR_SIZE:          127
mmcsd_dmpcsd:   SD WP_GRP_SIZE:          0
mmcsd_dmpcsd:   WP_GRP_EN:               0
mmcsd_dmpcsd:   R2W_FACTOR:              2
mmcsd_dmpcsd:   WRITE_BL_LEN:            9
mmcsd_dmpcsd:   WRITE_BL_PARTIAL:        0
mmcsd_dmpcsd:   FILE_FORMAT_GROUP:       0
mmcsd_dmpcsd:   COPY:                    0
mmcsd_dmpcsd:   PERM_WRITE_PROTECT:      0
mmcsd_dmpcsd:   TMP_WRITE_PROTECT:       0
mmcsd_dmpcsd:   FILE_FORMAT:             0
mmcsd_dmpcsd:   CRC:                     4b
mmcsd_decodecsd: SPI Frequency
mmcsd_decodecsd:   Maximum:         25000000 Hz
mmcsd_decodecsd:   Actual:          20000000 Hz
mmcsd_decodecsd: Read access time:  11 ticks
mmcsd_decodecsd: Write access time: 26 ticks
mmcsd_decodecsd: Sector size:       512
mmcsd_decodecsd: Number of sectors: 15415296
mmcsd_spislotinitialize: mmcsd_mediainitialize returned OK
spi1register
Successfully bound SPI port 1 to MMC/SD slot 0

NuttShell (NSH) NuttX-10.0.1
nsh>  mkdir foo
nsh>  mount -t vfat /dev/mmcsd0 /foo
find_blockdriver: pathname="/dev/mmcsd0"
mmcsd_open: Entry
mmcsd_sendcmd: CMD9[00000000] R1=7f
mmcsd_getcardinfo: ERROR: CMD9/10 failed: R1=7f
mmcsd_geometry: ERROR: mmcsd_getcsd returned -5
nx_mount: ERROR: Bind method failed: -19
nsh: mount: mount failed: 19

-Robert Middleton

Reply via email to