Do not get any data from SD CARD.

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
jems
Member++
Posts: 27
Joined: Tue Jun 25, 2019 1:23 pm

Do not get any data from SD CARD.

Post by jems »

Hello !!
The problem-related to the SD card read/write as per this library suggestion.
https://github.com/xcore/sc_sdcard

Mode for communication which I selected SDCardHostSPI.
I am using xCORE-200 Explorer Kit for this operation. Connection wire as per mentioned in SDCardHostSPI.xc file.
Also, I placed pull up resistor on the MISO pin. It is necessary or not which I am not sure.

MMC card adapter using for the place my SD CARD model number SanDisk Ultra 32GB Class 10.
Also, I resolved all the warning(not necessary) Still I did it.

When I run this program I got the error like,

Failed with rc=3.

I hope any one help to resolve my problem. Thank you.


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi. Received your private message.

1) post your full project and full output log from execution.

2) post your wiring diagram. What is the power rail for this sd-card?

3) post a picture of your sd-card

See limited but working reports in the forum for this topic.

Is the sd card formatted? To which format?
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi. The project and code is not supported by XMOS due to the age of the post but see if the attached document helps. I think you have assorted options including the use of a low cost external spi bus sd-card reader, etc. you could mate with the XMOS CPU.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

I think the best way to approach this is..

1) confirm you can replicate the results in the posted document

2) consider to source the low cost arduino and sd-card hardware setup shown here:

https://create.arduino.cc/projecthub/el ... ata-37f390

3) confirm that the arduino setup works for you. Then tweak the XMOS code to do the same.

4) a low cost spi bus sniffer from eBay , Amazon, etc. will be helpful here to confirm you can send and receive over the spi bus.
jems
Member++
Posts: 27
Joined: Tue Jun 25, 2019 1:23 pm

Post by jems »

Onces again thanks for reply me.
I am using stable version of 1.0.1 and my connection should be liked,

// Structure for the ports to access the SD Card
C M S M
s o c I
s l s
i k o
__________________
/ | | | | | | | | |
|| C D - + C - D |
| S I G 3 L G O |
| N . K N |
| D 3 D |
| V |
*/
static SDHostInterface SDif[] = /* LIST HERE THE PORTS USED FOR THE INTERFACES
cs, sclk, Mosi, miso */
{{XS1_CLKBLK_1, XS1_CLKBLK_2, XS1_PORT_1L, XS1_PORT_1I, XS1_PORT_1K, XS1_PORT_1J, 0, 0}}; // resources used for interface #0

So, I directly connect sd card to xmos pins no other hardware I am using for interface. Even I checked my sd card in arduino for interfacing.
Also, I am using the 14.0.1 xmos software for build this program.
As per pdf, XMOS SDCARD library - Version 1.3.0 required if possible then share my folder because I tried to find but I couldn't get it.
I hope you really help me.
Thank you.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Zip up your full project and post here for a review.

If you wish, you can use a cloud service like wetransfer and then post the url.

Post your makefile.

What is the value of SD_SPI_ENABLE?

It should be SD_SPI_ENABLE=1 in the makefile so that SPI mode (1 bit ports) is selected.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Also...from the github source code:

Code: Select all

typedef enum {
        RES_OK = 0,             /* 0: Successful */
        RES_ERROR,              /* 1: R/W Error */
        RES_WRPRT,              /* 2: Write Protected */
        RES_NOTRDY,             /* 3: Not Ready */
        RES_PARERR              /* 4: Invalid Parameter */
} DRESULT;
So rc=3 means, Not Ready.

Check your wiring. Check your voltage to the sd card.

Do you have a multimeter or scope or logic analyzer tool?

Use them to confirm that your spi port pins are actually working when you run this code.
Gvsdavr
New User
Posts: 2
Joined: Tue Dec 22, 2020 8:55 am

Post by Gvsdavr »

SD card? Are not all mobile hard drives now? I haven't used the SD card for a long time, and there is no portable hard drive.
jems
Member++
Posts: 27
Joined: Tue Jun 25, 2019 1:23 pm

Post by jems »

As per this link, I tried to get data through SD card still I do not get it.

https://tuck1s.blogspot.com/2015/08/xmo ... to-sd.html

My memory card should be this one,
mc80073.jpg
mc80073.jpg (7.29 KiB) Viewed 9614 times
mc80073.jpg
mc80073.jpg (7.29 KiB) Viewed 9614 times
I am using Sandisk Adapter,
71DDK-mxfUL._SL1028_.jpg
Sandisk Adapter
(209.37 KiB) Not downloaded yet
71DDK-mxfUL._SL1028_.jpg
Sandisk Adapter
(209.37 KiB) Not downloaded yet
Pin1 (CS ) ----> P1L
Pin2 (MOSI[DI]) ---> P1K
Pin3 (GND) ---> GND
Pin4 (3V) ---> 3V3
Pin5 (CLK) ---> P1I
Pin6 (GND) ---> GND
Pin7 (MISO[DO]) ---> P1J
Pin8 (NC) --->NC
Pin9 (NC) --->NC

I tried to place 10k pull up on pin2[MOSI] and pin7[MISO]. Still do not get any response.

I tested the same thing Arduino sd card module it works well.

In SDCardHostSPI.xc,

static SDHostInterface SDif[] = // LIST HERE THE PORTS USED FOR THE INTERFACES
// cs, sclk, Mosi, miso
{{XS1_CLKBLK_1, XS1_CLKBLK_2, XS1_PORT_1L, XS1_PORT_1I, XS1_PORT_1K, XS1_PORT_1J, 0, 0}}; // resources used for interface #0

changed as per defined output.

I hope anyone help me getting out this problem.
Last edited by jems on Fri Jan 08, 2021 6:07 am, edited 2 times in total.
jems
Member++
Posts: 27
Joined: Tue Jun 25, 2019 1:23 pm

Post by jems »

here the link for my code.

https://we.tl/t-18MXkYfgEo
Post Reply