Firmware

From Tinkerunity
Jump to: navigation, search

Firmware für Bricks bzw. Bricklets verändern und kompilieren

unter Windows (Beispiel: IO4-Bricklet)

  • arm-2011.09-69-arm-none-eabi.exe suchen, runterladen und installieren
  • http://www.cmake.org/cmake/resources/software.html aufrufen, cmake-2.8.9-win32-x86.exe runterladen und installieren
    • bei der Installation der Frage nach Änderung der PATH-Variable zustimmen
  • ein Projektverzeichnis z.B. tinkerforge\io4 anlegen
  • dort die Verzeichnisse ...\tinkerforge\io4\software\src anlegen
  • https://github.com/Tinkerforge/bricklib aufrufen und ZIP-Datei runterladen
    • Verzeichnis ...\io4\software\src\bricklib anlegen
    • alle 6 Verzeichnisse in der ZIP-Datei (bricklet, com, drivers, ...) nach ...\bricklib kopieren
  • https://github.com/Tinkerforge/brickletlib aufrufen und ZIP-Datei runterladen
    • Verzeichnis ...\io4\software\src\brickletlib anlegen
    • alle 9 Dateien in der ZIP-Datei (bricklet.lds, bricklet_debug.h, ...) nach ...\brickletlib kopieren
  • https://github.com/Tinkerforge --> Brick(lett) wählen, dessen Firmware modifiziert werden soll, ZIP runterladen
    • Inhalt des Verzeichnisses ...\io4\software (3 Verzeichnisse + 4 Dateien) nach ...\software kopieren
  • in ...\io4\software\src\ befindet sich jetzt die u.a. Firmware-Datei io.c, die wir evtl. verändern möchten.
  • Firmware modifizieren:
    • als ersten Versuch könnte man z.B. die Versionsnummer der Firmware verändern, dabei kann man wenig falsch machen:
      • Die Datei ...\io4\software\src\config.h mit einem einfachen Editor öffnen
      • in den Zeilen 36, 37 und 38 andere Ziffern eintragen
      • Datei speichern
  • Neue Firmware kompilieren:
    • Ins Verzeichnis ...\io4\software wechseln
    • Batch-Datei generate_makefile.bat aufrufen
    • Keine schwerwiegenden Fehler angezeigt? Fertig!
    • Im Verzeichnis ...\io4\software\build liegt jetzt die Datei io4-bricklet.bin, die wir mit Hilfe des Brick-Viewers flashen können.
    • Anschließend den USB-Steckr ziehen und wieder einstecken.
    • Brick-Viewer starten und verbinden: im Verzeichnis der angeschlossenen Bausteine müsste jetzt das alte Bricklet mit neuer Versionsnummer zu sehen sein.