Re: Timing differences before / after starting scheduler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

> It's the FIFO of the SD/MMC interface, which is 16 DWORDs long. I am
> polling for FIFO_HALF_FULL and then read out 8 DWORDs.
> I am running the interface with a 9MHz clock, so the data comes in
> with 36Mbps. The SD card always sends a complete block of 512 bytes,
> so I have to read the whole block within 114 us.

Humm, i thought SD/MMC was based on SPI and in this case you are SPI
master. So if the host gets behind, it should be able to just pause
the MCICLK until the host catches up?

Anyway, with 512 byte blocks, it makes more sense to use the DMA. I
don't know the DMA on the LPC devices, but often you can just say DMA
512 bytes and it will be triggered when the FIFO is 1/2 full. Also, if
you are worried about the complexity of interrupt handing, you should
be able to use the DMA in a polled mode.


Before posting, please read the FAQ:
and search the list archive:

[Index of Archives]     [Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Linux Resources]     [Photo]     [Yosemite]     [ISDN Cause Codes]     [eCos Home]

  Powered by Linux