Ich glaube, als der Leonardo vorgestellt wurde, habe ich einige Artikel darüber gelesen, wie man vorsichtig ist, wenn man einige Dinge tut, die dazu führen könnten, dass keine neuen Skizzen mehr geladen werden. Daher muss man den Bootloader neu schreiben. Da ich Energiesparoptionen verwenden möchte, z. B. um nicht verwendete Hardwarekomponenten wie den USB-Anschluss zu deaktivieren, befürchte ich, etwas falsch zu machen.
Eine Leonardo-Delikatesse, die ich bisher gefunden habe:
- Wenn Interrupts deaktiviert sind, schlägt das Hochladen neuer Skizzen fehl, es sei denn, man drückt die Reset-Taste, sobald die Arduino IDE "Uploading ..." anzeigt.
Welche Dinge (mit Ausnahme der üblichen hardwarebezogenen Überlegungen, wie das Anschließen von am Ausgang konfigurierten Pins an feste Potentiale) könnten den Controller beschädigen oder erfordern, den Leonardo mit einem neuen Bootloader neu zu flashen?
power
arduino-leonardo
Thomas S.
quelle
quelle
Antworten:
Wenn Sie ein Programm hochladen, das die Geschwindigkeit des USB-Kerns ändert, ist es fast blockiert. Was passieren würde ist folgendes:
Das Problem hierbei ist, dass Sie nicht nur auf Zurücksetzen auf Programm klicken müssen, sondern nach dem Zurücksetzen schnell den richtigen COM-Port auswählen und dann hochladen müssen, bevor das Programm gestartet wird.
Für das Redbearlab Blend Micro muss im Anwenderprogramm eine USB-Kerngeschwindigkeit eingestellt werden. In ihren Setup-Anweisungen gibt es einen Schritt, um die Arduino main.cpp zu bearbeiten und einen Abschnitt hinzuzufügen, um dies zu tun. Wenn dieser Schritt übersehen wird, tritt das obige Problem auf.
quelle
Ich habe es geschafft, einen ATMega128RFA1 zu mauern. Der Bootloader und die Software, die ich darin hochgeladen habe, funktionierten einwandfrei. Es war jedoch unmöglich, das ROM zu löschen / zu schreiben.
Nachdem ich überprüft hatte, was passiert ist, stellte ich im Datenblatt fest, dass einige Sicherungen im AVR-Kern das versehentliche Schreiben auf dem ROM schützen sollen. Eine Art Sicherheitssicherung.
Ich habe den Fehler, der in diesen Bytes geschrieben wurde, nie gefunden (da es ein wirklich großes Programm war und wir 3 Leute an der Codierung beteiligt waren), aber ja, wir haben nur eine Sicherung durchgebrannt und eine MCU wegen eines Fehlers verloren.
Was den Leonardo betrifft, könnten verschiedene Dinge passieren, aber keine davon kann Ihr Board ziegeln, es sei denn, Sie blasen eine dieser Schutzsicherungen durch.
quelle
Mit wirklich cleverem Code ist es möglich, den Bootloader auszunutzen, um sich selbst zu überschreiben.
Auszug:
Im Grunde genommen können Sie ausgefallene Programmierungen vornehmen und den Bootloader dazu bringen, sich selbst abzuspritzen, wodurch die MCU ohne einen speziellen Programmierer unbrauchbar wird.
quelle
Ich weiß, dass der Leonard wie eine USB-Maus wirkt, die überall klappt und zufällige Tasten eingibt, sodass Sie ihn nicht neu programmieren können, ohne einen Trick zu machen, um ihn zu umgehen. Aber sie erwähnen dies in den API-Dokumenten.
quelle