SPI Interface for MicroSD Card

Hello,

I am attempting to mount and write to a microSD card via SPI. I am using the Fat_fs example found under "zephyr/samples/subsys/fs/fat_fs" and I am getting an error code of -5 during disk initialization. 

When I run the same code without the card inserted, I get the exact same behavior. So it almost seems like the driver isn't detecting the card at all. I have check that the sd card is FAT formatted and is working on my computer.

Also when using a logic analyzer, I can see that the MISO, MOSI, CS, and SCK signals appear to be working. However, pretty much all responses from the card (such as the CSD) return empty with all zeros. 

Below is the dts, config, and some notes about the board.

* MISO is tied high by an external resistor. 

Thanks in advance for the help

Parents Reply
  • Hi Jørgen, here is the board and fat_fs files. 

    This is a custom board I am developing. The module we are using is Fantsel's  BM833, which is built on the nrf52833 SOC.

    This module features an external clock which we had to configure in the proj.config file, just as an additional note.

    It seems to me like the SPI is working since the fat_fs that was built on the 2.0.2 SDK was able to read basic info from the card (memory size, format, etc), but just failed on the mounting step.

    For some reason when I upgraded to 2.1.0 however, it wasn't able to even read the chip at all.

    Because I was able to read the chip, I'm hoping its not a hardware issue. 

     

    microflow.zip

Children
No Data
Related