Hi Jorge, thanks for the reply.
We are getting closer to having a functional memory card. Your fix did allow the fsl_sdhc_driver to finish initializing. (I am going to insert a micro-rant here: Why doesn't the fsl_sdcard or the fsl_sdhc component configure the port to actually work?! Arghh!)
As I was saying, we are getting closer. When I add the following two lines before the while() loop in os_tasks.c . . .
printf("Block Size: %d\r\n", (uint16_t)memoryCard1_state.blockSize);
printf("Clock Speed: %d MHz, %d MHz max\r\n", (int)(memoryCard1_state.host->clock / 1000000), (int)(memoryCard1_state.host->maxClock / 1000000));
I get the following output. . .
Block Size: 0
Clock Speed: 0 MHz, 48 MHz max
I know the block size should be 512. I expect the clock speed to be something greater than 0MHz. So the driver has finished initializing; but, the card is unusable. I am using a FAT formatted 2GB Transcend microSD card. I'm confident the card is good because it works with some of the demo apps provided.
What should I try next?
- Audi
EDIT: I applied your fix to my custom board running a K64 with a real 1GB SD card on it, and it works. The card appears to be fully functional.