Hallo,
gibt es eigentlich eine Möglichkeit, innerhalb des Programmcodes die entsprechenden Fuses zu setzen ? Ich suche mir danach schon die Beine ab - ich meinte, das mal irgendwo gelesen zu haben... kann mir da jemand einen Tip geben ?
Druckbare Version
Hallo,
gibt es eigentlich eine Möglichkeit, innerhalb des Programmcodes die entsprechenden Fuses zu setzen ? Ich suche mir danach schon die Beine ab - ich meinte, das mal irgendwo gelesen zu haben... kann mir da jemand einen Tip geben ?
Hm, also mir wäre das neu wenn das über den Programmcode gehen sollte...
Wozu brauchst du das? Die Fuses werden ja eigentlich einfach nur einmal eingestellt und dann nicht mehr angerührt.
Bei Kleinserien ist das äußerst nervig... ;o)
Tja kann man wohl nicht ändern ;-)
Die Lösung ist sehr einfach,Zitat:
Bei Kleinserien ist das äußerst nervig... ;o)
man nehme avrdude, schreibt ein Miniskipt in dem auf Knopfdruck
1. Fuses gesetzt werden
2. Programm übertragen wird
3. EEprom beschrieben wird
und flucht, daß man den Programmierstecker ständig von Platine zu Platine umstecken muß.
Gruß Sebastian
Aha, das kenne ich noch nicht, ich werde morgen mal danach googeln gehen ! Danke für den Tip !
Kennst Du nicht ?
Aber Vorsicht, es ist ein Komandozeilentool!
Um Dir das suchen zu ersparen schreib ich Dir mal ein Beispiel, wie man das ganze dann in ein Skript einbindet, also
So hinter -c kommt der Programmer, ich habe mal den stk500 in der Version2 als Beispiel verwendetCode:avrdude -c stk500v2 -p t2313 -U lfuse:w:0xed:m
avrdude -c stk500v2 -p t2313 -U flash:w:file.hex
avrdude -c stk500v2 -p t2313 -U eeprom:w:file.eep
hinter p kommt device - hier der Tiny2313
Jetzt wird in lfuse 0xed geschrieben, dann in flash file.hex und in eeprom file.eep
Ja nach µC gibt es noch hfuse usw.
Dann viel Spaß
P.S. wenn Du nicht weißt, was Du für einen Programmer eingeben kannst, schreib irgendein Unsinn hin, daraufhin bekommst Du eine Liste angezeigt, wo Du Dir alle unterstützte anschauen kannst
Gruß Sebastian
Mega 32
$prog &HFC , &H2F , &HD0 , &H00 ' generated. Take care that the chip supports all fuse bytes.
Diese Zeilen im Programcode bewirken:
Quarz setzen.
EEprom nicht überschreiben.
Chip dicht machen .
und und und.
Das Program 'xxxxx' wird per stk200/300 übertragen.
Nach der Übertragung & dem Vergleich stellt Bascom die Fuse selbstständig ein.
Im Fusemenue gibt es einen Schalter der die Aktuellen Einstellungen in Deinen Code überträgt.
lg Gento
Heute werde ich mal damit spielen, war gestern nicht im Büro. Vielen Dank für die Antworten, Fragen kommen sicherlich heute Nachmittag ;)
Die Variante von Gento gefällt mir natürlich besser :) aber muss ich dann aus Bascom heraus programmen ? Bislang erstelle ich immer das hexfile und drücke das mit AVR Studio in den Proz (AVRISPII USB). Oder muss ich dann über Bascom brennen und wenn ja, kann Bascom denn mit dem AVRISPII um ? Ich habe das noch nicht hinbekommen.
@isa: Ich habe mir auch AVRdude mal heruntergeladen und werde auch das mal testen.