Microcontroller – SDXC Card Reader with LPC1822

cinterfacemicrocontrollernxpsd

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

64 GB SDXC card, it gets enumerated and is displayed in the windows explorer as an unformatted SDHC card with 32 GB [...]

Check the USB Mass storage code. There might be another limit.

[...] simplified spec. And this does not say anything about SDXC

Download an updated copy from sdcard.org. Newer versions have infos about SDXC in them.

Related Topic