Go Down

Topic: HoodLoader2 einrichten (Read 1 time) previous topic - next topic

spaceball

Uuuuh! Fuses!!!
Na dann Ärmel hoch gekrempelt.

Erstes Problem: Externer Kristall 16MHz
Aus dem Bauch raus würd ich folgendes nehmen:
Code: [Select]
Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time: 258 CK + 65 ms; [CKSEL=1110 SUT=01]
Ist eh die Standarteinstellung ;-)
Oder doch folgendes? Ist meines Wissens beim 2560er so eingestellt !?
Code: [Select]
Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time: 1K CK + 65 ms; [CKSEL=1110 SUT=00]

Boot Flash Size ist mit 2KByte angegeben.
Der Rest reicht für die benötigte Sketchgröße von 5886 Bytes.
Oder kann ich die Boot Flash Size auch aufs Minimum (256 words) setzen, wenn ich gar keinen Softwarebootloader raufgeben will, sondern direkt den Sketch starten will?

Scheint nach meiner bescheidenen Meinung so zu passen:
Low         0x5E
High        0xD9
Extendet  0xF4

Gibt es bestimmte Fuses, die man auf keinen Fall anrühren darf?
Panik: Der Chip ist unwiederruflich gesperrt.....  :o

Danke im Voraus
Reinhard


SpaghettiCode

Hi,

Fuses sind bei mir auch noch ein offenes Thema, aber eines weiß ich:  Crystal Osc. ist nicht ext. Crystal!

Gruß André

combie

#17
Dec 06, 2019, 02:31 pm Last Edit: Dec 06, 2019, 02:33 pm by combie
Quote
Oder kann ich die Boot Flash Size auch aufs Minimum (256 words) setzen, wenn ich gar keinen Softwarebootloader raufgeben will,
Wenn du den ResetVector abschaltest, ist die Einstellung wirkungslos.
Also Default beibehalten.

Quote
Scheint nach meiner bescheidenen Meinung so zu passen:
Low         0x5E
High        0xD9
Extendet  0xF4
CKDIV8 ??
Du möchtest den 8U2 mit 2 MHz betreiben?

------

Quote
Gibt es bestimmte Fuses, die man auf keinen Fall anrühren darf?
Panik: Der Chip ist unwiederruflich gesperrt.....  :o
Aber sicher doch!
SPIEN sollte aktiv bleiben, sonst kein Programmieren über ISP
RSTDISBL sollte deaktiviert bleiben, sonst kein HardwareReset. Also auch kein ISP/Flip
Eine gültige Takt quelle ist natürlich auch überlebenswichtig.



Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

spaceball

Quote
CKDIV8 ??
Du möchtest den 8U2 mit 2 MHz betreiben?
Wohl eher nicht!  ;-)
Ich seh schon, ich muß mich da noch etwas weiter bilden!

Falls aber jemand ein Beispiel für eine Atmega8U2-board.txt hätte, wär ich dankbar.
Auf diesem Gebiet bin ich einfach totaler Frischling und möchte nichts zerschiessen (Fuses & Co).

PS.: @combie und allen anderen
Vielen Dank für die geduldige Hilfe und Unterstüzung


spaceball

Inzwischen hab ich mal die Fuses ausgelesen:

Atmega8U2 mit HoodLoader2 auf Arduino Mega 2560 Board
BODLEVEL = 3V0
HWBE = [ ]
DWEN = [ ]
RSTDISBL = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BOOTSZ = 2048W_800
BOOTRST = [X]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1

EXTENDED = 0xFC (valid)
HIGH = 0xD8 (valid)
LOW = 0xEF (valid)

Atmega8U2 Original auf Arduino Mega 2560 Board
BODLEVEL = 3V0
HWBE = [X]
DWEN = [ ]
RSTDISBL = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BOOTSZ = 2048W_800
BOOTRST = [ ]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1

EXTENDED = 0xF4 (valid)
HIGH = 0xD9 (valid)
LOW = 0xEF (valid)/td]
Es steht sowohl beim originalen als auch beim modifizierten Fuse-Set ein BOOTSZ von 2KByte.
Geh ich richtig, daß darin der Bootloader usw. drin sind?
Dann müßte ja auch der HoodLoader2 in diesen 2 KB drin sein?
Wenn dem so ist, müßte ich noch 6 KB übrig haben.
In der board.txt steht nun
# MCU properties
HoodLoader2atmega8u2.upload.maximum_size=4096
Was passiert, wenn ich maximum_size=6144 eingeb? (Abgesehen davon, daß ich mir schlimmstenfalls das bestehende Programm zerschieß. Kann ja aber wieder raufgeschrieben werden......).
Ist das Startbyte für das raufgeladene Programm dann immer am Anfang des 3. KByte?



spaceball

Habs jetzt mit "maximum_size=6144" probiert.
War wohl nix.
Wieder den HoodLoader drauf gemacht.....

Immer noch keinen Schritt weiter.

Da wird mir langsam Plan B wieder sympatischer: den Atmega8U2 gegen einen Atmega16U2 auszutauschen.... :smiley-twist:  :smiley-twist:  :smiley-twist:
Friß oder stirb Methode!

Da ist aber immer noch die Software-Methode lieber.
Bin jetzt aber mit der board.txt (abgesehen von den Fuses) immer noch nicht viel weiter.

Wenn mir da jemand weiter helfen könnte....  :smiley-red:

combie

Quote
Es steht sowohl beim originalen als auch beim modifizierten Fuse-Set ein BOOTSZ von 2KByte.
Solange du die Doku nicht aufmerksam liest, sehe ich schwarz.

Denn 2048W sind keinesfalls 2048 Byte.
Ganz und gar nicht!

Quote
Habs jetzt mit "maximum_size=6144" probiert.
Stochern im Nebel hilft dir da nicht weiter.
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

spaceball

OK!
Wer lesen kann ist im Vorteil!  :D
2048 Words = 4KB
Aber bei 310 Seiten + dürftiges Englisch + Zeit-zum-Schlafen-gehen erschließt sich einem oft nicht mehr die Weisheit des geschriebenen Wortes....
Da kommen dann auch Ideen wie besagte "6144" raus.
Stellt sich nur noch die Frage, ob der HoodLoader2 in einen Bootloader von reduzierten 2KB reinpaßt?
Wahrscheinlich nicht???

Hab mir jetzt auch diverse board.txt angeschaut.
Oft werden alle Fuses angegeben, dann nur die Low und High ohne Extendet, oder oder oder....
Werden sie nur gesetzt, wenn sie explizit in der board.txt angegeben werden?
Falls ich sie erst mit dem Atmel-Studio setze, brauch ich sie dann in der board.txt gar nicht mehr angeben?

Gruß
Reinhard

combie

#23
Dec 07, 2019, 12:53 pm Last Edit: Dec 07, 2019, 12:55 pm by combie
Quote
....dann nur die Low und High ohne Extendet, oder oder oder....
Das glaube ich dir nicht.
(bis zum Gegenbeweis)


Quote
Werden sie nur gesetzt, wenn sie explizit in der board.txt angegeben werden?
Warum sollte ich das für dich beantworten, .....

In der jeweiligen platform.txt findet sich das Kommando zum setzen der Fuses.
Dort findest du die Wahrheit

Wenn du die "Ausführlichen Ausgaben" aktivierst, dann zeigt dir die IDE sogar, was sie tut.
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

spaceball

Hallo,
ich bin nun zu folgendem gekommen:
Code: [Select]
atmega8u2.name=ATmega8U2

atmega8u2.bootloader.tool=avrdude
atmega8u2.upload.tool=avrdude

atmega8u2.build.mcu=atmega8u2
atmega8u2.build.core=arduino
atmega8u2.build.f_cpu=16000000L

atmega8u2.upload.maximum_size=4096
atmega8u2.upload.maximum_data_size=512

atmega8u2.bootloader.low_fuses=0xef
atmega8u2.bootloader.high_fuses=0xd9
atmega8u2.bootloader.extended_fuses=0xf4

atmega8u2.bootloader.unlock_bits=0x3F
atmega8u2.bootloader.lock_bits=0x0F


Frage a) Habs laut Vorschlag von combie in eine boards.local.txt gepackt und neben der boards.txt abgelegt.
            Die IDE zeigt mir aber nichts an. Was muß ich noch machen?
Frage b) Ist der Code so in Ordnung oder muß/soll ich noch was hinzufügen?
Frage c) Wenn ich die Programmierung über einen ISP-Programmer mache, kann ich dann auch eine kleinere "Boot Flash section" verwenden als 2048 words? Mit "upload.maximum_size=4096" für den eigentlichen Sketch hab ich nämlich nicht die notwendigen ca. 6.000 Bytes.

Gruß Reinhard

PS.:
Quote
Warum sollte ich das für dich beantworten, .....
... damit ich armer Tropf nicht so tief im Trüben fischen muss und am Ende verhungere   ;-)

combie

Quote
... damit ich armer Tropf nicht so tief im Trüben fischen muss und am Ende verhungere   ;-)
Du solltest selber fischen lernen!

Außerdem hörst du mir  ja sowieso nicht wirklich zu....
Oder vergisst du so schnell wieder?



Beispiel:
Quote
Frage c) Wenn ich die Programmierung über einen ISP-Programmer mache, kann ich dann auch eine kleinere "Boot Flash section" verwenden als 2048 words? Mit "upload.maximum_size=4096" für den eigentlichen Sketch hab ich nämlich nicht die notwendigen ca. 6.000 Bytes.
Meine schon gegebene Antwort:
> Wenn du den ResetVector abschaltest, ist die Einstellung wirkungslos.

Gemeint war: Dann kannst du die BootLoaderSizeFuses auf default lassen (oder beliebig einstellen) und den gesamten Flash für dein Programm nutzen.
Steht auch alles im Datenblatt.

Es ist also jetzt das dritte oder vierte mal dass du auf dem  Bootloader rum reistest, obwohl du doch keinen möchtest.....
Es wäre schön wenn der Groschen jetzt so langsam mal fällt, denn mir wird etwas langweilig.
Da liegt ein Strohalm auf dem Boden, und du handelst so, als wäre das ein 1000m tiefer Graben.
Traust dich nicht drüber weg.

-----

Am Rande:
Auch hier mal lesen
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

Go Up