Forum: Mikrocontroller und Digitale Elektronik Tabelle: welcher AVR welche Befehle?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Philipp Sªsse (Gast)


Lesenswert?

Hallo,

das Subject sagt es schon: kennt jemand eine Übersicht, welcher AVR
welche Befehle unterstützt; es ist doch sehr lästig, sich erst durch
alle Datenblätter wühlen zu müssen. Insbesondere ohne "LPM rd, Z+"
mag ich nicht mehr leben, finde aber keine Systematik, welche den
haben. Auch ADIW und MOVW sind hilfreiche Kommandos, deren
Unterstützung ich durchaus in die Entscheidung für einen bestimmten Typ
einbeziehen würde, wenn ich denn nur die Verfügbarkeit auf einen Blick
sehen könnte. Weder hier noch bei Atmel bin ich fündig geworden.

Hat jemand etwas für mich?

(Falls nicht und ich selbst etwas zusammenstelle: interessiert das
sonst noch wen ... soll ich das veröffentlichen?)

: Gesperrt durch Moderator
von Thorsten (Gast)


Lesenswert?

Eine solche Übersicht ist im AVR Studio integriert. Da sind alle
Prozessoren mit ihren jeweiligen Befehlen aufgeführt.
AVR Studio->Help->AVR Tools User Guide->AVR Assembler->Parts

von Philipp Sªsse (Gast)


Lesenswert?

Hm, da haben wir uns wohl falsch verstanden. Da finde ich auch wieder
nur die Tabelle mit allen Befehlen pro Prozessor. Ich brauche aber eine
in der Art:

           LPM Rd,Z/Z+   ADIW   MOVW
ATtiny12    +   -   -     -      -
ATtiny13    +   +   +     +      +
ATtiny26    +   +   -     +      -
AT90S2313   +   -   -     +      -
ATmega8     +   +   +     +      +


usw. Es geht nicht um "Typ ist gegeben, was kann ich damit tun",
sondern "Befehl wird gebraucht, wer kann es".

(Trotzdem natürlich danke)

von Bernd (Gast)


Lesenswert?

Hi Philipp,

mich würde so eine Tabelle auch INteressieren.

Gruß Bernd

von thkais (Gast)


Lesenswert?

Das wäre doch etwas fürs Wiki ?!

von Johannes M. Richter (Gast)


Angehängte Dateien:

Lesenswert?

Meint Ihr sowas (angehaengt)?
Habe gerade erst damit angefangen, deshalb bisher nur der ATmega8 :)
Wenn Interesse besteht mach ich gern ein bissl weiter, ev. koennte man
sich das ja auch aufteilen, dass jeder ein Device macht und irgendwer
fuegt's zusammen.
Ich mach mich jetzt einmal ueber den AT90S8515 her.
Gruesse,
j.

von Malte Marwedel (Gast)


Lesenswert?

@Johannes
Ja, ich denke dass Philip genau sowas sucht. Allerdings fäde ich eine
solche Tabelle in der Wiki besser aufgehoben (wie thakis bereits
erwähnte) als in einer Excel Datei.
Interressant fände ich so eine Tabelle definitiv, auch wenn ich nur C
schreibe und mich somit nicht sonderlich um die Assembler Befehle
kümmern muss.

von Johannes M. Richter (Gast)


Lesenswert?

Naja, ich find fuer sowas Excel besser, weil das einfach was ist, was
nach einer Tabelle schreit. Und ich kenn mich mit Tabellen in Wiki
nicht aus, abgesehen davon, dass es sicher noch langsamer ginge.

Ggf. kann man aus der Excel-Tabelle ja was exportieren mit einem
Script. Ich mach sie inzwischen einmal weiter.

von thkais (Gast)


Lesenswert?

Wiki hat den Vorteil, daß Jedermann einen Beitrag dazu leisten kann.

Excel hat den entscheidenden Nachteil, daß es ein Programm von
Microsoft ist: Es bläht Daten bis zu Unkennlichkeit auf. Beispiel: 51
KB Rohdaten (eine simple Adressdatei sollte mit Lieferungen verknüpft
werden) wurden zum Schluß 11,6 MB groß...

Tabellen? Kein Problem:
http://www.mikrocontroller.net/wiki/Uc-wiki:Wie_man_eine_Seite_bearbeitet

http://de.wikipedia.org/wiki/Wikipedia:Tabellen

von Johannes M. Richter (Gast)


Lesenswert?

Mag sein, ich mach inzwischen trotzdem an der Excel-Liste weiter. Ich
vermute stark - und diese Vermutung bestaetigt sich nach Durchsicht der
von Dir verlinkten Seite (vielen Dank dafuer) - dass das Wiki-Zeugs eine
Markup-Sprache ist wie im Prinzip HTML auch. Und um eine Tabelle in HTML
zu erzeugen und mit Daten zu fuellen brauch ich einfach ein vielfaches
der Zeit, die ich benoetige, um die Daten schnell in Excel
einzuklopfen.

Und per ODBC kann man aus der Excel-Tabelle ja jederzeit auch was
anderes machen.

von Johannes M. Richter (Gast)


Angehängte Dateien:

Lesenswert?

So, momentan sind glaub ich 10 AVRs drin. Wenn's wer mag, bitte sehr,
viel Spass damit, wenn nicht macht's mir auch nix, hab die Zeit.
Gruss,
j.

von Malte Marwedel (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab mal den Tiny26 und den 90S2313 hinzugefügt.

von OldBug (Gast)


Lesenswert?


von Johannes M. Richter (Gast)


Lesenswert?

Oh, huebsch :) Wie hast Du das gemacht, wenn ich fragen darf?

von thkais (Gast)


Lesenswert?

Cool - das isses....
Aber die Sache mit den 5 Minuten interessiert mich auch. Gibts einen
Tabellengenerator fürs Wiki? Habe ich etwas verpaßt?

von Christof Krüger (Gast)


Lesenswert?

OldBug hat eine Basisversion reingestellt, ich habe die noch etwas
farblich "verschönert". Dafür habe ich mir ein Script geschrieben,
siehe auch die "Diskussion" zu dem Artikel (Auf der Wiki-Seite ist
oben ein Link "Diskussion").

von Johannes M. Richter (Gast)


Lesenswert?

Gerade gelesen, danke.

Fein gemacht, ist schoen geworden! :)

Gruss.

von Ingo Henze (Gast)


Lesenswert?

Sehr nett, jetzt fehlt nur noch die Angabe der möglichen Optionen für
die Speichertransfer-Befehle (darauf kam es Philipp wohl besonders
an).

Also wird z.B. bei LPM ausschließlich das mit Z adressierte Byte ins
Register R0 geschrieben (Tiny11/12) oder kann ich hier auch andere
Adress- und Zielregister angeben, möglicherweise mit Autoincrement
(z.B. Tiny13).

Gruß
Ingo

von Christof Krüger (Gast)


Lesenswert?

Na wenn jemand die Daten zusammenstellt, lässt sich in einer Zelle
sicherlich mehr als nur ein grünes Bullet oder ein rotes Kreuz
einbringen.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Seit 2004 gibt es einige neue AVR-Derivate. Vielleicht hat ja jemand den 
Nerv, die Derivat/Instruktion-Kreuztabelle nachzupflegen.

Als verlässliche Quelle dürfen die binutils gelten, am einfachsten 
erzeugt man eine Kreuztabelle also, indem man ein paar C-Zeilen drumrum 
bastelt.

Zuordnung Derivat-Core:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-avr.c?rev=1.74&content-type=text/x-cvsweb-markup&cvsroot=src

Zuordnung Core-Instruktion:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/opcode/avr.h?rev=1.15&content-type=text/x-cvsweb-markup&cvsroot=src

Bei der Masse der AVRs bieten sich also 2 Tabellen an. Alles in eine zu 
stopfen macht die Tabelle viel zu groß... und was die Instruktionen 
angeht: ohne den ganzen Syntax-Zucker, (CLR, TST, LSL, BRCC, BRSH...) 
wird die Tabelle auch schön übersichtlich :-)

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Lesenswert?

Über sechs Jahre. Respekt!

Wie hier mit Threadleichen umzugehen ist, wurde bereits ausführlich 
diskutiert: Es ist nicht erwünscht.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.