Ich möchte die Fuse-Bits des ATMega328 ändern, um mit einem externen Takt (Funktions-/Signalgenerator) anstelle des Quarzes zu arbeiten. Die Taktfrequenz beträgt 8 MHz. Ich habe es monatelang versucht und alle meine Versuche sind gescheitert, da ich die Chips aufgrund falscher Verbindungen oder falsch verstandener Bits gesperrt habe.
Ich verstehe den Teil, in dem wir den CKSEL auf 0000 (externe Uhr) setzen müssen.
Ich verstehe auch, wie wir das Avrdude verwenden und den Takteingang (Funktionsgenerator) mit dem XTAL1 verbinden
Mein Befehl wäre in etwa so:
avrdude -c avrispmk2 -p atmega328p -P COM6 -U lfuse:w:0xe0:m -U hfuse:w:0xde:m -U efuse:w:0xff:m
Ich habe mir einen avrispmk2 ISP gekauft und denke, dass ich an dieser Stelle die passenden Anschlüsse auf dem Steckbrett habe.
Meine Frage ist, welche Art von Änderungen muss ich nach dem Brennen der Chipsicherung an der Datei boards.txt vornehmen?
Muss ich die Fuse-Bits oder irgendetwas Extras in die boards.txt einfügen?
atmega328p.name=Mynewarduino
atmega328p.upload.protocol=avrispmkII
atmega328p.upload.maximum_size=32256
atmega328p.build.mcu= atmega328p
atmega328p.build.f_cpu=8000000L // clock speed is 8mhz now
atmega328p.build.core=arduino
atmega328p.build.variant=standard
Was sollte noch in der benutzerdefinierten boards.txt-Datei enthalten sein?
Ich versuche es seit Monaten und würde mich sehr über Antworten oder Kommentare freuen. Könnten Sie mir bitte die Schritte erklären, die ich befolgen kann, ohne einen weiteren Chip zu ruinieren?
Wenn ich das Verfahren richtig verstehe, sind dies die Schritte?
Stellen Sie geeignete Verbindungen mit ATmega328 und dem chiplosen Arduino-Board her, verbinden Sie sich mit dem ISP (mkii)
Brennen Sie die Sicherungen mit dem Avrdude gemäß den Sicherungsbits, während der Signalgenerator mit 8 MHz an XTAL1 angeschlossen ist
Ändern Sie in boards.txt die F_CPU auf 8000000L (oder müssen Sie einen neuen Eintrag in boards.txt erstellen?)
Laden Sie dann die Blink-Skizze mit Arduino IDE hoch (muss ich mit dem Programmierer hochladen?)
Wenn ich einen Schritt verpasse, würde ich mich freuen, zu hören.
Kopieren Sie den vorhandenen Eintrag und ändern Sie das verwendete Präfix. Jeder Eintrag muss eine eindeutige Kennung haben, und das Menü zeigt die verschiedenen <identifier>.name
Werte für jeden Eintrag. Ändern Sie nur die Variablen, die für den neuen Chip wichtig sind, in diesem Fall den f_cpu
Wert.
Wenn Sie keinen Bootloader verwenden, ändern Sie den maximum_size
Parameter auf die volle Größe des Flash auf dem Chip, dh 32768, und vergessen Sie nicht, die BOOTRST-Sicherung zu deprogrammieren. Andernfalls setzen Sie den Wert so, dass er die BOOTSZ-Sicherungen und die Größe des kompilierten Bootloaders ergänzt.
usw
Ignacio Vazquez-Abrams
usw
Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams