ARM Technical Support Knowledge Articles

DMA FAILS ON SD/MMC INTERFACE

Applies to: MCB2300 Evaluation Board

Answer


Information in this article applies to:


QUESTION

I have problems to implement an SD/MMC interface using the MCI protocol. I have used the driver files from the Real-Time Library for the LPC2368 or LPC2378 device. The code initializes the MMC/SD card and calculates the available memory, but any data read/write fails. It looks like a problem with the DMA.

Is there a known issue?

ANSWER

The DMA transfer only works to the USB RAM. Therefore it is required that you explicitly specify the memory region for the MMC buffers so that they are located to this specific memory space.

The following steps explain the configuration in µVision:

  1. Ensure that the USB RAM space is correctly specified in IRAM2 under Project — Options — Target — IRAM2
      Start: 0x7FD00000, Size: 0x2000
    .
  2. In the Project Workspace, right click with the mouse on the file RTLFS.lib (implements the data transfer buffers) and open the Options — Properties dialog.
  3. For the Zero Initialized Data select IRAM2 so that all data transfer buffers are located to this memory space.

This configuration ensures that the DMA transfer buffers are located to USB RAM.

MORE INFORMATION

SEE ALSO

ATTACHED FILES

Request the files attached to this knowledgebase article.

Article last edited on: 2007-09-24 03:59:12

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential