Fuses von AVR-Studio im Programm setzen (High/Low/Lockbit)

OP #822013
Lesenswert?

Hi!

Möchte gerne die Fusebits und das Lockbit direkt im Programmcode setzen, 
da es für die Produktion viel praktischer ist.

Ich habe ja High & Low & Lockbit aus meiner Konfiguration ausgemacht.
Wie muß denn der Befehl für WinAvr lauten diese direkt zu setzen?

In der Produktion möchte ich gerne nur noch das .hex-File auf den Chip 
brennen lassen und möglichst viele Dinge damit direkt setzen.

Leider konnte ich im Netz nichts darüber finden.
Ich denke der ein oder andere von Euch hatte auch schon einmal vor 
dieser Frage gestanden.

Gruß, Björn
Gast #822044
Lesenswert?

>Möchte gerne die Fusebits und das Lockbit direkt im Programmcode setzen

Zur Laufzeit des in den µC geflashten Programms?  Das ist nicht möglich. 
Sonst wären es auch keine Fuses, sondern I/O-Register.
#822066
Lesenswert?

Doch ist es, jedoch nicht ganz trivial. Du musst das aus der Boot 
Section heraus machen musst also einen Pseudo Bootloader schreiben, der 
aus deinem Hauptprogramm angesprungen wird.

Ablauf könnte so aussehn:

Fuses in 2-3 definierte SRAM Zellen schreiben
Eine Bootloaderstartbedingung herstellen z.b. über das MCUSR Register
Watchdog Reset einleiten

Bootloader prüft ob Watchdog Reset und MCUSR register richtigen wert hat
Wenn ja schreibt er die Fuses aus den SRAM Zallen
Springt ins Hauptprogramm

Mir fällt zwar kein Grund ein warum das für die Produktion praktischer 
sein sollte, denn den Bootloader und das Hauptprogramm musst du ja 
sowieso brennen ob du nun da die Fuses mitsetzt oder nicht macht kaum 
nen Unterschied.
OP #822903
Lesenswert?

Hi Ihr!

@AVRFan: Zur Laufzeit sollen die Fuses natürlich nicht umgestellt 
werden!
Es geht mir nur darum einfacher den Chip zu programmieren...

@Christian: Hui, das ist ja eine Vorgehensweise :-)
Das dies kein Unterschied in der Produktion macht ist mir inkl. 
Bootloader nun klar... Ich habe gedacht, es gäbe eine Möglichkeit die 
Chips durch relativ unbedarfte Leute einfach brennen zu lassen, ohne das 
diese viel einstellen und dadurch falsch machen können.
Wenn ich nun sage "Dann klickst du hier und da und lädst das .hex und 
drückst danach auf program und fertig" wäre halt einfacher als noch in 
die Fusebits gehen zu müssen, zwei hex-werte ein zu stellen und das 
ganze danach auch noch in den Lockbits usw..

Schade das es kein Programm gibt, das einfach nur für das Brennen mit 
einer einzigen Taste vorgesehen ist.

Gruß
Björn
OP #822981
Lesenswert?

Noch nie was davon gehört!

Habe eben mal kurz gegoogelt und kam auf diesen Satz:
"Peter und andere arbeiten momentan noch an der Anpassung für größere 
Controller wie den ATMega 128"

Benutze für meine Projekte ziemlich große Controller - deswegen denke 
ich, das es damit zur jetzigen Zeit nicht funktionieren wird, leider.

Trotzdem guter Tip - werde ich mir morgen etwas genauer anschauen.

Björn
Gast #823127
Lesenswert?

Man kann die zu programmierenden Daten (Program-Code, Fuses etc) auf in 
eine SVF-Datei schreiben und mit dem "richtigen" Programmier-Werkzeug 
dann am Stück in den Controller schreiben.
http://www.atmel.com/dyn/products/faq_card.asp?faq_id=1327
http://www.atmel.com/dyn/general/advanced_search_results.asp?device=1&tools=1&faqs=1&datasheets=1&appNotes=1&userGuides=1&software=1&press=1&articles=1&flyers=1&checkAll=1&checkAllReference=1&target=SVF
Gast #823235
Lesenswert?

Hi

Die Programmiersoftware für die vom AVR-Studio unterstützten Programmer 
haben eine 'Autofunktion'. Man braucht also nur ein paar Häkchen für die 
gewünschten Schritte setzen und auf 'Auto' drücken.

MG Spess
OP #825250
Lesenswert?

Ach damit geht das?

Ist ja witzig - hat mich bisher eigentlich nicht interessiert da ich 
grösstenteils alles mit dem Jtag debugge und das genannte Problem jetzt 
bald erst ins Haus steht.

Naja, dann habe ich ja schon ein paar Ideen wie man das ganze so 
anstellen kann.

Vielen Dank für die Guten Tips!
Bis bald.
Björn
Gast #825279
Lesenswert?

Hi

Du solltest auch mal überlegen einen anderen Programmer zu benutzen. Für 
Routineprogrammierungen benutze in in der Firma einen EPSILON 5 MKII von 
EQINOX. Die zugehörige Software ist wesentlich ausgefeilter als bei 
Atmel. Für bestimmte Programmieraufgaben lassen sich Projekte erstellen 
in denen sämtliche Einstellungen gespeichert werden. Die Teile gibt es 
auch als Stand-Alone-Programmer. Die Atmel-Software ist nicht sehr 
idiodensicher. Denn wenn dein Programmierer bei einem neuen AVR z.B. auf 
den Fuse-Tab klickt liest das AVR-Studio den Controller aus und deine 
Einstellungen sind weg.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren