Archiv verlassen und diese Seite im Standarddesign anzeigen : Fuses setzen ohne AVR Studio ?
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 ?
robodriver
05.11.2007, 15:21
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)
Christopher1
05.11.2007, 15:51
Tja kann man wohl nicht ändern ;-)
Bei Kleinserien ist das äußerst nervig... ;o)
Die Lösung ist sehr einfach,
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
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
So hinter -c kommt der Programmer, ich habe mal den stk500 in der Version2 als Beispiel verwendet
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.
Ich bin mir sicher die erste Programierung muss mit Bascom geschehen.
lg Gento
Aber Bascom kann (1.11.90) meinen Programmer nicht :(
wärme den thread nochmals auf, könnte jemand danach suchen:
die Fuses stellt man mit avrdude so ein:
avrdude -v P /dev/parport0 -p m32 -c stk200 -U lfuse:w:0xFF:m
bzw.:
avrdude -v P /dev/parport0 -p m32 -c stk200 -U hfuse:w:0xD9:m
und das mithilfe diesem link:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega32&P=ATmega32&V_LOW=E1&V_HIGH=99&M_LOW_0x3F=0x21&M_LOW_0x40=&M_LOW_0x80=0x80&M_HIGH_0x01=&M_HIGH_0x06=0x00&M_HIGH_0x08=&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=&M_HIGH_0x80=&B_JTAGEN=P&B_SPIEN=P&B_SUT0=P&B_CKSEL3=P&B_CKSEL2=P&B_BOOTSZ1=P&B_CKSEL1=P&B_BOOTSZ0=P
Im ISP-Dialog im AVRstudio gibts die Seite "Auto". Da kann man Häkchen setze, was gemacht werden soll (gemäß den Einstellungen auf dem anderen Dialogseiten), dann drückt man auf Start, und die Kiste rennt los. Dann nächstes Board anschließen, und wieder auf Start...
stefan_Z
07.08.2008, 01:41
Ich mach es per Ponyprog2000 und einem Script dafür.
Infos hier: http://www.lancos.com/e2p/ponyprog2000.html#s4_1
Geht super - man macht das einmal und danach heißt es nur noch: Board anstecken, STRG-I (oder so) drücken, es passiert.
Das mit den Fuses muss man allerdings GENAU lesen UND verstehen - aber ich habs hinbekommen, es geht.
Der Fusecalculator hilft da sehr weiter....
Auch von mir nochmal danke für die neue Info, läuft alles :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.