PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mega32 in Assembler?



eXe`
16.12.2004, 10:53
hi, bin ein noobie im bereich der microprozessor programmierung, und wollte fragen, ob es einen weg gibt, den mega32 chip komplett in assembler zu programieren, da ich zwar grundkenntnis in C/C+ habe, aber mich mit bascom null auskenne, und denke das es für mich der einfachste weg wäre, wenn ich den prozessor dann in assembler programmieren würde.

habe zwar schon diverse compilier angeschaut, dennoch keinen gefunden, der den mega 32 unterstützt.

normalerweise programiere ich mit der Keil software, und zwar den SAB80C535, kann mir einer einen copmiler empfehlen, für den mega 32? wäre sehr dankbar.

RCO
16.12.2004, 11:53
Also soweit ich weiß unterstützt WinAVR den mega32. Ich wüsste jedenfalls nciht warum nicht. Dann kannst du in C Proggen. Kannst ja einfach mal runterladen, ist glaube ich kostenlos, und testen.

MFG Moritz

Pascal
16.12.2004, 12:02
WinAVR ist auf jeden Fall kostenlos und auch echt gut
nur für Assembler dürfte sich auch die AVR-Software von Atmel eignen, wie die allerdings heißt, fällt mir grad nicht ein

Kjion
16.12.2004, 12:42
Die Assemblerentwicklungsumgebung ( Assembler + Simulator ) von Atmel heißt AVR-Studio. Einfach mal auf deren Seite schauen...

MfG Kjion

Florian
16.12.2004, 12:43
AVR-Studio nennt sich die Software von ATMEL!
Wenn Du ASM schon kannst, dann kann ich Dir ASM nur ans Herz legen! ;o)
Ich progge auch in ASM und ich finde es ist die beste Lösung!

*edit*:
War wohl jemand schneller! *lol*

RCO
16.12.2004, 12:51
NUr mal ne Frage, mich würde es auch mal interessieren in Assembler zu Programmieren, aber erfordert das nicht eine wirklich gute Kenntnis des AVRs etc. Soweit ich weiß, werden da ja alle Register etc. direkt ansgesprochen und so.
@ Florian, willst du mal einen kommentierten Code hier posten, würde mich mal interessieren, wie sowas genau aussieht.

MFg Moritz

Florian
16.12.2004, 12:54
Hi Moritz!
Naja, man gewöhnt sich an die Struktur des AVR's und ich finde es sogar praktischer, wenn man die Struktur des AVR's lernt!
In welche Richtung soll denn der Code gehen?
Ich wüsste jetzt nicht, was ich posten sollte!

RCO
16.12.2004, 13:12
Keine Ahnung, vielleicht nen PWM oder so? Direkt was zeitkritisches ;-)
Klar, ich denke wenn man sich mit den AVRs gut auskennt, ist Assembler sicher super, vor Allem wegen eindeutigen Anweisungen etc. Außerdem lässt sich alles sehr schön einteilen, man weiß genau, was der AVR in jeder Sekunde macht. Aber ich denke, dass es erstmal hart ist, wenn man die ganzen Abkürzungen pauken muss. Außerdem glaube ich, gibts garnicht alzuviele Beispiele und Code im Netz, oder?

MFg Moritz

Florian
16.12.2004, 13:29
Ok, ich habe vor kurzem ein Beispiel für PWM gepostet:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=5190&highlight=pwm+at90s2313
Ich denke Du wirst einige Parts des Code's wiedererkennen!
Ich habe mir eine Liste aller Befehle ausgedruckt, alle Befehle weiß ich auch nicht auswendig, aber die gängigsten lernt man automatisch!
Bei den Beispielen im Netz hast Du natürlich Recht, aber man kann die Code's recht einfach, wenn man Erfahrung hat, übersetzen!

16.12.2004, 17:30
also vielen dank, meiner meinung nach ist asm am einfachsten von allem, da die register wirklich direkt angesprachen werden und von der syntax auch wirklich primitive ist. sobald mein program für meinen robo fertig ist, (was aber noch ne weile dauern kann,) werde ich ihn natürlich auch gerne posten. in dem fall werd ichs mal mit dem AVR Studio 4 probieren.

mfg eXe`

eXe`
16.12.2004, 17:33
sorry hab vergessen mich einzuloggen^^ ](*,)

Florian
16.12.2004, 17:34
Hi eXe`!
Ich wünsche Dir auf jeden Fall viel Glück bei Deinem Projekt! :o)

AlexAtRobo
21.12.2004, 20:02
Ich bin auch Assemblerfan! Ich habe einen Mega 8 in Assembler programmiert, ca. 3000 Zeilen Assemblercode - und das Ding ist immer noch sauschnell und ich habe noch extrem viel Programmspeicher voll, obwohl das Programm sehr komplex ist.
Prinzipiell ist aber Assembler eine Tolle sache, wenn man den Prozessor gut kennt. Und viel komplizierter als eine Hochsprache ist es auch nicht. Man muss halt die Befehle kennen (teilt sich in einige wenige Gruppen auf die dann untereinander Ähnlich sind) und die Register - einzig komplexere Operationen kann man halt nicht direkt abbilden - das fängt schon bei einer Division an - das muss man halt ausprogrammieren. Aber mit der Zeit sammelt man genug Routinen und erfahrung zusammen, dass hier auch nicht die Große Hürde entsteht.
Wenns jedoch nicht Zeitkritisch ist spricht aber auch nichts gegen hochsprachen.

lg

Alex

Florian
21.12.2004, 20:07
Gott sei Dank, ich dachte schon ich bin der einzige ASM-Freak! *lol*

AlexAtRobo
21.12.2004, 20:10
Wollte ja eigentlich schreiben, dass ich immer noch extrem viel Programmspeicher frei habe... voolllll Cool auf jeden Fall.

Florian
21.12.2004, 20:11
Jup, mein Speicher wird auch nicht voll! ;o)