Hallo Ulf,
wir haben die LPC2000 gemessen und kommen dabei auf folgende Werte mit
Peripherals clocked:
60 MHz von SRAM ca 40 mA in ARM mode
60 MHz von Flash ca 33 mA in ARM mode
Weil die LPCs ein 128-bit breites interface zum Flash haben sind die im
ARM mode spuerbar schneller als SAM7S allerdings ist es im Thumbmode,
der 20-30% weniger Performance bringt ziemlich genau gleich weil da das
32-bit breite Interface von Atmel genuegt.
Fuer Spitzengeschwindigkeit aus Flash ist der LPC ganz klar schneller,
aus dem SRAM bekommst du schlicht und ergreifend den Unterschied in
MHz.
Ach ja, ein Unterschied zwischen Flash LPC @ 60 MHz und Atmel SAM7S @
55 MHz vom SRAM existiert praktisch nicht +/- 2% performance gemessen.
Allerdings gibt es einen gewaltigen Unterschied zwischen Atmel Flash
und Philips Flash wenn im schnelleren ARM mode gearbeitet wird.
Unterschied zwischen ARM Mode und Thumb Mode:
Es benoetigt ca. 7 Thumb Befehle um dieselbe Funktion auszufuehren wie
5 ARM Befehle. Das bedeutet, 5 ARM Befehle = 20 Bytes, 7 Thumb Befehle
14 Bytes, also eine Code Optimierung von 30%. Das sind so die Zahlen
die allgemein auftauchen. Dann heisst es immer, dass Thumb Mode nur
minimale Performance Einbussen hat. Na ja, so kann man das nicht sagen,
es braucht aehnlich viele Zyklen in der CPU einen Thumb Befehl
abzuarbeiten wie einen ARM Befehl aber die CPU muss 2 Befehle mehr
abarbeiten im Thumb mode.
Der langen Rede kurzer Sinn, was im Thumb mode an Code Groesse gespart
wird geht an Geschwindigkeit verloren.
Trotzdem macht es Sinn den Thumb Mode fuer den groessten Teil des Codes
zu benutzen weil normalerweisse 90% oder mehr nicht kritisch ist in
Bezug auf Geschwindigkeit.
Fuer Deine Anforderung wuerde ich als empfehlen im ARM Mode zu
arbeiten.
Angenommen, 20 MHz sind schnell genug, dann spielen die
unterschiedliche Flashs sowieso keine Rolle, Du solltest so zwischen
12-15 mA bei SAM7 oder LPC2000 bekommen. Die Unterschiede zeigen sich
erst wenn es schnell wird (>30 MHz).
Gruss, Robert