Hallo, bisher brenne ich im AVR-Studio meine ATmegas auf folgende Weise: Erst die Fuse-Bits, dann das Programm und dann die Lock-Bits. Kann man diesen Prozess im AVR-Studio optimieren und alle drei Schritte voreinstellen und dann in einem Arbeitsgang ausführen/brennen?
HaraldDräger schrieb: > Hallo, > > bisher brenne ich im AVR-Studio meine ATmegas auf folgende Weise: > > Erst die Fuse-Bits, dann das Programm und dann die Lock-Bits. > > Kann man diesen Prozess im AVR-Studio optimieren und alle drei Schritte > voreinstellen und dann in einem Arbeitsgang ausführen/brennen? Ja, indem man alles (auch die Fuses und Lockbits) mit in den Quelltext schreibt. Und dann brennt man nicht das Hex-File, sondern wählt das *.elf-File aus. Dort ist nach der Compilierung alles enthalten. Und wenn du noch einen Schritt weiter gehen willst, gehst du nicht über den Brenn-Dialog, sondern suchst in der Symbolleiste einen kleinen grünen Pfeil, und der heißt "Start without debugging (CTRL-ALT-F5)" Damit brauchst du nur noch einen einzigen Klick für das Brennen.
Super, Danke für die schnelle Antwort und die Informationen! npn schrieb: > Ja, indem man alles (auch die Fuses und Lockbits) mit in den Quelltext > schreibt. In welcher Form kann man die Fuses und Lockbits in den Quelltext mit aufnehmen (oder wo kann man das nachgucken)?
HaraldDräger schrieb: > Super, Danke für die schnelle Antwort und die Informationen! > > npn schrieb: >> Ja, indem man alles (auch die Fuses und Lockbits) mit in den Quelltext >> schreibt. > > In welcher Form kann man die Fuses und Lockbits in den Quelltext mit > aufnehmen (oder wo kann man das nachgucken)? Du schreibst einfach in den Quelltext (main.c) die Werte folgendermaßen rein: FUSES= { .low = 0xE2, .high = 0xD7, .extended = 0xF9, }; LOCKBITS = (0xFC); Die einzelnen Werte mußt du auch nicht mit irgendwelchen Fuse-Calculatoren berechnen, die auch noch eventuell die Bitwerte invertiert ausgeben. Stell einfach im Programmierdialog unter Fuses die entsprechenden Auswahlfelder ein (BOOTSZ, BOOTRST usw...) und darunter siehst du dann die Inhalte der "Fuse Register". Diese Werte trägst du dann in deinen Quelltext ein. Genau das gleiche bei den Lockbits. In diesem Beispiel hat "0xFC" beim ATMega88 die Bedeutung "PROG_VER_DISABLED". Das ist schon alles. Aber denk dran, im *.hex stehen diese Werte nicht drin, nur im *.elf!
Achso, nachgucken kann man das in der GCC-Dokumentation. Das hattest du ja auch noch gefragt :-)
Super, vielen herzlichen Dank!!!!!! Werde es gleich ausprobieren. npn schrieb: > Aber denk dran, im *.hex stehen diese Werte nicht > drin, nur im *.elf! Ja, werde aufpassen, Danke für den Hinweis!
HaraldDräger schrieb: > Super, vielen herzlichen Dank!!!!!! > Werde es gleich ausprobieren. > > npn schrieb: >> Aber denk dran, im *.hex stehen diese Werte nicht >> drin, nur im *.elf! > > Ja, werde aufpassen, Danke für den Hinweis! Und nicht vergessen, im Programmierdialog die Häkchen für Fuses und Lockbits zu setzen. Mußt du aber nur einmal am Anfang machen. Wenn du das Projekt schließt und später wieder öffnest kannst du gleich loslegen mit: - Quelltext ändern - kleinen grünen Pfeil drücken (wenn der Quelltext geändert wurde, wird automatisch vor dem Programmieren das Projekt neu übersetzt, sonst nicht) - fertig!
Supi, Danke, funktioniert prima - bin begeistert! Kann man auch noch den Controllertyp in den Quelltext übernehmen?
HaraldDräger schrieb: > Supi, Danke, funktioniert prima - bin begeistert! Freut mich, daß es klappt :-) > > Kann man auch noch den Controllertyp in den Quelltext übernehmen? Da bin ich im Augenblick überfragt.
npn schrieb: >> Kann man auch noch den Controllertyp in den Quelltext übernehmen? > Da bin ich im Augenblick überfragt. Ist auch nicht so wichtig, hätte mich einfach interessiert. Noch mal vielen Dank für deine Hilfe!!!
HaraldDräger schrieb: > npn schrieb: >>> Kann man auch noch den Controllertyp in den Quelltext übernehmen? >> Da bin ich im Augenblick überfragt. > > Ist auch nicht so wichtig, hätte mich einfach interessiert. Den Controllertyp stellst du ja sowieso in den Projekt-Einstellungen ein, insofern ist das Einfügen in den Quelltext auch nicht nötig. > > Noch mal vielen Dank für deine Hilfe!!! Gerne doch! :-)
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.