I've just been browsing the manual for the Sam3x processor http://www.atmel.com/Images/doc11057.pdf
, and there's some interesting stuff in there, so I was wondering whether anyone has tried using direct memory manipulation, and (ideally) succeeded.
Of particular interest to me is that it looks like it's possible to set the ADC free of the processor - I'm looking at a real-time control application, so I don't want to be burning clock cycles while I wait for the ADC to power up, decide which channel to convert, etc.
Perhaps it is as simple as:
uint32_t * address;
address=0x....... // byte address to access
*address=0x.....// bytes to write there
in a c++ library? I'm reluctant to try it, because I'm used to PC programming.