www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Code-Dichte von ARM7 vs AVR


Autor: Thomas Pototschnig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mittlerweile kann ich ungefähr einschätzen, wieviel Code (per GCC
compiliert) man in einen AVR mit z.B. 16kb Flash reinkriegt.

Gibt es sowas wie einen Faktor, mit dem man ungefähr abschätzen kann,
wieviel Flash man in einem ARM benötigt, damit man ungefähr gleich
viele C-Befehle erreicht?

Ich weiß schon - ist eine merkwürdige Frage. Aber ich hab keinen
Anhaltspunkt ob mir jetzt ein SAM7S32 reicht oder ich gleich einen
SAM7S256 benötige ...

Mfg
Thomas Pototschnig

Autor: Freak5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe etwas gesucht. Von der Leistung hören sich die Teile ja recht
fett an. 94I/O und 50Mips sind fast 3mal Mehr, als man bei einem
kleinen ATmega hat und damit kann man sicher schon etwas
Datenverarbeitung hinbekommen und zwischen Festplatten kopieren usw.
Besonders integrierte USB2.0 Funktionen hören sich cool an.

Woher bekommt man die aber? Wie teuer sind solche coolen chips, die
auch wirklich Leistung haben als Grafikkarte zu fungieren und wo man
nicht wie bei einem Atmel höchste Geschwindigkeitsprobleme hat?

Autor: Freak5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abo vergessen ;-)

Autor: Thomas Pototschnig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ööh ... das war jetzt aber nicht wirklich eine Antwort auf meine Frage
^^

Egal - dann versuch ich mal deine Fragen zu beantworten:
>Woher bekommt man die aber?
>Wie teuer sind solche coolen chips, die [...]
Die dürfte es in der Zukunft vermutlich überall dort geben, wo es auch
die AVRs gibt. Der SAM7S werden übrigens auch von ATMEL hergestellt.
Das Interessante ist, dass die auf den 8Bit-Markt abzielen. Ich hatte
mal ein Angebot eingeholt, bei dem der SAM7S64 nur ca. 3,50EUR gekostet
hätte bei einer Abnahme von 5 Stück.

>[...] auch wirklich Leistung haben als Grafikkarte zu fungieren und wo
man
>nicht wie bei einem Atmel höchste Geschwindigkeitsprobleme hat?

Dafür gibt es wieder neue Anwendungsbereiche, bei denen man wieder
sofort Geschwindigkeitsprobleme hat. Ich denke da an Audio und Video
Applikationen.

Als Grafikkarte würde ich einen ARM7 auch nicht benutzen - sowas macht
man doch mit FPGAs (siehe meine Seite:
http://www.oxed.de/index.php?open=2&sub=3&side=pal...)

So im Großen und Ganzen sind die ARM7 schon wirklich sehr nett und
gerade die SAM7-Familie von Atmel hat wirklich brauchbare Peripherie
drin. Support von GCC ist natürlich selbstverständlich. Programmiert
werde die über UART oder USB. Dazu haben die einen Bootloader schon
dabei ... usw ...

Mfg
Thomas Pototschnig

Autor: SuperUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessante Frage (der Vergleich der Code-Groesse)

Da für beide frei GCC existieren, sollte das recht "einfach" zu
untersuchen sein. Interessant ist dann auch, den ARM und Thumb mode mit
zu betrachten....

abo

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das dürfte stark von der Applikation abhängen. Bei viel 32 Bit
Arithmetik dürfte der ARM-Code sogar kleiner sein als der des AVR. Bei
16 Bit würde ich den ARM etwas im Nachteil sehen bei reiner 8 Bit
Rechnerei mit viel Stringverarbeitung würde ich den AVR deutlich vorne
sehen.

Matthias

Autor: Bjoern Mueller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zur verfuegbarkeit: ich werde meine bei csd bestellen...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleine Programme, die sehr dicht an den I/O-Registern hängen, dürften
beim ARM tendenziell deutlich grösser ausfallen. Allein schon aufgrund
der häufigen 32bit-Adressen der I/O-Register, gegenüber vielen
6-Bit-Adressen beim AVR. Die grössere Wortbreite bringt da nur selten
einen Vorteil.

Und der ARM will initialisiert werden. Einiges davon wird beim AVR
schon durch Fuses festgelegt, z.B. die Taktung, beim ARM durch Programm
(wer mal beim M32c reingeschmeckt hat, der kennt das schon). Allein der
Startup- und Verwaltungskram für Taktung, Speichersteuerung, Thumb-Mode
Interrupt Dispatch usw, kann durchaus auf 500-1000 Bytes kommen.

Wer also partout einen 2K-Tiny2313 durch einen ARM ersetzen will, der
wird kaum unter 8K glücklich werden.

Anders dürfte es aussehen, wenn man ein 50-100KB AVR-Programm portiert.
In dem der meiste Code nicht direkt I/O nutzt, sondern wenige
I/O-Routinen nutzt. Und man erhebliche Mengen Daten im ROM hat - die
sich beim AVR nur umständlich verwenden lassen (erst recht beim GCC).
Da wäre ich nicht erstaunt, wenn der Grössenunterschied bei Thumb-Code
eher gering ausfällt.

Autor: Freak5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@thomas: Danke. Ich habe hier schon einen FPGA herumliegen, aber bis ich
etwas sinnvolles damit machen werde ist es noch besser als mein TV- test
AVR mit 256 Farben. Wobei das mit 32 Bit schon wieder so ist, dass ich
da wieder shiften müsste, es sei denn, ich mache Farbwerte...
Wenigstens für kleine SW-Displays kann man mit so viel Power viel mehr
machen. Da stört das >4* mehr Shiften sicher auch nicht so viel man hat
ja auch viel mehr Power :-)

Ich denke so wie so eher an andere Dinge.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.