[En-Nut-Discussion] [Bulk] Re: Nut OS reliable on AT91SAM7X Evaluation Board?

Ulrich Prinz uprinz2 at netscape.net
Thu Nov 19 00:37:03 CET 2009


Hi!

Marcus Jansson schrieb:
> Ulrich Prinz wrote:
>>> Marcus Jansson schrieb:
>>>> I'd like to implement PDC/DMA for the network and the SPI channels. 
>>> This can be done, the SPI seem to have a long list of errata associated with the PDC, though.
>>>
>> Yes, I saw it and I don't like it :) But what should I do, I'd like to 
>> get out optimal performance...
> 
> All I see is an opportunity clever workarounds.

Yea, read the part today and was not so upset as I feared. There are 
only a few erratas about SPI and PDC and mostly problems with CS1 or 
different timing setups ( SPI timer and CPOL). In my system, CS1 is not 
used for any device and CPOL is the same for all devices. So there 
should be no problem. It is some more work to detect these situations 
that possibly crash in a general Nut/OS version. If you write an open 
source driver, it should be more comfortable... or have #warning or lots 
of comments...
> 
>>>> If supported, I'd like to implement it for a background memcpy too.
>>> I can not see how this can be done with the PDC ...hand optimized LDM/STM block copy ... existing
>>> slow memcpy()... increasing performance in internal RAM?
>>>
>> Yeah ... optimization ... CPU driven memcpy ... many different tasks... 
>> It's another strategy... DSP ... DMA ... modify the content ... chain 
>  > ... pipe ... totally different ... 12MBit ... polling mode No!...
> 
> Yes, that should be possible. I wasnt thinking out of the box.
> These pipes btwn ETH-unit and SPI are totally different.
> The CPU will mostly wait for DMA to be finished! Lots of power left for other
> things to do. Very good.

Yes if it works, it can be a great speed improvement. But it is 
difficult to implement in an 'intelligent' way, as Ole stated in this 
thread. Setting up 10 PDC registers doesn't make sense if you need to 
transfer to bytes only :)

Best regards, Ulrich


More information about the En-Nut-Discussion mailing list