6 Replies Latest reply on May 16, 2014 1:29 PM by Andreas1984

    SD Card Shields do not work on Intel Gallileo

    Andreas1984

      Hello,

       

      for performance tests, I want to move my project, which I have developed on the Arduino DUE to the Intel Gallileo...

       

      Well, the problem is now the SD-Shield...

       

      For some reasons the SD shield wont work on the Intel Gallileo. I have tested this with:

       

      a) Arduino Ethernet Shield

      b) seedstudio SD Card Shield v4.1

      c) seedstudio SD Card Shield v3.1

      d) SD Shield v2.0 itead studio

       

      I suspected the problem beeing a error in my sketch - but this is not the case...

       

      I tried it also with the sketch provieded from the Arduino community -> Arduino - Datalogger - this works fine at all Arduinos, but not on the Gallileo...

       

      I know the Gallileo has an onboard SD-Card slot, but for my project I really need to have a SD-Shield...

       

      I have also done a firmware update, but this did not help too...

       

      The SD functionality just do not want to work :-(

        • 1. Re: SD Card Shields do not work on Intel Gallileo
          SpiderKenny

          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.

          • 2. Re: SD Card Shields do not work on Intel Gallileo
            Andreas1984

            Hello,

             

            thx for your help!

             

            By the way, there is a SD-Card Shield in the list, it is the datalogger Shield from Adafruit...

             

            Even tough I am wondering, that the standard SD shields from Arduino are not supported...

            • 3. Re: SD Card Shields do not work on Intel Gallileo
              Andreas1984

              I have ordered the data logger shield, which Intel recommands, will see if this is working...

              • 4. Re: SD Card Shields do not work on Intel Gallileo
                BillyCW

                Hi Andreas,

                 

                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:

                1. 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
                2. 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:

                1. 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
                2. 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.

                • 5. Re: SD Card Shields do not work on Intel Gallileo
                  BillyCW

                  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.

                  • 6. Re: SD Card Shields do not work on Intel Gallileo
                    Andreas1984

                    Hello Billy,

                     

                    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:

                     

                    https://communities.intel.com/servlet/JiveServlet/previewBody/21855-102-5-25714/Galileo_ShieldsList_329715_002.pdf

                     

                    Rewriting the library is not possible for me, as this exceeds my skill level...