PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : boards.txt - Frage



Moppi
20.11.2018, 10:15
Hallo,

jetzt bin ich dabei an die boards.txt ranzugehen. Allerdings habe ich dazu Fragen zum Verständnis:

In der Datei steht alles schön drin, wie: uno.build.f_cpu=16000000L. Das ist ja wohl die Frequenz 16MHz, für den externen Takt.

Da stehen auch Sachen für die Fuse-Bits:

uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD

Jetzt nun die Frage:

Wenn man diese Einträge ändert und man wählt das Board über die Arduino-IDE aus, was passiert dann:

Werden dann, wenn ich einen Bootloader auf einen ATmega328P packe, diese Einstellungen übernommen?
Werden diese Einstellungen auch übernommen, wenn ich einen Bootloader schon drauf habe, aber einen Sketch uploade?
Oder werden diese Einstellungen gar nicht einfach übernommen und müssen wenn, dann noch woanders ebenfalls vorgenommen/geändert werden?



Ich will den externen Takt auf 1MHz anpassen, statt der üblichen 16MHz und die Fuse-Bits will ich vielleicht auch noch ändern.

MfG
Moppi

Ceos
20.11.2018, 11:15
Aus dem englisch sprachigen Arduino Forum lese ich heraus dass die Fuses nur beim "burn bootloader" gesetzt werden

eigentlich ein bisschen doof, da es gewisse fuse einstellungen gibt die man vll. doch anwendungsspezifisch setzen möchte ... aber irgendwas is ja immer : D

Moppi
20.11.2018, 11:35
Ja, danke Dir! Man muss es wissen, nicht dass man sich aus Versehen was zerhaut.

Also ich nehme als Programm: Arduino as ISP.
Und dann als Board, statt dem normalen Genuine UNO mein eigenes Profil mit den Änderungen.
Wenn ich dann den Bootloader auf meinen Atmega328P packe, dann macht er das mit diesen von mir in der boards.txt eingetragenen Änderungen (Fuse-Bits etc.) und dann ist das richtig eingestellt und der ADC und alles was einen Takt benötigt, taktet dann richtig? - Noch etwas übersehen?

MfG
Moppi

Ceos
20.11.2018, 11:44
Ich habe mir damals einen AVR Dragon für 40€ geschossen, der kann auch HVPP, damit kann man jeden Chip retten

https://www.microchip.com/Developmenttools/ProductDetails/ATAVRDRAGON

ich haben unten jeweils einen großen und kleinen sockel aus präzisions-federkontaktleisten gebaut, und oben auf die freien HVPP und routing anschlüsse stiftleisten gesetzt

zum verbinden habe ich dann ein flachbandkabel, das geteilt auf die versorgung und die HVPP schnittstelle geht und dann alle paar cm die adern aufgedröselt und in der richtigen reiohenfolge mit einem klemmstecker arrangiert (übles gefrickel) so dass ich einfach nur den passenden stecker auf die stiftleiste zum sockel stecken muss ohne die adern einzeln zu stecken

Moppi
21.11.2018, 09:41
Bevor jemand durch diesen Thread auf falsche Gedanken kommt: der Bootloader muss angepasst werden (ist in einer extra Datei hinterlegt). Allein die Einträge in der Boards.txt nutzen nichts. Dadurch wird - beim Aufspielen des Bootloaders, mittels Arduino-IDE - der Bootlader offenbar durch die Arduino-IDE selbst nicht angepasst. Wenn die Frequenz geändert wird, von 16MHz auf 1MHz z.B., dann muss u.U. auch die Kommunikationsgeschwindigkeit - also Baudrate - angepasst werden.

MfG
Moppi

oberallgeier
21.11.2018, 12:00
.. Wenn die Frequenz geändert wird, von 16MHz auf 1MHz z.B., dann muss u.U. auch die Kommunikationsgeschwindigkeit - also Baudrate - angepasst werden ..Ein kurzer Ausweg den ich (selten!) bei nem quick´ndirty-Test mache (aber ich habe keine ERfahrung mit der arduino-IDE) ist manchmal möglich durch Auslesen mit einer sinngemäß geänderten Baudrate. Beispiel: 328P@20 MHz, Baudrate 128000. Nach Umstellen der Fuses auf Internen 8 MHz Oszillator und CKDIV8 lese ich problemlos aus mit 5760 Baud *gg*. Terminal: v1.9b - 20040714 - by Br@y++.