Hallo uC.net, ich frage mich gerade wie man im Sourcecode die gewünschte Befehle für das Setzen der Fuse und Lockbits eintragen könnte. Da Arduino ja avrdude zum Flashes benutzt un ddort als Parameter unter anderem auch die Fuse&Lockbits übergeben werden (von der Arduino-IDE aus) sollte es doch möglich kein dies dort auch zu setzen? Ich flashe meine Mega8 momentan mit dem Befehl "Hochladen mit Programmer". Die daraus generierte Befehlszeile im Tracerfenster übernehme ich dann den avrdude-Befehl in die CMD von Windows (Kommandozeile) und ändere die Fusebits nach meinen Vorgaben. Geht das auch im Arduino-Editor bzw Sourcecode? Habe bei Bascom gesehen das es dort nämlich extra dafür ein $PROG gibt. Bin aber C'ler (zwar kein Profi, aber ich verhungere nicht beim Basteln). Wer hat sinnvolle Tips?
Wenn dein Programmer fues im elf-file unterstützt, geht das so: https://www.nongnu.org/avr-libc/user-manual/group__avr__fuse.html Oliver
Florian Hauer schrieb: > Da Arduino ja avrdude > zum Flashes benutzt un ddort als Parameter unter anderem auch die > Fuse&Lockbits übergeben werden (von der Arduino-IDE aus) sollte es doch > möglich kein dies dort auch zu setzen? Das hängt ganz stark davon ab, wie die Arduino-IDE das angeht. Die von meinem Vorredner vorgeschlagene Variante geht nur, wenn die Arduino-IDE das auch unterstützt, denn sie muss dann sowas wie "-U lock:w:foo.elf" etc. an AVRDUDE übergeben. Wenn die Arduino-IDE einfach stur die irgendwo in einem Menü angegebenen Werte für Fuse- und Lockbits da übergibt (als "-U lfuse:0x**:m"), dann kannst du dich im Sourcecode abmühen wie du willst.
Oliver S. schrieb: > Wenn dein Programmer fues im elf-file unterstützt, geht das so: Der Programmer bekommt das ELF-File nicht zu sehen.
Ok, das elf-file sieht natürlich nur das Programmierprogramm. Kann avrdude in aktueller Verison mit der .fuse-section im elf-file was anfangen? Oliver
Oliver S. schrieb: > Kann avrdude in aktueller Verison mit der .fuse-section im elf-file was > anfangen? Ja, aber nur, indem man ihm das auch auf der Kommandozeile so mitteilt. Das ist halt der Punkt, bei dem ich bei der Arduino-IDE so meine Zweifel habe. Ich kenne sie nicht persönlich, habe aber Berichte von anderen gehört, dass innerhalb dieser IDE so ziemlich alles sehr „händisch festgezurrt“ sei.
Hm. Seid Ihr sicher, dass der TO das so gemeint hat? Mein erster Gedanke, aber ich mag mich irren, war, dass er im Quelltext die Lockbits beeinflussen will. Er schreibt von "Befehlen", also irgendwas, was zur Laufzeit ausgeführt wird, denke ich. Eine andere Deutung wären Direktiven (manche verwechseln das ja), die offebar die Arduino-IDE aus dem Quelltext lesen soll und damit avr-dude Parameter setzen.
Florian Hauer schrieb: > ich frage mich gerade wie man im Sourcecode die gewünschte Befehle für > das Setzen der Fuse und Lockbits eintragen könnte. Gar nicht. Die Lockbits und Fuses werden via Eintrag in boards.txt (und damit teilweise indirekt ueber das Menue) festgelegt. E.g.
1 | atmegasa16.name=ATmega328P Stand Alone (Arduino as ISP) |
2 | ... |
3 | atmegasa16.bootloader.low_fuses=0xff |
4 | atmegasa16.bootloader.high_fuses=0xdf |
5 | atmegasa16.bootloader.extended_fuses=0x05 |
6 | ... |
Das Schreiben der Bits erfolgt dann mit dem Schreiben des Bootloaders. leo
Die Lockbits lassen sich natürlich auch aus dem Program setzen. https://www.nongnu.org/avr-libc/user-manual/group__avr__boot.html#gadaa352690ac1c82c535da9d8faf77590 Oliver
Theor schrieb: > Eine andere Deutung wären Direktiven (manche verwechseln das ja), die > offebar die Arduino-IDE aus dem Quelltext lesen soll und damit avr-dude > Parameter setzen. Nein, die IDE müsste das nicht unbedingt aus dem Quelltext selbst lesen können, das funktioniert prinzipiell schon auch auf dem oben gezeigten Weg über das ELF-File. Atmel Studio unterstützt sowas beispielsweise. Es liegt aber an der IDE, die entsprechenden Sections aus dem ELF-File dann auch wirklich beim Programmieren „in Auftrag zu geben“.
Jörg W. schrieb: > Theor schrieb: >> Eine andere Deutung wären Direktiven (manche verwechseln das ja), die >> offebar die Arduino-IDE aus dem Quelltext lesen soll und damit avr-dude >> Parameter setzen. > > Nein, die IDE müsste das nicht unbedingt aus dem Quelltext selbst lesen > können, das funktioniert prinzipiell schon auch auf dem oben gezeigten > Weg über das ELF-File. Atmel Studio unterstützt sowas beispielsweise. Es > liegt aber an der IDE, die entsprechenden Sections aus dem ELF-File dann > auch wirklich beim Programmieren „in Auftrag zu geben“. Moment. Das ist wahrscheinlich ein Mißverständnis. Merkwürdig subtil, die Sache ... :-) Ich habe eine mögliche Deutung der Frage des TO in den Raum gestellt und gefragt ob diese aus Eurer Sicht möglich wäre. Darin steht, dass die IDE das tun "soll", "soll" im Sinne einer Spezifikation, einer Erwartung, eines Wunsches. Nicht, dass sie das "muss", weil es nicht anders geht oder umgekehrt, dass sie das nicht unbedingt muss, weil es auch anders geht.
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.