Hallo zusammen, ich bin über die Frage gestolpert, wie man aus AVR-Studio heraus direkt programmieren kann ohne einen SDK-kompatiblen Programmer zu haben. Da ich nichts gefunden habe, möchte ich meine Lösung vorstellen. Ich benutze einen parallelen ISP-Programmer und Ponyprog. Um dieses aus dem AVR-Studio heraus laufen zu lassen braucht es eine Steuerdatei mit der Endung .e2s. Die sieht dann in etwa so aus: #------ START -------- #Programming sequence SELECTDEVICE ATTINY2313 CLEARBUFFER LOAD-PROG .\meinprogramm.hex LOAD-DATA .\meinprogramm.eep ERASE-ALL WRITE&VERIFY-ALL #Pay attention to NOT disable RSTDISBL #FusesH: # DWEN, EESAVE, SPIEN, WDTON, BODLEV2, BODLEV1, BODLEV0, RSTDISBL} # 1 1 0 1 1 0 0 1 #FusesL: # CKDIV, CKOUT, SUT1, SUT0, CKSEL3, CKSEL2, CKSEL1, CKSEL0} # 1 1 1 1 1 1 1 1 WRITE-FUSE 0x2600 #Lock: {X,X,X,X,X,X,Lock2,Lock1} 0 0 0 0 0 0 1 1 WRITE-LOCK 0x03 #------- END --------- Die Steuerdatei hat den Vorteil, daß sie projektspezifisch ist und alle Flags mit brennt. Im AVR-Studio kann man dann mit Tools-Customize-Tools-Insert einen neuen Eintrag im Pull-Down-Menu 'Tools' anlegen, der auf diese Datei zeigt. Er erscheint praktischerweise auch gleich das Ponyprog-Icon. Aus dem Menu Tools-Customize-Commands kann man dann das Icon auch auf eine der Menuleisten ziehen. Ab da kann man nach dem Assemblieren mit dem Button den Chip brennen, ich mache das In-Circuit auch ohne spezielles ISP Interface, in dem ich einfach einen AVR einsetze, an dem die 6 Drähte direkt angelötet sind. Das ist es schon. Vielleicht hilft's ja jemand… Gruß Uli
ja funktioniert, guter Tipp :-) Die Zeile unter #lock hat eine Fehlermeldung erzeugt, ich habe dann ein # davorgeschrieben. Muss man für jedes Projekt eine eigene Datei schreiben, oder kann man sagen: nimm die aktuell geöffnete Datei?
kann man die HEX Datei irgenwie als Parameter übergeben?
Vielen Dank, das ist hilfreich. nun muß ich nur noch strg + P auf den buttonlegen und dann bin ich glücklich ;-) Mal wieder ein weiterer Grund, weshalb sich auch der passive Genuss dieses Forums lohnt
Hallo Uli ich hab mal eine Frage: Du benutzt ja PonyProg zum Programmieren. Welches ISP Interface benutzt du ? Kannst mir bitte nen Link zu Schaltplan etc geben ? das wäre nett. Danke
Sebastian wrote: > Hallo Uli ich hab mal eine Frage: > > Du benutzt ja PonyProg zum Programmieren. Welches ISP Interface benutzt > du ? Kannst mir bitte nen Link zu Schaltplan etc geben ? das wäre nett. > > > Danke Guten Morgen, schreibt er doch, "Ich benutze einen parallelen ISP-Programmer und Ponyprog.". Schaltplan, z.B. hier: http://rumil.de/hardware/avrisp.html Schau mal hier, da sind alle erklärt: http://www.mikrocontroller.net/articles/AVR_In_System_Programmer Danke an Uli, ist ein guter Tip. Wo hast Du die Infos zur Steuerdatei für PonyProg her? Man muß ja für jedes Projekt eine andere Datei anlegen, kann man das nicht noch etwas automatisieren? z.B.: den Inhalt am Anfang des ASM.file ablegen und dann per Stapelverarbeitung in eine e2s datei einlesen. Gruß Willi
Hallo Willi, die Steuerdatei kommt aus der Ponyprog-Hilfe, Punkt 4.1 KLar muß man eine Steuerdatei für das Projekt anpassen. Aber das sind ja nur 2 Zeilen (Namen) und ggf. Flags, die man ohnehin setzen muß. Und wenn ich ein Projekt mache, kommt es auf die Kleinigkeit am Anfang nicht an ;-) Schöner wär's natürlich mit einem aus dem AVR-Studio übergebenen Namen, aber so einen Trick habe ich noch nicht gefunden. Was mir auch noch abgeht, ist eine Möglichkeit, den Namen der .hex Datei aus dem Code heraus zu steuern (für bedingte Assemblierung). Ganz habe ich das mit der ASM-Datei nicht verstanden. Aber einer aus der UNIX-Welt GREPt sich so eine Steuerdatei locker zusammen. Ich kann's nicht. Gruß Uli Gruß Uli
Bzgl. der vom AVR Studio übergebenen Datei bzw. deren Namen: In der PonyProg Dokumentation steht das sogar: http://www.lancos.com/e2p/ponyprog2000.html#s4 Einfach im Makefile die Datei mit dem skript schreiben lassen. ~~~~ Andere Frage dazu: Kann man irgendwo beim AVR Studio das default-Makefile ändern? Der muss ja irgendwo eine Vorlage haben...
Hallo ich habe noch eine Frage: Wenn man direkt über Pony Prog die Fuses setzt, muss man diese ja negiert eingeben, da Pony Prog die Fuses negiert dem µC überträgt. Muss man die Fuses in der .e2s-Datai auch negiert eingeben oder wird das was ich dort eingebe dem µC genauso übertragen? Vielen Dank für die Antwort
Lukas wrote: > Hallo ich habe noch eine Frage: > Wenn man direkt über Pony Prog die Fuses setzt, muss man diese ja > negiert eingeben, da Pony Prog die Fuses negiert dem µC überträgt. PonyProg überträgt gar nichts negiert. Nur die Eingabe ist für den Benutzer etwas gewöhnungsbedürftig, weil ein Häkchen im Kästchen bedeutet, dass die Fuse programmiert wird (also 0 ist) und kein Häkchen eben "unprogrammiert", also 1, bedeutet...
die Eingaben in Ponyprog entsprechen dem Datenblatt. Für die eigenartige Eingabe ist daher Atmel verantwortlich. mfg
Das ganze geht über ein Makefile noch um einiges komfortabler, und mann kann die Standart build Buttons benutzen. Einfach in den Projektoptionen externes Makefile angeben ...
Makefile - prima. Aber wo genau ? Ich kann in meiner 4.13 nix finden. Gruß Uli
wo holt sich das AVRStudio das "default-Makefile" fürs WinAVR her? So eine Art Vorlage. Wo befindet sich die?
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.