[Tremor] Performance on ARM7TDMI / Tremolo

Nicholas Vinen hb at x256.org
Sat Dec 6 05:41:19 PST 2008


Hi,

I finally managed to get Tremor running in real time on my poor little
AT91SAM7S. It's only just better than real time, ideally I'd like to get
it so I have about 10% free CPU time to do other things (read off flash,
manage audio output, update screen, etc.)

The key to my success so far has been inserting bits of "Tremolo", which
I just found out about. Not all the Tremolo assembly seems to actually
help performance, but much of it does. I haven't finished integrating it
all - I had trouble with some of it. As far as I can tell, the output is
still correct, but I'll have to do more testing to be sure. I also
overclocked the CPU somewhat. It's rated for 55MHz core/30MHz flash and
I have it running at 70.8MHz core/35.4MHz flash. So far there are no
sign of glitches. I'll try to get it to run at real time at stock speed
but I doubt it's possible without major changes (e.g. the FFT method
discussed earlier).

I'll continue to tweak it and add in the assembly code. If I can exceed
the goal of 90% CPU time, that will let me reduce the overclocking. This
chip is rated conservatively though - the 55MHz figure is for a worst
case VCCcore of 1.65V and I'm fairly sure mine is not going to go below
1.8V. I'll probably eventually install a 1.875V regulator for even more
overhead. Plus I doubt it's going to get terribly hot.

Thanks to all for your help and if you have more ideas of how I can
optimize it please let me know. If I make significant progress with the
tweaking I will report back and I will make source code available once
it's all working in case others are interested.


Nicholas



More information about the Tremor mailing list