Hi Peter and others,
On Sat, Feb 18, 2012 at 08:18:33PM +0100, Peter Stuge wrote:
I note that all data to be transmitted is copied byte for byte from the rctx data buffer into the USB peripheral memory. I had expected zero copy. During copying, interrupts are disabled.
Basically the USB "framework" would need to be rewritten specifically for zero copy operation, if the hardware actually allows that.
unfortunately the old USB peripheral in the sam7s does not have DMA, you have to use FIFO / MMIO to put the data onto USB. It's really sad, almost all other peripherals can do DMA, but not the USB device controller.
I'd love to investigate this further, but I don't have the time right now, sorry :/