Folks really need your help with this,
Basically I am attempting to write to a 16 GB sandisk microSD card. following the instructions in this link
http://zedboard.org/content/standalone-sd-card-sdio
Here's a brief of the setup:
h/w:
1) 16GB uSD (San disk), fat32 formatted, default allocation size. Zedboard
2) Vivado:
- zynqPS with SD0 and UART1 enabled. MIO 46-CD, 47-WP, and 38( power) is this necessary?, 'Fast speed' and pullups disabled (ON ALL PINS).
-None of the jumpers on my zedboard are set to boot from SD (i.e. J6 or JP7-JP11).
s/w:
Using Yaro's(from the link) C files with the xsdps drivers that it calls.
Here's my debug attempt so far- I basically stepped through the code and a status failure shows up from:
" XSdps_Get_BusWidth() "
stepping into this code I find that, an error flag is actually set in here:
if (StatusReg & XSDPS_INTR_ERR_MASK) {.....
StatusReg is being set just above this if() statement by reading from the XSDPS_NORM_INTR_STS_OFFSET and is being compared with XSDPS_INTR_ERR_MASK (x8000).
I'm wondering if the BlkCnt of 1 that is passed to the address XSdPs_BLK_SIZE_OFFSET is a problem. Because before this it's always been a value of 0.
.....
Thats about as far as I could get before really being at the end of understanding whats going on and how to fix it.
Please..any directions on how to further debug would be HUGELY appreciated.