lpcware

MMC Interface 4GByte support limit

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 18, 2016 by lpcware
Content originally posted in LPCWare by fweller on Tue Mar 01 12:12:12 MST 2016
We are trying to implement SD Cards with densities up to 32GByte (SDHC) but so far have seen a 4GByte maximum limit on what the MMC can support.

We are using the LPC43xx LPCOpen project usbd_rom_msc_ram
Documentation: http://docs.lpcware.com/usbromlib/v1.0/struct_u_s_b_d___m_s_c___i_n_i_t___p_a_r_a_m___t.html#details

It seems the original documentation on the MSC ROM API uses USBD_MSC_INIT_PARAM_T : MemorySize which is 32bits. This would limit the full support size to 4GB. However, looking at the current header file USDB_MSCUSER.H in the LPC_CHIP_43XX LPCOpen library (V2_12), I see at the end of the structure uint64_t MemorySize64; we assume this has been added so to support memory devices larger the 4GB. However we have found no documentation to support this member nor an example that uses it.

We are asking for clarification on how to support SD Cards with densities >4GBytes.
Should the MemorySize parameter be defined as 0 and then set the MemorySize64 to the actual size?
Are there any other initialization required?

Outcomes