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
>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.
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.
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
Die Programmierung kann ja aus einer Batchdatei mit avrasm2.exe erfolgen. Vermutlich gibt es zum Setzen der Fuses ebenfalls eine exe.
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
Geht alles auch 'offiziell': Aus dem passenden AVR-Studio-Ordner beispielsweise AVRDragon.exe oder Stk500.exe nehmen und per Batchdatei Fuses, HEX und EEP brennen. Funktioniert mit allen noch so neuen AVRs. Tassilo
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
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
Aja, das sind doch schonmal super Möglichkeiten den AVR zu brennen. Am besten gefällt mir die Möglichkeit von "spess53" - nur welches Programm meint er mit "Programmiersoftware"? Björn
Hi Ich meine das Programmfenster, das erscheint, wenn du dich im AVR-Studio beispielsweise mit dem STK500, AVR ISP MKII oder Dragon verbindest Siehe Anhang) MfG Spess
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
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
und wenn ich jetzt bei "Program Fuses" im Auto-Programm Fenster nen Haken reinmach, auf welche Einstellungen setzt er diese dann? Kann man die Fuse Einstellungen irgendwo im Quellcode oder in einer Datei hinterlegen?
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.