Hallo zusammen, ich bin auf der Suche nach Doku zu den opcodes, wie sie im gcc-as verwendet werden. Die unterscheiden sich ja von denen in der Doku von Atmel. (z.B. schreibe ich jetzt ldi 16, 0x05 oder ldi r16, 0x05). Allgemeine Doku/Einführung zum gcc-as wäre auch nicht verkehrt (z.B. wie werden jmp umgesetzt, etc...). Besten Dank, Scheintod
Hallo nochmal. Ganz vergessen zu sagen (vielleicht deshalb so wenig Antworten ;) dass es natürlich um den avr geht. Ich finde zwar Doku zu allen möglichen Assemblern für den AVR, leider aber extrem spärlich zum gcc-as. Vielleicht suche ich ja auch nur am falschen Ort? Das Projekt ist übrigens die Portierung der avr231 (aes-bootloader) vim iar auf den gcc. Führt mich nebenbei zu einer anderen Frage noch: Hat jemand Ahnung wie bei Atmel die Lizenzbedingungen für den code der application-notes aussehen? Habe da auf direkte Anfrage noch keine Antwort bekommen. Würde aber gerne die portierte AN auch anderen weitergeben (z.B. hier in der code-library). Besten Dank, Scheintod
Die Opcodes sind tatsächlich dieselben, aber die Direktiven unterscheiden sich, die sind aber in der GNU-Assembler Doku (siehe Anhang) recht gut beschrieben. Weiß allerdings nicht ob die auch für den gcc gelten.
Hi Mathias, Danke für das PDF. Mein letztes Assembler-Programm liegt schon 15 Jahre zurück (War damals für den Amiga). Von daher kann es schon sein, dass ich manches Missverstehe. Doku für den avr-gas zu finden ist tatsächlich nicht einfach. (Und ich suche schon eine ganze weile) Das PDF beinhaltet ja auch nichts für den avr. Was mich verwirrt ist z.B. eben, dass in der avr-assembler doku von atmel ein Register mit z.B. mit 'r15' angesprochen wird. In einem der wenigen avr-gas dokus z.B. hier: http://ftp.gnu.org/savannah/files/avr-libc/snapshots/doc/avr-libc-user-manual-dev/assembler.html das Register alleine mit '15' angesprochen wird. (Inzwischen habe ich wieder andere Beispiele gefunden, wo das r dann doch verwendet wird ... das verstehe mal einer) In Deiner Doku stand auch für diverse Prozessoren die 'optimierte' jmp Anweisung, die sich je nach Sprungweite die richtige assembler-Anweisung heraussucht. In den Beispielcode, die ich online gefunden habe, wird dagegen für solche Zwecke ein #define Makro verwendet. Daher kahm meine Vermutung, dass es tatsächlich Unterschiede gibt. Zumindest lässt er sich benutzen. Ich glaube ich werde mich mal an die sourcen der avr-libc halten (ist ja genug in assembler dabei) und mit dem as.pdf sollte ich dann auch die Direktiven verstehen. Besten Dank also noch mal :) Schoene Gruesse, Scheintod
Hallo Scheintod, ich versuche mich auch an der Portierung des AVR231 von IAR nach GCC und habe ähnliche Probleme. Bist du inzwischen weiter? schoenen Gruss Mark
Beschreib doch lieber deine konkreten Probleme und mach am besten einen eigenen Thread dafür auf. Ich habe inzwischen schon einiges an ANs konvertiert (und teilweise auch wieder gen Norwegen geschickt), mit 'ner konkreten Antwort auf eine konkrete Frage kann sicher (nicht nur) ich hier aushelfen.
Hallo Jörg, vielen Dank für den Hinweis, ich habe meine konkrete Frage ins GCC Forum mit dem Betreff "Portierung AVR231 (AES Bootloader) in GCC" gestellt. Beste Grüsse Mark
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.