I don't see any SD Card shields listed in the List of Supported shields document, however that hasn't been updated sine 1st January this year.
You can also check out the Getting Started document which has some details on compatibility with shields.
I will try to take a look at the data logger project and see if I can determine the source of the incompatibility.
As far as I know, the SD library for the Galileo is meant to work only with the built-in microSD card reader on Galileo board. There are a few reasons for this:
- The microSD reader lines are independent from the SPI/CS lines on the Galileo so when you manipulate the SD library, you won't see any thing on the ICPS/SPI lines
- Intel has modified the SD library for the Galileo to specifically use the Galileo's built-in microSD reader
If you want to use a separate Arduino compatible SD card reader, you'll need to write your own library for it. Also, be aware that there are some sever timing limitations with regards to the Galileo SPI data transfer. This is primarily caused by two things:
- Each time you cycle the SPI CS, you will take a 1-10 ms delay hit, depending on whether you use fast GPIO or not
- You can hold down the CS and transfer only up to 4096 bytes at a time so each time you send another 4096 bytes via the SPI, you will take small delay hit
The above limitations of the SPI library for the Galileo board plus the fact that you need to write your own library makes it very undesirable to use an external SD shield.
A few other things to bare in mind, if you choose to stick with your SD shield(s) and use it with other SPI peripherals. With the exception of the Seeedstudio v4 reader and MAYBE the Itead (I have not tested this board myself), you will run into issues due to the lack of a tri-state / Hi-Z buffer on MISO line (if I recall correctly). This means that an SD card's MISO output will interfere with other SPI peripherals that share an MISO line. Due to the nature of how SD cards are controlled via SPI, I would strongly discourage the sharing of SPI lines between and SD card and any other SPI device in general.
thx for this detailed information!
Isn't it a bit strange or even misleading, that Intel has the datalogger shield from Adafruit in the list of supported shields:
Rewriting the library is not possible for me, as this exceeds my skill level...