Arduino Micro Bootloader

Da Arduino leider sehr langsam Fortschritte in der Programmierung macht, spiele ich mit dem Gedanken, auf den Micro einen "besseren" Bootloader aufzuspielen und eine andere Implementierung der Arduinio-Software zu verwenden.

Ist es möglich, den Tee nsy 2.0 bootloader in den Micro reinzuspielen?
Der 32U4 Prozessor ist der Selbe und die HW sollte keine Probleme machen.
Nur der Weg ist mir nicht ganz klar? Bootloader auslesen und einfach in den Micro reinspielen?

Auch die Bootloader sind opensource und sollten irgendwo auf github zu finden sein.
Für den micro anpassen, übersetzen und fertig :stuck_out_tongue: :wink:

Um einen Bootloader zu brennen braucht es einen ISP-Programmierer oder DU verwendest einen Arduino UNO /MEGA dafür Use Arduino as an ISP programmer to program non-Arduino AVR microcontrollersHardware Fun | Hardware Fun

Grüße Uwe

Ich kann auf Github nichts finden.
Kann ich den Bootloader mit einem Sketch auslesen?

Du bist Dir schon im Klaren, dass Du mit dem Teensy-Bootloader die Arduino-IDE nicht mehr verwenden kannst, oder? Der HalfKay-Bootloader verwendet ein anderes Protokoll.

Stimmt, auf Anhieb hab ich auch nur fertige hex files gefunden ???

Auslesen/kopieren kannst du einen vorhandenen Bootloader mit deinem ISP und dem dazugehörigen Tool (avrdude o.ä)

@pylon: Gilt das auch für den Teensy 2.0 (auf 32U4 )?

Um den Teensy verwenden zu können, muss ich einen Installer über die Arduino IDE laufen lassen, der alles weitere anpasst, damit der Chip aus der IDE programmierbar ist.

@pylon, Caterina ist doch der Arduino bootloader, ich hätte aber gerne den besseren. Wie von Michael richtig erkannt den HalfKay.

Dieser ist aber closed source. Daher die Frage, kann ich den aus dem Teensy per Sketch auslesen? Anscheinend sind nämlich die SPI Fuses gesetzt.
Warscheinlich bewege mich hier aber am Rande der Legalität...

Anscheinend sind nämlich die SPI Fuses gesetzt.

Könntest den bootloader also gar nicht neu aufspielen, auf deinem Teensy 2.0 ?

#include <avr/pgmspace.h>
pgm_read_byte

Warscheinlich bewege mich hier aber am Rande der Legalität...

Hängt immer davon ab, was du damit machst.

  • Ausprobieren, was passiert, sollte kein Problem sein
  • Weitererzählen, wie es dir dabei ergangen ist ist was anderes als den bootloader weiterverkaufen. :wink:

Dieser ist aber closed source. Daher die Frage, kann ich den aus dem Teensy per Sketch auslesen? Anscheinend sind nämlich die SPI Fuses gesetzt.
Warscheinlich bewege mich hier aber am Rande der Legalität...

Man kann die AVR Fuses so setzen, dass ein Auslesen verhindert wird. Wenn das bei den Teensy's so gemacht wird (ich haben keinen), dürftest Du scheitern. PJRC scheint den Bootloader als Firmengeheimnis zu hüten, somit dürften sie alles unternehmen, dass Du ihn nicht auf den Micro kriegst. Wieso nimmst Du nicht gleichen einen Teensy, wenn Du diesen Bootloader willst?

#include <avr/pgmspace.h>
pgm_read_byte

Das könnte über die Boot Lock Bits verhindert werden (Section 27.4 des Datenblatts).

pylon:
...
Das könnte über die Boot Lock Bits verhindert werden (Section 27.4 des Datenblatts).

  1. Boot Loader Support – Read-While-Write Self-Programming
    27.4 Boot Loader Lock Bits

Das ist mir neu! Ich hatte mich am Anfang meiner Programmiererei durch die Datenblätter gewühlt. Arduino hat mich so verwöhnt, dass das nicht mehr notwendig war.
Der Bootloader Support bietet tatsächlich die Möglichkeit nur den Bootloader zu schützen.

Ich habe mir mal eine Hand voll Micros für diverse Zwecke gekauft, die ich nun - Aufgrund des größeren Funktionsumfangs der mich durchaus überzeugte - in Teensies umwandeln wollte.
Aber das droht gerade zu scheitern...
Bleibt nur noch die Variante eines frei Verfügbaren Loaders (Bootloaders - deskthority). DIe sind aber alle recht groß...