Improved version of the default benchmark module (for current trunk).
I have rewritten all memory benchmark code to make it compiler independent as much as possible. The most critical parts are now in asm.
I have also added measurement of CPU speed (kind of BogoMips) and CHDK character drawing speed. The latter can be useful when trying to optimize drawing routines.
I've made it possible to skip the SD card benchmarks (shutter half press starts this mode, not indicated on screen).
To my surprise, it turned out that some DIGIC 4 cameras are clocked higher than others. I'm getting ~72 MIPS on my low end a3200 and a3400, but ~84 on my ixus115. The old ixus65 is ~36 MIPS. Decimals are truncated, so 72 MIPS cameras will display at most 71 MIPS.
Bugreports on the code are welcome. I'm planning to add the improvements to trunk (before the inclusion of DIGIC 6 support). This code is not final.
Source
and arm-elf module for current trunk (r3924) attached.
The latter will probably become incompatible shortly.