Re: Timing differences before / after starting scheduler

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

Which FIFO? The UART FIFO is 16 bytes, why 8 DWORDs? In the
case you mean 8 bytes (half a buffer), 8 bytes in 17 us means
3,75 Mbps. I don't know the LPC2378, but as far as I can see
the UART is considered a low-speed interface and is connected
to the APB. Maybe you are stretching the hardware a bit?

I'm guessing it is the SSP serial I/O controller. It has an 8-frame
FIFO for both RX and TX, and frames are 4-bit to 16-bit.

I'd also guess he is using it as a slave, with messages bigger than
8-frames, so has to read from the FIFO fast enough to make space for
the rest of the message. Using the DMA might be the solution...

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.

Before starting the scheduler, all this works perfectly. But as I said, after starting the scheduler the reading gets too slow.

What do you mean with I am stretching the hardware?

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

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

Add to Google Powered by Linux