Hallo, habe beim Googeln das AVR-ASM-Tutorial von Gerhard Schmitd entdeckt. Sieht interessant aus. Jetzte will ich selber mal ein paar Sachen in ASM ausprobieren. Habe allerdings nur Bascom-Erfahrung und einen SP12-Progger (allerdings mit eigener Stromversorgung, nicht vom PC). Bin jedoch auch Bascom-verwöhnt: Programm schreiben, kompilieren, auf AVR brennen, geht alles mit Bascom-AVR. Wie sieht es denn bei ASM aus, gibt es da auch was ähnliches, also Editor, Compiler und Brennprogramm (für SP12) in einem? Wenn ja, was könnt ihr empfehlen?
Nimm das AVR-Studio. (Gibts auf der Seite von Atmel) Ist sogar ein Softwaredebugger mit drin. Vorteil ist, das man sogar seine Bascom-Hex Files damit einlesen kann und debuggen kann... ;) (Und man sieht, was für einen grauenhaften Code Bascom manchmal produziert) Als Programmiersoftware dann die mitgeleiferte zum SP12 nehmen... Mirko
ASM kann das AVR-Studio 4.x . Empfehlen kann ich aber nur originale AVR-Programmer. Die werden auch komplett vom AVR-Studio unterstützt. Der günstigste mit knapp 40EUR ist der AVR-ISP mkII, der beherrscht alle seriellen Protokolle, außer High-Voltage. Damit kann man fast alle Megas, Tinys und XMegas programmieren.
Danke für die Antworten! MirkoB schrieb: > Als Programmiersoftware dann die mitgeleiferte zum SP12 nehmen... vom AVR-studio mitgeliefert oder woher? und kann jemand sagen, ob es reicht, die AVR Studio-Version 4.18 SP2 runterzuladen, oder ob vorher noch AVR Studio 4.18 installiert werden sollte (s.u., link)? http://www.mikrocontroller.net/articles/AVR-Studio
Lucas schrieb: >> Als Programmiersoftware dann die mitgeleiferte zum SP12 nehmen... > vom AVR-studio mitgeliefert oder woher? AVR-Studio liefert Treiber für originale ATMEL-Programmer mit, der SP12 müßte seine eigenen Treiber haben, aber AVR-Studio unterstüzt den nicht.
>Erst AVR Studio 4.18 installieren. Dann SP2. Danke! Travel Rec. schrieb: > AVR-Studio liefert Treiber für originale ATMEL-Programmer mit, der SP12 > müßte seine eigenen Treiber haben, aber AVR-Studio unterstüzt den nicht. heißt das, man kann den SP12-Progger nicht unter AVR Studio nutzen?
Hi >heißt das, man kann den SP12-Progger nicht unter AVR Studio nutzen? Du kannst deine Programmiersoftware vom AVR-Studio aus aufrufen. MfG Spess
Ja, das heißt es. Du kannst aber das *.hex-File mit AVR-Studio erzeugen und dann mit der SP12-Software den Controller brennen, wobei dieser Controller dann von der SP12-Software unterstützt sein muß. AVR-Studio unterstützt alle aktuellen AVRs.
spess53 schrieb: > Du kannst deine Programmiersoftware vom AVR-Studio aus aufrufen. dann müsste ich Bascom AVR aufrufen, geht das? wovor mir grauen würde, wäre, dass ich mit dem eine Programm das ASM-File erzeuge, es dann irgendwo speichern muss, um es dann mit einem anderen programm wieder aufzurufen, um es dann damit schließlich auf den AVR brennen zu können.
Travel Rec. schrieb: > und dann mit der SP12-Software den Controller brennen was meinst du mit SP12-software, gibt es da eine eigene? ich mache das immer unter bascom avr.
Lucas schrieb: > was meinst du mit SP12-software, gibt es da eine eigene? ich mache das > immer unter bascom avr. Zumindest ist auf der SP12-Homepage davon die Rede. Wenn bascom das kann, umso besser. Lucas schrieb: > wovor mir grauen würde, wäre, dass ich mit dem eine Programm das > ASM-File erzeuge, es dann irgendwo speichern muss, um es dann mit einem > anderen programm wieder aufzurufen, um es dann damit schließlich auf den > AVR brennen zu können. Da wird Dir wohl nichts anderes übrig bleiben.
Du kannst aber auch in der Bascom-Oberfläche Assemblerprogramme eingeben und testen. Dazu muß man entweder die Kompilerdirektiven $ASM Hier das ASM Programm entragen $END ASM benutzen oder vor einen ASM-Befehl ein ! setzen. MfG Paul
> Lucas schrieb: >> wovor mir grauen würde, wäre, dass ich mit dem eine Programm das >> ASM-File erzeuge, es dann irgendwo speichern muss, um es dann mit einem >> anderen programm wieder aufzurufen, um es dann damit schließlich auf den >> AVR brennen zu können. > > Da wird Dir wohl nichts anderes übrig bleiben. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!! nee im ernst, da muss es doch noch andere möglichkeiten geben. das blöde ist, dass ich grade mal ein bisschen zeit für sowas übrig habe, wenn ich jetzt noch einen neuen brenner bestellen muss, ist der garantiert erst mitte nächster woche hier... kann man nicht mit einem Mega8 einen Brenner basteln, der unter AVR Studio genutzt werden kann?
Paul Baumann schrieb: > Du kannst aber auch in der Bascom-Oberfläche Assemblerprogramme eingeben > und testen. > > Dazu muß man entweder die Kompilerdirektiven > $ASM > > Hier das ASM Programm entragen > > $END ASM > > benutzen oder vor einen ASM-Befehl ein ! setzen. ja, ich weiß, ist eigentlich auch eine coole sache. allerdings reserviert (soweit ich gehört habe) Bascom vorab schon einige funktionen/variablen/register(!?, man korrigiere mich nötigenfalls!) d.h., man hat dann immer auch Bascom-Ballast mit im Programm. deshalb will ich lieber direkt in ASM einsteigen
>kann man nicht mit einem Mega8 einen Brenner basteln, der unter AVR >Studio genutzt werden kann? Das kann man machen: http://www.obdev.at/products/vusb/avrdoper.html Diesen Apparat habe ich mir gebaut und er funktioniert prima mit dem AVR-Studio zusammen. MfG Paul
kommt darauf an... leider finde ich zum AVR-dropper keinen schaltplan. ich vermute mal, der größere IC auf der platine ist der M8 und der kleinere ist ein MAX232... gibt es das ganze nicht noch ein wenig kompakter? immerhin benutze ich seit jahren erfolgreich SP12, bin also waschechter minimalist. ;)
Naja - die ganz minimalen Teile unterstützt halt das AVR-Studio nicht... Es gibt auch noch den hier: http://www.embedded-projects.net/index.php?page_id=135 Aber am aktuellsten sind und bleiben immer die Originalprogrammer. Wenn Du viel Zeit und Ausdauer hast, bau Dir einen Programmer, wenn Du am Wochenende etwas programmieren möchtest, bestell Dir einen AVR-ISP mkII.
Hier ist noch eine abgespeckte Version des AVR-Doper ohne HV-Programmier- möglichkeit: http://rototron.info/default.aspx?Page=USBAVR/USBAVR.aspx MfG Paul
habe grade gesehen, dass das AVR Studio auch Brenner für die COM-Dose akzeptiert. Gibt es da nichts einfaches zum Nachbau? M8 und MAX232 habe ich vorrätig, mit Logik-ICs siehts leider bis auf ein paar Exemplare in meiner Bastelkiste eher bescheiden aus. HV-Programmierung ist nicht erforderlich...
PS: auf die schnelle habe ich noch diesen beitrag hier gefunden: Beitrag "AVR direkt aus AVR-Studio heraus brennen" (mit parallelem ISP-Programmer und Ponyprog) das geht ja schon stark in die richtung... so ganz verstehe ich zwar noch nicht, wie es gemacht wird, aber das kommt hoffentlich noch ;) ich frage mich außerdem, ob der dort angegebenen parallel-progger mit dem 74HC244 im grunde baugleich zum SP12-Progger ist (von wegen anschlussbelegung), muss ich später mal gucken. hier der schaltplan von der 74HC244-version: http://rumil.de/hardware/avrisp.html hier rowalt: http://www.rowalt.de/mc/avr/progd.htm (falls jemand im vorfeld schon mal gucken möchte)
Lucas schrieb: > ...baugleich zum SP12-Progger ist (von wegen > anschlussbelegung), muss ich später mal gucken. sieht nicht so aus: 74hc244 (pp-pin) rowalt (pp-pin) sck 6 2 res 9 3 mosi 7 9 miso 10 11 (ohne gewähr) der 74hc244-progger hat ausserdem noch zwei leitungen FN1 und FN2 (wofür auch immer die sein mögen...)
Warum einfach, wenn man es auch kompliziert machen kann. Das widerspricht dem Thementitel zu 100%. Die nächste Frage lautet dann: "Mein AVR geht nicht mehr. Hat das etwas mit den Fuses zu tun? Was bedeutet eigentlich RSTDISBL?" Ich bin ´raus.
Hallo, unabhängig davon, ob ein SP12-Programmer nun gut ist oder nicht: wenn das Teil bei Dir funktioniert mit Deiner Programmiersoftware und diese das HEX-File aus irgendeinem Ordner laden kann, ist es doch vorerst unproblematisch. AVR-Studio speicher das HEX-File beim assemblieren in seinem Projektordner. Also parallel die Programmersoftware offen lassen und das File aus diesen Ordner laden und brennen. Wenn Du jetzt was änderst, muß Du ja nach dem assembleiren nur die Programmersoftware nach vorn holen, daß gleiche File wieder neu laden und brennen. Das habe ich jahrelang mit AVR-Studio und Ponyprog so gemacht... Ansonsten eben USB-AVRLab o.ä zusammenlöten, den Mega8 mit Deinem SP12 brennen und dann eben das Ding als MK2 aus AVR-Studio benutzen... Gruß aus Berlin Michael
Travel Rec. schrieb: > Warum einfach, wenn man es auch kompliziert machen kann. Das > widerspricht dem Thementitel zu 100%. Die nächste Frage lautet dann: > "Mein AVR geht nicht mehr. Hat das etwas mit den Fuses zu tun? Was > bedeutet eigentlich RSTDISBL?" > > Ich bin ´raus. ich auch, zu kompliziert. morgen vormittag geh ich erst mal die enten im park füttern... ;)
Michael U. schrieb: > Hallo, > > unabhängig davon, ob ein SP12-Programmer nun gut ist oder nicht: wenn > das Teil bei Dir funktioniert mit Deiner Programmiersoftware und diese > das HEX-File aus irgendeinem Ordner laden kann, ist es doch vorerst > unproblematisch. Das habe ich mir eben auch überlegt. Eigentlich geht es ja erst mal um ASM. Das mit dem "zwei Programme gleichzeitig benutzen" ist eine gute Idee!!! Ansonsten habe ich noch den AVRISP MKII entdeckt, der braucht nur einen M8 und ein bisschen Hühnerfutter, das aber für später. Ok, wie bringe ich denn mit dem AVR-Studio die sprichwörtliche LED zum Blinken? Gibt es irgendwo eine Anleitung, wie man im AVR-Studio die ganzen Fenster unter Kontrolle bekommt und was man wo wie eingeben muß? Das Studio hat bei mir natürlich erst mal gemeckert, dass kein Programmer anwesend ist...
So, habe jetzt im AVR Studio den Simulator eingeschaltet und einen Mega8 ausgewählt. Dann folgendes Programm eingegeben, es soll ein Brummen (Rechteck) an Port B, Bit 0 ausgeben: .equ c1 = 0 ; Bestimmt die Tonhöhe sbi DDRB,0 ; Portbit ist Ausgang Loop: sbi PORTB,0 ; Portbit auf high ldi R16,c1 Loop1: nop nop nop nop nop dec R16 brne Loop1 cbi PORTB,0 ; Portbit auf low ldi R16,c1 Loop2: nop nop nop nop nop dec R16 brne Loop2 rjmp Loop Nach dem Compilieren kommen folgende Fehlermeldungen: E:\Dokumente und Einstellungen\Kleimann\Eigene Dateien\zulu\zulu.asm(2): error: Undefined symbol: DDRB E:\Dokumente und Einstellungen\Kleimann\Eigene Dateien\zulu\zulu.asm(4): error: Undefined symbol: PORTB E:\Dokumente und Einstellungen\Kleimann\Eigene Dateien\zulu\zulu.asm(14): error: Undefined symbol: PORTB Die Begriffe „DDRB“ und „PORTB“ (er)kennt er wohl nicht. Was kann/muss man machen?
Hi
>Was kann/muss man machen?
Die passende Include-Datei einfügen.
.include "m8def.inc"
Progamm
MfG Spess
Hi Nachtrag: "m8def.inc" gilt natürlich nur für einen ATMega8. MfG Spess
spess53 schrieb: > Hi > > Nachtrag: "m8def.inc" gilt natürlich nur für einen ATMega8. > > MfG Spess Ist schon klar ;) Habe die Datei weggelassen, weil ich ja vorher schon den Atmega8 im Studio angeklickt hatte, dachte, das reicht... werds gleich mal testen.
jupps, geht, controller pfeift munter vor sich hin. Danke an alle!!!
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.