in my application I have an SD Card reader using the NXP LPC1822 microcontroller. It works very good with all SD- and SDHC-Cards I've tested so far. Only thing that does not work is SDXC.
I already contacted some Distributor and NXP FAEs about that problem, but all they could say was "We haven't tried SDXC on a microcontroller yet". So first question: Is there someone in the SE Universe which did that already? Doesn't matter if with NXP or others.
Some more informations about my application:
It is basically a "dumb" SD Card reader. I only tunnel requests coming from a windows 7 machine over USB (MassStorageDevice of LPCUSBLib) and SCSI to the SD Card Interface. Any data requested I tunnel back over USB to the host. So no FAT file system or any data handling on my controller. Just shovelling masses of bytes.
I use LPCOpen (heavily modified to get better performance) to talk to the SD Card interface. This works perfectly as already told.
When I plug in a 64 GB SDXC card, it gets enumerated and is displayed in the windows explorer as an unformatted SDHC card with 32 GB. If I format it, I get a normally usable 32GB SDHC Card out of it.
Next Question:
I am no member of the SD Association, so the only thing I have is the simplified spec. And this does not say anything about SDXC. Because of the behaviour stated above I wonder if there are some obscure status bit flags which identify a card to be sdxc? there is such a bit for sdhc, but I can not find anything about xc.
Best Answer
Check the USB Mass storage code. There might be another limit.
Download an updated copy from sdcard.org. Newer versions have infos about SDXC in them.