Forum: Mikrocontroller und Digitale Elektronik AVR direkt aus AVR-Studio heraus brennen


von Uli H. (ulihuber)


Lesenswert?

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

von Stefan G. (steg13)


Lesenswert?

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?

von Läubi (Gast)


Lesenswert?

kann man die HEX Datei irgenwie als Parameter übergeben?

von Martin (Gast)


Lesenswert?

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

von Sebastian (Gast)


Lesenswert?

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

von Toralf W. (willi)


Lesenswert?

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

von Uli H. (ulihuber)


Lesenswert?

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

von wulf (Gast)


Lesenswert?

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...

von Lukas (Gast)


Lesenswert?

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

von Johannes M. (johnny-m)


Lesenswert?

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...

von Wolfram Q. (quehl)


Lesenswert?

die Eingaben in Ponyprog entsprechen dem Datenblatt. Für die eigenartige 
Eingabe ist daher Atmel verantwortlich.

mfg

von Christian U. (z0m3ie)


Lesenswert?

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 ...

von Uli H. (ulihuber)


Lesenswert?

Makefile - prima.

Aber wo genau ? Ich kann in meiner 4.13 nix finden.

Gruß
Uli

von Zeusi (Gast)


Lesenswert?

Sauber ;)

gleich mal testen,...
grüüüße

von Gast (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.