Herunterladen Diese Seite drucken
Vorschau ausblenden Andere Handbücher für roloFlash 2 AVR:

Werbung

halec
Herrnröther Str. 54
63303 Dreieich
Germany
www.halec.de
Handbuch
roloFlash 2 AVR
Dokumentenversion 1.6.20 vom 2025-04-11
(Stand der Firmware: ab v07.AA)
Copyright © 2009-2025 halec. Alle Marken, Logos und Bilder sind Eigentum der jeweiligen Hersteller bzw. Urhe-
ber. Änderungen und Irrtümer vorbehalten.
i

Werbung

loading

Inhaltszusammenfassung für halec roloFlash 2 AVR

  • Seite 1 Herrnröther Str. 54 63303 Dreieich Germany www.halec.de Handbuch roloFlash 2 AVR Dokumentenversion 1.6.20 vom 2025-04-11 (Stand der Firmware: ab v07.AA) Copyright © 2009-2025 halec. Alle Marken, Logos und Bilder sind Eigentum der jeweiligen Hersteller bzw. Urhe- ber. Änderungen und Irrtümer vorbehalten.
  • Seite 2 Inhaltsverzeichnis I Vorwort........................1 II Verpackungsinhalt....................3 III Beschreibung..................... .4 1 Universal-Connector (Programmier-Buchse)...........4 1.1 Pin-Belegungen (Überblick)..............4 1.2 Pin-Belegung Atmel ISP-Interface............5 1.3 Pin-Belegung Atmel TPI-Interface............5 1.4 Pin-Belegung Atmel PDI-Interface............6 1.5 Pin-Belegung Atmel UPDI-Interface............6 2 Pullup- / Pulldown-Widerstände...............7 3 Spannungsbereich..................
  • Seite 3 3 Target allgemein................... .43 3.1 target_open................... .44 3.2 target_close................... .45 3.3 target_getPresent.................. .46 3.4 target_setMode..................48 3.5 target_restart..................50 3.6 Target-Memorymap lesen/schreiben............53 3.6.1 target_setMemoryMap..............53 3.6.2 target_getMemoryMap..............54 3.6.3 target_clearMemoryLayout............55 3.7 Target löschen, schreiben, lesen und verifizieren........56 3.7.1 target_erase.................56 3.7.2 target_writeFromFile..............
  • Seite 4 4.11 fd_idExists..................104 4.12 fd_isArray...................105 4.13 fd_getArraySize................. .106 4.14 fd_getType..................107 4.15 fd_getCountingBytes................108 4.16 fd_setCrc................... .109 4.17 fd_getCrc................... .110 4.18 fd_calcCrc...................112 4.19 fd_hasCrc...................113 4.20 fd_getFreeMem................. .114 4.21 fd_getBytesWritten................115 4.22 fd_setSingleBufferMode..............116 4.23 fd_getSingleBufferMode..............117 4.24 fd_cleanup..................118 4.25 fd_format...................
  • Seite 5 9.2 print..................... .150 9.3 sprint.....................151 9.4 delay.....................152 9.5 sys_getSystemTime................152 9.6 getTargetBoardVoltage................ .153 9.7 sys_setCpuClock................. .153 9.8 sys_getCpuClock.................155 9.9 sys_getEraseCounters................ .155 9.10 setBitBlock..................157 9.11 getBitBlock..................158 9.12 chain....................159 VII Exceptions.....................162 1 Exceptions des roloBasic................162 2 Exceptions des Dateisystems..............
  • Seite 6 2 AVR I Vorwort I Vorwort • Mit roloFlash können Sie mobil und unabhängig vom PC Ihre Produkte mit verschiedenen Mikrocontrollern flashen. Unter bestimmten Bedingungen können auch mehrere Mikrocontroller in Ihrem Produkt geflasht werden. Eine Liste der aktuell unterstützten Mikrocontroller finden Sie im Kapitel „Spezifikationen“.
  • Seite 7 2 AVR I Vorwort Außer „Flashen“ können Sie Ihre Mikrocontroller (Target) auch auslesen (und z. B. als HEX-Datei speichern), verifizieren (z. B. gegen eine HEX- Datei), löschen oder modifizieren. Aus Gründen der Verständlichkeit wird oft nur das „Flashen“ erwähnt, ohne die anderen Möglichkeiten jedesmal zu wiederholen.
  • Seite 8 2 AVR II Verpackungsinhalt II Verpackungsinhalt Bitte überprüfen Sie sorgfältig den Lieferumfang: • roloFlash 2 AVR • microSD-Karte - vorbereitet für den Einsatz in Ihrem roloFlash, mit Dokumentation, Beispielen, Firmware und roloBasic-Compiler - zum Einlegen in roloFlash Hinweis: Die microSD-Karte befindet sich entweder im roloFlash einge- steckt oder liegt bei.
  • Seite 9 2 AVR III Beschreibung III Beschreibung 1 Universal-Connector (Programmier-Buchse) Der 6-polige Universal-Connector wird entweder auf einen passenden Ste- cker des zu programmierenden Targetboards gesteckt oder über einen passenden Adapter mit dem zu programmierenden Targetboard verbun- den. Sie finden auf der Vorderseite des roloFlash direkt über der Buchse eine Pin-1-Markierung.
  • Seite 10 2 AVR III Beschreibung 1.2 Pin-Belegung Atmel ISP-Interface Wenn Sie das ISP-Interface benutzen, dann werden folgende Anschlüsse für den Bus verwendet: Signal Signal MISO     MOSI   Abbildung 2: Draufsicht auf ISP-Stecker eines Targetboards Die Pin-Belegung ist direkt für den von Atmel verwendeten ISP-Program- mierstecker passend, sie können roloFlash direkt und ohne Adapter auf-...
  • Seite 11 2 AVR III Beschreibung Die Pin-Belegung ist direkt für den von Atmel verwendeten TPI-Program- mierstecker passend, sie können roloFlash direkt und ohne Adapter auf- stecken. Hinweis: Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- Belegungen zu adaptieren: Bezeichnung...
  • Seite 12 2 AVR III Beschreibung Signal Signal   UPDI-DATA     Abbildung 5: Draufsicht auf UPDI-Stecker eines Targetboards Die Pin-Belegung ist direkt für den von Atmel verwendeten UPDI-Program- mierstecker passend, sie können roloFlash direkt und ohne Adapter auf- stecken.
  • Seite 13 2 AVR III Beschreibung 3 Spannungsbereich roloFlash wird vom Targetboard aus über Pin 2 (V ) versorgt. Dabei paßt roloFlash alle Datenleitungen auf diese Spannung an. Spannungsbereich: 2,0 Volt - 5,5 Volt 4 Elektrische Schutzmaßnahmen roloFlash bietet folgende Schutzmaßnahmen: • Bei Verpolung der Versorgungsspannung wird die Stromversor- gungsverbindung über einen Transistor reversibel aufgetrennt.
  • Seite 14 2 AVR III Beschreibung 6 microSD-Kartenslot Für eine microSD- oder microSDHC-Karte, die das abzuarbeitende Skript (RUN_V07.BIN) sowie die zu flashenden Dateien enthält. Hinweis: Die Datei RUN_V07.BIN kann auch in der Flash-Disk abgelegt sein. Falls die Datei dort vorhanden ist, dann ist sie gegenüber einer et- waigen Datei gleichen Namens auf der SD-Karte priorisiert.
  • Seite 15 Versionen von roloFlash die Datei akzeptieren. Andernfalls wird der Compiler das Übersetzen verweigern. Die Versionsnummer entspricht dem Major-Teil der Softwareversion des roloFlash. • Varianten roloFlash 2 und roloFlash 2 AVR: Die Basic-Dateien sind auf allen Varianten ausführbar. Es gibt keinen separaten Compiler. Die Magic-Cookie-Zeile ist identisch.
  • Seite 16 2 AVR III Beschreibung Hier ist der Ablauf denkbar einfach: • Targetboard mit Energie versorgen. • roloFlash auf den passenden Stecker des Targetboards aufstecken oder die Verbindung mit einem Adapter herstellen. • roloFlash wird vom Targetboard mit Energie versorgt und beginnt auto- matisch mit der Abarbeitung der Datei „RUN_V07.BIN“.
  • Seite 17 Namen: • RF2_06ZZ.HMP für roloFlash 2 • RF2A06ZZ.HMP für roloFlash 2 AVR Diese ist aus Sicht des alten Bootloaders eine normale Firmware und kann wie gewohnt aufgebracht werden. Das Update besteht aus zwei Schritten, die unbedingt beide in dieser Reihenfolge ausgeführt werden müssen:...
  • Seite 18 2 AVR IV Aktualisieren von roloFlash • Der Vorgang wird mittels der LEDs angezeigt, siehe Kapitel „roloFlash- Aktualisierung“. • Solange die microSD-Karte noch nicht eingesteckt ist, leuchtet LED 1 rot. • Während der Aktualisierung blinken LED 2 und LED 3 im Wechsel grün.
  • Seite 19 2 AVR IV Aktualisieren von roloFlash 2 Aktualisieren der Firmware roloFlash verfügt selbst über eine eigene Firmware, die aktualisiert werden kann. Versionsnummern Die Versionsnummer setzt sich aus major und minor zusammen: • major: Major wird angepaßt wenn: - sich die roloBasic-Schnittstelle ändert.
  • Seite 20 2 AVR IV Aktualisieren von roloFlash roloFlash. Zum Aktualisieren muß sich exakt eine Firmware-Datei im Hauptverzeichnis der microSD-Karte befinden. Sind mehrere Dateien vorhanden, wird die Aktualisierung nicht gestartet. • Verbinden Sie roloFlash mit einem Targetboard zur Stromversorgung. Die Aktualisierung beginnt und wird durch LED-Muster angezeigt (siehe nächstes Kapitel „Der Vorgang des Aktualisierens“).
  • Seite 21 2 AVR IV Aktualisieren von roloFlash • Bitte löschen Sie nun die Firmware-Datei auf der SD-Karte. • Ab dem nächsten Einstecken läuft roloFlash mit der aktualisierten Firm- ware. Falls die Aktualisierung nicht erfolgreich gewesen sein sollte, verwenden Sie bitte eine frisch unter Windows 7 oder höher mit FAT32 formatierte mi- croSD-Karte, auf der sich ausschließlich die Datei für die Firmware-Aktua-...
  • Seite 22 2 AVR V Liste der mitgelieferten roloBasic- Skripte V Liste der mitgelieferten roloBa- sic-Skripte • "Hello world" • scripts\hello-world\RUN_V07.BAS • Zusätzlich befindet sich dieses Skript und die kompilierte RUN_V07.BIN bei Auslieferung im Hauptverzeichnis der SD-Karte. Vorbereitung: • Zum Verwenden kopieren Sie bitte das Skript als RUN_V07.BAS in das Hauptverzeichnis der microSD-Karte.
  • Seite 23 2 AVR V Liste der mitgelieferten roloBasic- Skripte • Starten Sie den Compiler mittels „compile_V07.bat“, um aus der RUN_V07.BAS die benötigte RUN_V07.BIN zu erzeugen. Funktion: • Löscht eine eventuell vorhandene vorherige LOG.TXT-Datei. • Schreibt in die LOG.TXT-Datei Versionsnummern etc. des roloFlash: •...
  • Seite 24 2 AVR V Liste der mitgelieferten roloBasic- Skripte Funktion: • Startet ein Lauflicht von LED 1 zu LED 4, um einen Flash-Vorgang darzustellen. • Löscht eine eventuell vorhandene vorherige LOG.TXT-Datei. • Öffnet den jeweiligen Bus zum Target. • Liest aus der internen Datenbank des roloFlash spezifische Informati- onen für den von Ihnen angegebenen Controller aus, darunter die ID...
  • Seite 25 2 AVR V Liste der mitgelieferten roloBasic- Skripte • Passen Sie bitte anschließend in der Datei den Namen Ihres Targets und die Dateinamen der HEX-Datei an. Zusätzlich zur Angabe einer HEX-Datei für den Flashspeicher können Sie auch eine weitere HEX- Datei für das EEPROM angeben.
  • Seite 26 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) VI roloFlash-API (Liste der Proze- duren und Funktionen) Mit API (Application Programming Interface) ist die Schnittstelle gemeint, durch die roloBasic Zugriff auf alle roloFlash-spezifischen Prozeduren und Funktionen erlangt. Prozeduren: Prozeduren haben keinen Rückgabewert. Die übergebenen Parame- ter müssen ohne Klammern angegeben werden.
  • Seite 27 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • Zusammensetzung von mehrere Wörtern in Namen von Funktio- nen, Prozeduren und Variablen: der erste Buchstabe des Na- mens (und des ersten Wortes nach einem Unterstrich ("_")) ist ein Kleinbuchstabe, jedes weitere Wort fängt mit einem Groß- buchstaben an.
  • Seite 28 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Name des Targets. Es kann sein, daß der Name in der Datenbank verkürzt abgespeichert ist. Das ist dann der Fall, falls es mehrere Targets gibt, die sich z.B. nur in der Gehäuseform unterscheiden und ansonsten gleiche Parameter haben.
  • Seite 29 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Mögliche Werte für property sind: DB_NAME: Name des Targets. (Dieser kann kürzer sein als der Na- me, der zur Ermittlung des dbHandles angegeben wurde) DB_FAMILY: Ein Wert, der die Zugehörigkeit zu einer bestimmten Familie angibt.
  • Seite 30 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • Beim Öffnen wird geprüft, ob der Bus zur Verfügung steht. Sollte der Bus schon geöffnet sein, wird eine Exception erzeugt (resour- ceUnavailable). Die gleiche Exception erhalten Sie, falls Sie schon einen anderen Bus geöffnet haben und die Signale oder interne...
  • Seite 31 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Gibt an, der wievielte Bus geöffnet werden soll. Der erste Bus hat den Index 0. speed Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Geschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig.
  • Seite 32 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: busHandle Das BusHandle auf den geöffneten Bus. Rückgabewert: - keiner (Prozedur) Exceptions: invalidHandle Handle ist schon geschlossen apiTypeFault Unzulässiger Typ für busHandle 2.3 bus_setSpeed bus_setSpeed(<busHandle>, <speed>) Ändert bei einem bereits geöffneten Bus die Busgeschwindigkeit. Die ma- ximale Busgeschwindigkeit wird auf „speed“...
  • Seite 33 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Geschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig. Verfügbare Geschwindigkeiten finden Sie im jeweiligen Unterkapitel für den verwendeten Bus. Falls die angegebene Frequenz nicht unterstützt wird, dann wird in- tern auf den nächsten möglichen Wert abgerundet.
  • Seite 34 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges busHandle Parameter: busHandle Das von bus_open erhaltene Bus-Handle. Rückgabewert: - Busgeschwindigkeit in Hz Exceptions: apiTypeFault Unzulässiger Typ für busHandle 2.5 Atmel ISP-Bus Allgemeine Informationen zu Bussen finden Sie im übergeordneten Kapi- tel.
  • Seite 35 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) ISP für IPS-Bus. indexOfBus Muß 0 sein (es gibt jeweils nur einen Bus). speed Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Busgeschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig.
  • Seite 36 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 88235 87209 86206 84745 83333 81967 80645 79365 78125 76923 75757 74626 73529 72463 71428 70422 69124 67873 66666 65502 64377 63291 62240 61224 60000 58823 57692 56603 55555 54545...
  • Seite 37 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Falls Sie die Schnittstelle schon geöffnet haben und dann mittels sys_setCpuClock den Takt des roloFlashs ändern, dann ändert sich auch die Geschwindigkeit des Busses. Daher wird empfohlen: • Verwenden Sie sys_setCpuClock zuerst und öffnen dann erst den Bus.
  • Seite 38 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges busHandle Parameter: busHandle Das von bus_open erhaltene Bus-Handle. resetMode - PIN_ACTIVELOW: - Wenn kein Reset angelegt ist, ist die RST-Leitung hochohmig. - Wenn ein Reset angelegt ist, ist die RST-Leitung aktiv low.
  • Seite 39 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 2.6 Atmel TPI-Bus Allgemeine Informationen zu Bussen finden Sie im übergeordneten Kapi- tel. Hier wird darauf aufbauend auf das spezifische Verhalten bei dem TPI- Bus eingegangen. 2.6.1 bus_open(TPI, …) und verfügbare Geschwindigkeiten busHandle = bus_open(TPI, <indexOfBus>, <speed>)
  • Seite 40 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 483870 468750 454545 441176 428571 416666 405405 394736 384615 375000 365853 357142 348837 340909 333333 326086 319148 312500 306122 300000 294117 288461 283018 277777 272727 267857 263157 258620 254237 250000...
  • Seite 41 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 1500000 750000 500000 375000 300000 250000 214285 187500 166666 150000 136363 125000 115384 107142 100000 93750 88235 83333 78947 75000 71428 68181 65217 62500 60000 57692 55555 53571 51724 50000...
  • Seite 42 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für index oder speed. apiTypeFault Unzulässiger Typ für index oder speed resourceUnavailable Der Bus kann nicht geöffnet werden. Mögliche Gründe: - Der Bus wurde bereits geöffnet - ein anderer Bus wurde geöffnet, und das...
  • Seite 43 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - Wenn kein Reset angelegt ist, ist die RST-Leitung hochohmig. - Wenn ein Reset angelegt ist, ist die RST-Leitung aktiv high. - PIN_PUSHPULL: - Wenn kein Reset angelegt ist, ist die RST-Leitung aktiv high.
  • Seite 44 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Öffnet den PDI-Bus und initialisiert die Leitungen. Die maximale Busge- schwindigkeit wird auf „speed“ begrenzt. Setzt die Programmiergeschwin- digkeit für das Target. Vorbedingung: - keine Parameter: busType PDI für PDI-Bus.
  • Seite 45 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 174418 172413 170454 168539 166666 164835 163043 161290 159574 157894 156250 154639 153061 151515 150000 148514 147058 145631 144230 142857 141509 140186 138888 137614 136363 135135 133928 132743 131578 130434...
  • Seite 46 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für index oder speed. apiTypeFault Unzulässiger Typ für index oder speed resourceUnavailable Der Bus kann nicht geöffnet werden. Mögliche Gründe: - Der Bus wurde bereits geöffnet - ein anderer Bus wurde geöffnet, und das...
  • Seite 47 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Busgeschwindigkeiten sind von der CPU-Clock (sys_set- CpuClock) des roloFlash abhängig. Bei maximaler CPU-Clock = 120 Mhz werden die folgenden Busge- schwindigkeiten unterstützt:...
  • Seite 48 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Falls die angegebene Frequenz nicht unterstützt wird, dann wird in- tern auf den nächsten möglichen Wert abgerundet. Die minimale Busgeschwindigkeit wird von Atmel mit 100 kHz angegeben. Bei An- gabe von kleineren Werten wird auf 100 kHz aufgerundet.
  • Seite 49 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • Grundsätzlich muß vorab der passende Bus geöffnet worden sein. • Ein an dem Bus angeschlossener Mikrocontroller (Target) kann erst angesprochen werden, wenn man von dem Bus ein Target-Handle erhalten hat.
  • Seite 50 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Bitte bei Bussen, an denen nur ein Target angeschlossen sein kann (z.B. ISP-Bus) immer 0 angeben. family Mit diesem Parameter wird festgelegt, welcher Controller-Familie der Controller zugeordnet ist. Der Wert dazu kann direkt angeben wer- den oder gegebenenfalls aus der internen Datenbank ausgelesen werden.
  • Seite 51 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Das Target-Handle auf das geöffnete Target. Rückgabewert: - keiner (Prozedur) Exceptions: invalidHandle Das Target-Handle ist schon geschlossen, oder der dazu gehörige Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ für targetHandle...
  • Seite 52 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweis Atmel ISP-Bus: Falls das Target im RunMode ist, dann wird bei dem Target vorüberge- hend ein Reset angelegt und es in den ProgramMode versetzt. Nach der Abfrage wird der Reset aufgehoben und der RunMode erreicht. Ein evtl.
  • Seite 53 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ des Target-Handles Das Target kann sich in folgenden Betriebsmodi befinden: • RunMode : Target läuft ganz normal, als ob roloFlash nicht angeschlossen wäre.
  • Seite 54 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - gültiges targetHandle Parameter: targetHandle Das Target-Handle auf das anzusprechende Target targetMode Angabe des gewünschten Modus: PROGRAMMODE: Dieser Modus ist Voraussetzung für die meisten weiteren Funktionen mit dem Target, insbesondere für das Beschrei- ben des Flashspeichers.
  • Seite 55 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweis Atmel UPDI-Bus: • programMode: Falls das Target im RunMode ist, dann wird das Target in den „Programming Enable Mode“ geschaltet und im Reset gehalten. Ein evtl. auf dem Target laufendes Programm wird dadurch angehalten.
  • Seite 56 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Es wird empfohlen, dieses Kommando nur einzusetzen, wenn dieses ent- weder nicht kritisch ist oder sich noch keine Firmware auf dem Target be- findet. Hinweis Atmel ISP-Bus: Der „Programming Enable Mode“ wird aufgehoben, der Reset wird wegge- nommen.
  • Seite 57 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Der Reset ist zwar Teil des PDI-Busses, wird aber bei PDI nicht als Reset genutzt. Folglich kann der Bus benutzt werden, ohne das Target im Reset zu halten. RunMode Es wird kurzzeitig (100 ms) der Reset aktiviert, dann deaktiviert. Das Target läuft daher vom Anfang los.
  • Seite 58 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.6 Target-Memorymap lesen/schreiben Für verschiedene Speicherarten in den Targets unterstützt roloFlash eine sogenannte MemoryMap. Diese kann je nach Target und Speicherart In- formationen über verschiedene Eigenschaften (sog. Properties) des Spei- chers zur Verfügung stellen bzw.
  • Seite 59 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) MEM_STARTADDR: Startadresse des Speichers MEM_SIZE: Größe des Speichers in Bytes MEM_PAGESIZE: für bestimmte Targets: Größe einer Speicherseite value der zu setzende Wert Rückgabewert: - keiner (Prozedur) Exceptions: targetCommunication Die Kommunikation mit dem Target funktioniert nicht.
  • Seite 60 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Das Target-Handle auf das anzusprechende Target memType die gewählte Speicherart: FLASH: Flash-Speicher RAM: RAM-Speicher EEPROM: EEPROM-Speicher memProperty das gewählte Property: MEM_STARTADDR: Startadresse des Speichers MEM_SIZE: Größe des Speichers in Bytes MEM_PAGESIZE: für bestimmte Targets: Größe einer Speicherseite...
  • Seite 61 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode".
  • Seite 62 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) target_erase <targetHandle, memType, eraseScope, num- ber> Löscht den angegebenen Speicher des Targets in angegebenem Umfang. Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target...
  • Seite 63 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) (nur bei STM32L0, STM32L1 und STM32WB) Die Bedeutung ist von der verwendeten Familie abhängig: • STM32L0 und STM32L1: erste Adresse innerhalb der Page, die gelöscht werden soll • STM32WB: Index der zu löschenden Page Rückgabewert:...
  • Seite 64 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Gibt an, auf welchem Dateisystem sich die Datei befindet. Mögliche Werte sind: SDCARD, FLASHVARS, FLASHDISK fileName Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Flash-Da- ta“. fileFormat Gibt an, in welchem Format die Datei vorliegt. Mögliche Werte sind: HEX: Intel-HEX-Format (ASCII-Datei).
  • Seite 65 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) optionaler Parameter zum Schreiben einer verschlüsselten Datei. Weitere Informationen zum Aufbau des Parameters finden Sie in dem Kapitel „Target löschen, schreiben, lesen und verifizieren“ Für den Parameter padding innerhalb der enthaltenden dataSpec gilt: •...
  • Seite 66 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetMemoryLayout, Siehe Kapitel „Exceptions des roloFlash“. hexFileSize, hexFileCRC, hexFileSyntax, srecRecordTypeTooSmall targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. targetError Es gibt einen Fehler auf dem Target apiTypeFault Unzulässiger Typ für einen der Parameter.
  • Seite 67 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) targetHandle Das targetHandle auf das anzusprechende Target. fileSystem Gibt an, auf welchem Dateisystem die Datei angelegt werden soll. Mögliche Werte sind: SDCARD, FLASHVARS, FLASHDISK fileName Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Flash-Da- ta“.
  • Seite 68 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Werte führen zu unerwarteten Fehlfunktion. Während bei den Intel- Hex-Formaten 255 Bytes möglich sind, ist bei den verschiedenen Motorola SREC-Formaten die maximale Anzahl wenige Bytes gerin- ger. Der angegebene Wert wird automatisch korrigiert. Somit erhal- ten Sie mit der Angabe von 255 immer die maximal mögliche Anzahl...
  • Seite 69 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetMemoryLayout, Siehe Kapitel „Exceptions des roloFlash“. hexFileSize, hexFileCRC, hexFileSyntax und srecRecordTypeTooSmall targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. targetError Es gibt einen Fehler auf dem Target apiTypeFault Unzulässiger Typ für einen der Parameter.
  • Seite 70 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Gibt an, welcher Speicher beschrieben werden soll. Die Angabe ist für die jeweilige Targetfamilie spezifisch und ist in den jeweiligen Ka- piteln beschrieben. verify Gibt an, ob ein Verify durchgeführt werden soll. Mögliche Werte sind:...
  • Seite 71 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Liest aus dem Speicher des Targets, erzeugt ein Char-Array im Basic und befüllt dieses Array mit den gelesenen Daten. Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein.
  • Seite 72 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: OutOfMemory Es steht nicht genug Speicher zur Verfügung, um das Basic Array anzulegen targetMemoryLayout Siehe Kapitel „Exceptions des roloFlash“. targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht.
  • Seite 73 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) In den Dokumenten des Herstellers werden über die verschiedenen Con- troller die Begriffe „Device ID“ und „Signature“ benutzt. Unabhängig davon wird bei roloFlash immer von einer Device ID ausgegangen. Vorbedingung: - gültiges Target-Handle...
  • Seite 74 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: targetHandle Das Target-Handle auf das anzusprechende Target index Gibt an, welche Fuses bzw. Lock-Bits gelesen werden sollen. Es gibt dazu die Konstanten FUSES_LOW, FUSES_HIGH, FUSES_EXT und LOCK_BITS. Bei Controllern, die keine Extended-Fuses haben, ist der ausgelese- ne Wert bei FUSES_EXT unbestimmt (es wird keine Exception er- zeugt).
  • Seite 75 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.8.3 target_writeBits target_writeBits <targetHandle>, <index>, <value> Schreibt die angegebenen Fuse- bzw. Lock-Bits. Vorsicht: – Es kann Kombinationen geben, die Ihren Chip unbrauchbar ma- chen. Achten Sie bitte auf die Werte und prüfen Sie diese im Hand- buch des Controllers.
  • Seite 76 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Bei Controllern, die keine Extended-Fuses haben, findet bei FUSES_EXT kein Schreibvorgang statt (es wird keine Exception er- zeugt). value Zu schreibende Fuse-Bit-Kombination als Byte. Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode".
  • Seite 77 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Für Controller mit 256 kB Flash oder mehr ist der normale Befehlssatz zum Programmieren über das ISP-Interface nicht mehr ausreichend. Es wird dann ein Extended Address Mode benötigt. Beim Einstellen der Größe des Flash-Speichers (mittels target_setMe- moryMap mit memType = flash und memProperty = mm_size) wird der Wert automatisch passend gesetzt.
  • Seite 78 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Es wird kein Loader verwendet. MemTypes: Unterstützte memTypes beim Schreiben: • FLASH Unterstützte memTypes beim Lesen: • FLASH 3.9.1 target_getDeviceId s = target_getDeviceId(<targetHandle>) Liest die Signature / Device ID des Targets. Anhand dieser lassen sich die verschiedenen Controller unterscheiden.
  • Seite 79 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ für Target-Handle.
  • Seite 80 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.9.3 target_writeBits target_writeBits <targetHandle>, <index>, <value> Schreibt die angegebenen Fuse- bzw. Lock-Bits. Vorsicht: – Es kann Kombinationen geben, die Ihren Chip unbrauchbar ma- chen. Achten Sie bitte auf die Werte und prüfen Sie diese im Hand- buch des Controllers.
  • Seite 81 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Lock-Bits: für die Lockbits value Zu schreibende Fuse-/Lock-Bit-Kombination als Byte. Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. apiValueRange Unzulässiger Wert für index oder value...
  • Seite 82 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Liest die Device ID des Targets. Anhand dieser lassen sich die verschie- denen Controller unterscheiden. Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: TargetHandle Das Target-Handle auf das anzusprechende Target Rückgabewert:...
  • Seite 83 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: targetHandle Das Target-Handle auf das anzusprechende Target index 0: Fuse-Byte 0 1: Fuse-Byte 1 2: Fuse-Byte 2 3: <nicht zulässig> 4: Fuse-Byte 4 5: Fuse-Byte 5 6: <nicht zulässig>...
  • Seite 84 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) – Es kann Kombinationen geben, die Ihren Chip unbrauchbar ma- chen. Achten Sie bitte auf die Werte und prüfen Sie diese im Hand- buch des Controllers. – Setzen Sie die Lock-Bits erst, nachdem Sie alle anderen Zugriffe auf den Chip ausgeführt haben.
  • Seite 85 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) values Zu schreibende Fuse-/Lock-Bit-Kombination als Byte. Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. apiValueRange Unzulässiger Wert für index oder value...
  • Seite 86 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Liest die Signature / Device ID des Targets. Anhand dieser lassen sich die verschiedenen Controller unterscheiden. Hinweis: In den Dokumenten des Herstellers werden über die verschiedenen Con- troller die Begriffe „Device ID“ und „Signature“ benutzt.Unabhängig davon wird bei roloFlash immer von einer Device ID ausgegangen.
  • Seite 87 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target index (aus Hersteller Dokumentation zu ATtiny417/817) 0: WDTCFG 1: BODCFG 2: OSCCFG 3: <nicht zulässig>...
  • Seite 88 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.11.3 target_writeBits target_writeBits <targetHandle>, <index>, <value> Schreibt die angegebenen Fuse- bzw. Lock-Bits. Vorsicht: – Es kann Kombinationen geben, die Ihren Chip unbrauchbar ma- chen. Achten Sie bitte auf die Werte und prüfen Sie diese im Hand- buch des Controllers.
  • Seite 89 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 2: OSCCFG 3: <nicht zulässig> 4: TCD0CFG 5: SYSCFG0 6: SYSCFG1 7: APPEND 8: BOOTEND 9: <nicht zulässig> 10: Lock-Bits Hinweis: für die Lock-Bits kann auch die Konstante LOCK_BITS verwendet werden.
  • Seite 90 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Unterstützte memTypes beim Lesen: • FLASH • • READMEMORY 3.12.1 target_getDeviceId id = target_getDeviceId(<targetHandle>) Liest die Signature / Device ID des Targets. Anhand dieser lassen sich die verschiedenen Controller unterscheiden.
  • Seite 91 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. invalidHandle Das Target-Handle ist schon geschlossen oder der Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ für TargetHandle.
  • Seite 92 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Technische Unterschiede zwischen Flash-Disk und Flash-Vars • die Größe • Flash-Vars lassen sich nicht auf singleBuffer umstellen Einsatz als Filesystem In beiden Speichersystemen können Sie Dateien anlegen, lesen, schrei- ben, so wie es bei einem Dateisystem üblich ist. Die entsprechenden Funktionen sind im nächsten Kapitel "Dateien"...
  • Seite 93 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Desweiteren können Werte mit einem CRC32 abgesichert werden. Beim Auslesen wird dieses dann automatisch geprüft. Interne Darstellung Die Bereiche Flash-Disk und Flash-Vars werden im internen Flashspeicher des roloFlash abgelegt. Dieser interne Flashspeicher ist in Sektoren orga- nisiert, die sich nur komplett löschen lassen und dabei altern.
  • Seite 94 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Im Singlebuffer-Verfahren ist der gesamte Speicher in einem Block un- tergebracht. Daher kann der Speicher von gelöschten oder überschriebe- nen Daten nicht mehr freigegeben werden. (außer mit fd_format). Jedoch wird auch im Singlebuffer-Verfahren solange wie möglich doch intern das Doublebuffer-Verfahren verwendet.
  • Seite 95 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Einsatzzweck Flash-Disk versus Flash-Vars • Einsatzzweck Flash-Disk: Sollte vorzugsweise für größere und nicht häufig zu ersetzende Dateien wie Images zum Flashen oder auch die RUN_V07.BIN verwendet werden. • Einsatzzweck Flash-Vars: Sollte vorzugsweise für kleine Informatio- nen, wie Zähler etc.
  • Seite 96 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. data Eine Zahl oder ein array of Byte, array of Int oder array of Long. Bei Array of Byte können anschließend auch Funktionen (mit "fs_"...
  • Seite 97 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.2 fd_createArray fd_createArray <fileSystem>, <id>, <size>, <type>, <crcMode> Erzeugt ein leeres Array vom angegebenen Typ und Größe. Es kann ein CRC vorgesehen (nicht gesetzt) werden. Das Array ist mit Nullen initiali- siert.
  • Seite 98 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) CHAR: Es wird ein Array of Char angelegt. INT: Es wird ein Array of Int angelegt. LONG: Es wird ein Array of Long angelegt crcMode (optional, Default = NOCRC) Mögliche Werte sind:...
  • Seite 99 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll. Mögliche Werte sind: SDCARD: Es wird in der auf der SD-Karte angelegten Datei die Än- derung gespeichert.
  • Seite 100 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.4 fd_writeSubArray fd_writeSubArray <fileSystem>, <id>, <index>, <data> Überschreibt in dem unter der angegebenen id vorhandene Array ab der Position index Daten.
  • Seite 101 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. index Die Position, ab der die Daten geschrieben werden sollen.
  • Seite 102 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - Unter der id müssen Daten vorhanden sein. Bei SD-Karte müssen die Daten im roloFlash-spezifischen Format vorliegen, also mittels fd_write bzw. fd_createArray erzeugt worden sein. Parameter: fileSystem Gibt an, auf welchem Dateisystem die Funktion ausgeführt werden soll.
  • Seite 103 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.6 fd_readArrayElem value = fd_readArrayElem(<fileSystem, <id>, <index>, <crcMode>) Liest ein Element aus dem unter der angegebenen id gespeicherten Array. Atomar: - Reine Lesefunktion Vorbedingung: - Unter der id müssen Daten vorhanden sein. Bei SD-Karte müssen die Daten im roloFlash-spezifischen Format vorliegen, also mittels fd_write bzw.
  • Seite 104 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) (optional, Default = TRYCRC) Mögliche Werte sind: NOCRC: CRC muss nicht vorhanden sein. Falls vorhanden, wird er ignoriert. TRYCRC: CRC muss nicht vorhanden sein. Falls vorhanden ist, wird er ausgewertet.
  • Seite 105 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - Unter der id müssen Daten vorhanden sein. Bei SD-Karte müssen die Daten im roloFlash-spezifischen Format vorliegen, also mittels fd_write bzw. fd_createArray erzeugt worden sein. Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll.
  • Seite 106 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweis: Unter der angegebenen id müssen Daten eines Array-Typen vorhanden sein. Exceptions: dataTypeError Versuchter Zugriff auf Daten, die nicht vom Typ eines Arrays sind. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“.
  • Seite 107 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. Rückgabewert: - keiner (Prozedur) Exceptions: FileNotFound Die angegebene Datei existiert nicht.
  • Seite 108 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - Anzahl der gespeicherten Elemente Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.10 fd_getId id = fd_getId(<fileSystem>, <index>) Ermittelt die Id des gespeicherten Elementes mit dem gegebenen Index.
  • Seite 109 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - Zusammen mit der Funktion fd_getItemCount können alle gespeicherten Elemente angesprochen werden. Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.11 fd_idExists found = fd_idExists(<fileSystem>, <id>) Ermittelt ob unter der angegeben Id etwas gespeichert ist.
  • Seite 110 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. Rückgabewert: 0 = Datei existiert nicht 1 = Datei existiert Exceptions: <diverse Exceptions des...
  • Seite 111 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. Rückgabewert: 0 = kein Array (Zahl oder Inkrementtyp)
  • Seite 112 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) FLASHVARS und FLASHDISK Eine Zahl oder ein array of Byte. Sollte als <fileSystem> SDCARD angegeben sein, muss id einem gültigen Dateinamen für die SD-Kar- te entsprechen. Rückgabewert: Anzahl der Elemente Hinweis: Unter der angegebenen id müssen Daten eines Array-Typen vorhanden...
  • Seite 113 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll. Mögliche Werte sind: SDCARD: Es wird eine Datei auf der SD-Karte gelesen, die von rolo- Flash mittels fd_write bzw. fd_createArray angelegt wurde, in der die- se Information gespeichert wird.
  • Seite 114 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll. Mögliche Werte sind: SDCARD: Es wird eine Datei auf der SD-Karte gelesen, die von rolo- Flash mittels fd_write bzw.
  • Seite 115 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Atomar: - ja (Verhalten SD-Karte unspezifiziert): Der CRC wird bei einem Stromausfall entweder gesetzt oder bleibt ungesetzt. Vorbedingung: - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll.
  • Seite 116 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Liest den gespeicherten CRC aus. Falls dieser noch nicht gesetzt ist, wird eine 0 ausgegeben. Atomar: - Reine Lesefunktion Vorbedingung: - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll.
  • Seite 117 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.18 fd_calcCrc crc = fd_calcCrc(<fileSystem>, <id>) Berechnet den CRC für die gespeicherten Daten. Dies kann auch ausge- führt werden, wenn kein CRC geplant war. Atomar: - Reine Lesefunktion Vorbedingung: - keine...
  • Seite 118 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.19 fd_hasCrc hasCrc = fd_hasCrc(<fileSystem>, <id>) Gibt an, ob für die gespeicherten Daten ein CRC vorgesehen ist. Atomar: - Reine Lesefunktion Vorbedingung: - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll.
  • Seite 119 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.20 fd_getFreeMem size = fd_getFreeMem(<fileSystem>) Gibt an, wieviel Speicher noch zur Verfügung steht. Hinweis: Das Verhalten unterscheidet sich je nach Double- versus Singlebuffer-Ver- fahren: Bei Doublebuffer-Verfahren, und im Singlebuffer-Verfahren soweit dieses noch möglich ist, steht der Speicher von gelöschten oder über-...
  • Seite 120 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.21 fd_getBytesWritten count = fd_getBytesWritten(<fileSystem>) Gibt an, wieviele Bytes im Speicher im aktuellen Powercycle geschrieben wurden. Damit kann beurteilt werden, wie sich die Vorgänge auf die Alte- rung des Speichers auswirken werden.
  • Seite 121 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.22 fd_setSingleBufferMode fd_setSingleBufferMode <fileSystem>, <value> Stellt den Speicher auf Doubelbuffering oder Singlebuffering um. Dieses geschieht ohne Datenverlust. Sollte es ohne Datenverlust nicht möglich sein, dann gibt es eine Exception. In diesem Fall müssen erst Daten ge- löscht werden, gegebenenfalls muss formatiert werden.
  • Seite 122 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.23 fd_getSingleBufferMode value = fd_getSingleBufferMode(<fileSystem>) Ermittelt, ob der Speicher im Single- oder Doublebuffermode betrieben wird. Atomar: - Reine Lesefunktion Vorbedingung:...
  • Seite 123 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.24 fd_cleanup fd_cleanup <fileSystem> Sorgt dafür, das gelöschte oder überschriebene Werte im Speicher wirk- lich physikalisch gelöscht sind (Security-Feature). Atomar: - Nein: Bei einer Unterbrechung in der Stromversorgung kann es sein, daß...
  • Seite 124 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.25 fd_format fd_format <fileSystem> Löscht alle Daten. Die Daten werden dabei auch im Speicher wirklich phy- sikalisch gelöscht sind (Security-Feature). Atomar: - Nein: Bei einer Unterbrechung in der Stromversorgung kann es sein, daß...
  • Seite 125 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 5 Dateien Dateisysteme: Es können je nach roloFlash-Version auf folgende Dateisystem zuge- friffen werden. • SD-Karte (Konstante: SDCARD) • Flash-Vars (Konstante: FLASHVARS) • Flash-Disk (Konstante: FLASHDISK) Vorgaben für Dateinamen für die SD-Karte : •...
  • Seite 126 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • Es gibt kein „change directory“. Der aktuelle Pfad bleibt immer das Hauptverzeichnis. Ein Dateiname muß daher immer den kompletten Pfad beinhalten. • Als Trennzeichen zwischen Verzeichnissen und Dateiname werden „/“...
  • Seite 127 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: 0 = Medium existiert nicht 1 = Medium existiert Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 5.2 fs_create fs_create <fileSystem>, <fileName>, <size> Erzeugt die angegebene Datei. Die Datei ist danach noch immer geschlos- sen.
  • Seite 128 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Für Flash-Data: Der Dateiname muss einer gültigen ID für Flash-Da- ta entsprechen, siehe „Vorgaben für IDs". size Größe der anzulegenden Datei, die Datei wird mit Nullen gefüllt. Für SDCARD: Der Parameter ist optional.
  • Seite 129 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) SDCARD, FLASHVARS und FLASHDISK Aus Kompatibilitätsgründen wird auch eine 0 für die SD-Karte akzep- tiert. fileNameOld, fileNameNew Für SD-Karte: Der Dateiname muss einem gültigen Dateinamen für die SD-Karte entsprechen, siehe „Vorgaben für Dateinamen".
  • Seite 130 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Für SD-Karte: Der Dateiname muss einem gültigen Dateinamen für die SD-Karte entsprechen, siehe „Vorgaben für Dateinamen". Für Flash-Data: Der Dateiname muss einer gültigen ID für Flash-Da- ta entsprechen, siehe „Vorgaben für IDs".
  • Seite 131 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) dirName Für SD-Karte: Der Verzeichnissname muss einem gültigen Verzeich- nissname für die SD-Karte entsprechen, siehe „Vorgaben für Datei- namen". Rückgabewert: - keiner (Prozedur) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“.
  • Seite 132 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Für Flash-Data: Der Dateiname muss einer gültigen ID für Flash-Da- ta entsprechen, siehe „Vorgaben für IDs". Rückgabewert: 0 = Datei existiert nicht 1 = Datei existiert Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“.
  • Seite 133 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Es wird die Dateigröße in Bytes zurückgegeben. Hinweis: Bei Zugriff auf FlashVars bzw. FlashDisk müssen unter dem angegebenen Dateinamen Daten vom Typ "array of byte" vorhanden sein. Exceptions: dataTypeError Versuchter Zugriff auf Daten, die nicht vom Typ "array of bytes"...
  • Seite 134 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: Es w ird ein Filehandle zum Zugriff auf die Datei (z. B. für fs_read und fs_write) zurückgegeben. Das Filehandle wird außerdem zum Schlie- ßen der Datei (fs_close) benötigt. Hinweis: Bei Zugriff auf FlashVars bzw. FlashDisk müssen unter dem angegebenen Dateinamen Daten vom Typ array of Byte vorhanden sein.
  • Seite 135 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: Array of Byte mit den gelesenen Daten. Das Array hat die Größe von count. Falls nicht mehr genügend Daten zu lesen waren, ist das Array entsprechend kleiner. Wird am Dateiende oder darüber hinaus versucht zu lesen, wird ein leeres Array mit der Größe 0 zurückgegeben.
  • Seite 136 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Array of Byte mit den zu schreibenden Daten. Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für fileHandle, position oder count. apiTypeFault Unzulässiger Typ für fileHandle, position oder count. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“.
  • Seite 137 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für fileHandle. apiTypeFault Unzulässiger Typ für fileHandle oder len. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 5.12 fs_close fs_close <fileHandle> Schließt die Datei. Das angegebene Filehandle wird dadurch ungültig und darf nicht mehr verwendet werden.
  • Seite 138 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 5.13 fs_sync fs_sync <fileSystem> Stellt sicher, dass alle Daten, die evtl. noch nicht auf die Karte geschrie- ben wurden, nun geschrieben werden. Es wird empfohlen, wenn Schreib- zugriffe auf die Karte stattfinden, diese Prozedur anschließend aufzurufen.
  • Seite 139 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • Es läßt sich aus roloBasic heraus immer nur maximal 1 LED zum Leuch- ten bringen, um die Strombelastung des Targets so gering wie möglich zu halten. Numerierung und Farben: •...
  • Seite 140 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für index oder color. apiTypeFault Unzulässiger Typ für index oder color. 6.2 led_off led_off Schaltet alle LEDs aus. Vorbedingung: - keine Parameter: - keine Rückgabewert: - keiner (Prozedur)
  • Seite 141 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: index Nummer der LED color COLOR_GREEN bzw. COLOR_RED speed Geschwindigkeit des Blinkens in [ms] Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für index, color oder speed.
  • Seite 142 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Ist 'from' kleiner als 'to', läuft das Lauflicht „anders herum“. Ist 'from' gleich 'to', leuchtet die eine LED ständig. color COLOR_GREEN bzw. COLOR_RED speed Geschwindigkeit des Lauflichts in [ms] Rückgabewert:...
  • Seite 143 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) COLOR_GREEN bzw. COLOR_RED speed Geschwindigkeit des Lauflichts in [ms] outstandingLedNumber Nummer der LED, die mit der anderen Farbe aufleuchtet. Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für from, to, color, speed oder outstandingLedNumber.
  • Seite 144 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) • SEC_FIRSTBLOCK: Muss beim ersten Block der Daten gesetzt sein, eine neue Berechnung beginnt. • SEC_NEXTBLOCK: Der Block ist weder der erste noch der letzte Block einer Berechnung. • SEC_LASTBLOCK: Muss beim letzten Block angegeben werden, damit die Berechnung abgeschlossen wird.
  • Seite 145 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) ◦ SEC_CTR: counter mode, statt dem Klartext wird ein Counter verschluesselt, beim ersten Block 0, dann 1 etc. Das Ergebnis wird mit dem Klartext verXodert. Bei diesem Mode sind Sie nicht an Blockgrößen gebunden, da die Daten nicht durch den Algo-...
  • Seite 146 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) crcValue = sec_crc(<fileSystem>, <fileName>, <crcSpec>, <opstate>) Berechnet den CRC-32 für ein Array oder für eine Datei. Vorbedingung: - keine Parameter: array (für Daten) Ein array of char, array of int oder array of long (außer vari-Array), welches die Daten enthält.
  • Seite 147 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - Mittels opstate kann der CRC-Wert über mehrere Arrays und Dateien (auch gemischt) berechnet werden. Exceptions: secError - allgemeiner Fehler bei der Berechnung - Es wurde als opstate SEC_NEXTBLOCK oder SEC_LASTBLOCK angegeben ohne das vorher SEC_FIRSTBLOCK verwendet wurde.
  • Seite 148 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Flash-Da- ta“. hashSpec Bitte geben Sie hier die Konstante SEC_MD5 oder SEC_HASH an. opstate (optional) Wird benötigt, wenn Sie den Hash von mehreren Daten zusammen berechnen möchten.
  • Seite 149 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: array Ein array of char, array of int oder array of long (außer vari-Array), welches die Daten enthält. Die Länge der Daten muß ein Vielfaches der Blockgröße der Verschlüsselung (AES: 16 Bytes) sein.
  • Seite 150 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) werden kann. Sie erleichtern damit die interne Speicherverwaltung. Bei- spiel für 1024 Bytes: array = reserve(char, 1024 + 16) resize array , 1024 - Die Verschlüsselung arbeitet mit Daten in Arrays. In der Skriptsammlung finden Sie eine Funktion zum Ver- und Entschlüsseln von Dateien.
  • Seite 151 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) state angegeben oder opstate = SEC_SINGLEBLOCK oder opstate = SEC_LAST- BLOCK) cryptSpec Enthält die Informationen zur Entschlüsselung, unter anderem den Schlüssel. Die Definition finden Sie am Anfang des Kapitels Secu- reApi.
  • Seite 152 Mit folgenden Systemfunktionen / Systemkonstanten können Sie verschie- dene Informationen Ihres roloFlashs ermitteln. 8.1 Versionsnummern etc.  Name Wert / Bedeutung sys_companyName „halec <https://halec.de>“ sys_deviceName „roloFlash 2“ oder „roloFlash 2 AVR“ sys_softwareVersion Versionsnummer der Firmware sys_hardwareVersion Versionsnummer der Hardware sys_bootloaderVersion Versionsnummer des Bootloaders sys_imageVersion roloFlash erwartet das vom Compiler erzeugte Image in dieser Version.
  • Seite 153 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Die uniqueId ist für jeden roloFlash eindeutig. Sie können somit roloBasic- Skripte erstellen, die nur auf bestimmten roloFlash ablaufen. Beispiel: 1. Einmalig die uniqueId ermitteln: print "uniqueId: ", sys_uniqueId, "\r\n"...
  • Seite 154 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Der Ausdruck erfolgt an das Ende der Datei „LOG.TXT“. Wenn die Datei noch nicht existiert, dann wird sie erzeugt. Vorbedingung: - keine Parameter: logMode: LOGMODE_OFF: print-Ausgaben werden unterdrückt. LOGMODE_NORMAL: Die Datei wird geöffnet und bleibt geöffnet.
  • Seite 155 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) leuchten lassen, dann tun Sie das bitte erst am Ende, damit das abschlie- ßende Schreiben noch in der Reaktionszeit des Benutzers abgeschlossen werden kann. Vermutlich wird dieser roloFlash abziehen. Exceptions: apiValueRange Unzulässiger Wert für logMode.
  • Seite 156 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 9.3 sprint s = sprint(<a>, <b>, ...) Es werden die Parameter a, b etc. als Strings zurückgeliefert. Die An- zahl der Parameter ist beliebig. Die Ausgabe ist gleich wie bei print, jedoch wird hier nicht in die Datei „LOG.TXT“...
  • Seite 157 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 9.4 delay delay <duration> Es wird die angegebene Zeitdauer in ms abgewartet. Erst danach kehrt die Prozedur zurück. Vorbedingung: - keine Parameter: duration Zeitangabe in ms, die gewartet werden soll.
  • Seite 158 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Rückgabewert: Systemzeit in [ms]. Exceptions: - keine 9.6 getTargetBoardVoltage u = getTargetBoardVoltage Ermittelt die Spannung in mV, die das Targetboard liefert. Vorbedingung: - keine Parameter: - keine Rückgabewert: Ausgelesene Spannung in mV.
  • Seite 159 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Es wird der interne CPU-Takt des roloFlash geändert. • ein höherer Takt benötigt mehr Energie vom Targetboard • ein niedriger Takt benötigt evtl. längere Zeit, um das roloBasic- Skript inkl. Flashen abzuarbeiten.
  • Seite 160 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) 9.8 sys_getCpuClock frequency = sys_getCpuClock Ermittelt den aktuellen Takt des roloFlash in Hz. Vorbedingung: - keine Parameter: - keine Rückgabewert: Ausgelesener Takt in Hz. Exceptions: - keine 9.9 sys_getEraseCounters eraseCounters = sys_getEraseCounters Ermittelt, wie oft bestimmt Sektoren des roloFlashs gelöscht wurden.
  • Seite 161 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - Ein Array of Long mit 12 Werten, die den Sektoren des roloFlash ent- sprechen. Gründe für das Löschen von Sektoren sind: • Bei Flash-Data & Doublebuffering: Wenn eine Speicheranforderung nicht mehr direkt bedient werden konnte und damit ein Wechsel der Buffer ausgelöst wurde.
  • Seite 162 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: - keine 9.10 setBitBlock setBitBlock <destArray, sourceArray, position, length> Kopiert die mit length angegebene Anzahl an Bits vom Anfang des sour- ceArrays an die angegebene Bitposition im destArray. •...
  • Seite 163 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Position im DestArray, an den die Daten kopiert werden sollen. Die Position muss sich innerhalb des DestArrays befinden. length Anzahl der Bits. Diese wird gegebenenfalls soweit verringert, dass sowohl das SourceArray die Daten aufnehmen kann als auch das DestArray genügend Daten liefern kann.
  • Seite 164 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: sourceArray Array (Array of char, Array of int oder Array of long), aus dem die Da- ten von der angebenen Position an kopiert werden sollen. position Position im SourceArray, von wo aus die Daten kopiert werden sol- len.
  • Seite 165 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: fileSystem Gibt an, auf welchem Dateisystem die Prozedur ausgeführt werden soll. Mögliche Werte sind: SDCARD, FLASHVARS und FLASHDISK Aus Kompatibilitätsgründen wird auch eine 0 für die SD-Karte akzep- tiert.
  • Seite 166 2 AVR VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiTypeFault Unzulässiger Typ dataTypeError Versuchter Zugriff auf Daten, die nicht vom Typ "array of bytes" sind ( FlashVars bzw. FlashDisk) <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems>...
  • Seite 167 2 AVR VII Exceptions VII Exceptions Im Handbuch für das roloBasic finden Sie die genaue Beschreibung, wie Exceptions ausgelöst und wieder gefangen werden können. Wird eine Ex- ception nicht gefangen, wird die Exception mittels der LEDs angezeigt. Falls dabei die Exception keine Zahl darstellt, wird die Exception „excepti- onNotANumber“...
  • Seite 168 2 AVR VII Exceptions Name Nummer Bedeutung outOfMemory Zu wenig freier Speicher vorhanden rootstackOverflow Interner Systemfehler nullpointerAccess Interner Systemfehler valueRange Wertbereichsüberschreitung, z.B. bei Zuweisung von Werten an Arrays divisionByZero Division durch 0. Kann bei div oder mod auftreten argumentFault Ungültige Anzahl Argumente beim Aufruf einer...
  • Seite 169 2 AVR VII Exceptions truncateError Das Kürzen einer Datei mittels fs_truncate ist fehlgeschlagen. illegalCluster Probleme innerhalb des Dateisystems. Das Dateisystem sollte auf dem PC auf Konsistenz geprüft werden. fileLocked Es wurde versucht, eine bereits geöffnete Datei ein zweites Mal zu öffnen. Evtl. wurde ein fs_close vergessen.
  • Seite 170 2 AVR VII Exceptions die Exception exceptionIsNotANumber umgewandelt und der Code als Blinkcode ausgegeben, z. B.: throw "error" 4 Exceptions des roloFlash Name Nummer Bedeutung exceptionIsNotANumber Es wurde eine Exception erzeugt, die keine Zahl ist, und innerhalb des roloBasic nicht mehr gefangen wurde.
  • Seite 171 2 AVR VII Exceptions badArgumentCount) apiTypeFault Ein an eine API-Funktion / Prozedur übergebener Parameter hat einen nicht passenden Typen. (Hinweis: die Fehlernummer ist exakt 200 größer als die entsprechende Exception des roloBasic: typeFault) targetWrongMode Die aufgerufene Prozedur oder Funktion erfordert einen bestimmten Mode des Targets.
  • Seite 172 2 AVR VII Exceptions falls schon ein anderer Bus geöffnet hat, der zumindest teilweise auf die gleichen Ressourcen zugreift. Insbesondere tritt diese Exception auf, wenn der gleiche Bus zweimal geöffnet wird. unknownTarget In der Datenbank ist der angefragte Controller nicht aufgeführt (siehe db_getHandle)
  • Seite 173 2 AVR VII Exceptions NOCRC angelegt, aber mit crcMode = USECRC abgefragt). fdCRCnotSupported Bei Flash-Data wird für den Inkrementtyp ein CRC gefordert. Der Inkrementtyp unterstützt keinen CRC (siehe fd_write). fdCRCalreadySetError Bei Flash-Data kann auch bei einem Arraytypen ein CRC vorgesehen werden. Dieser ist anfangs nicht gesetzt und kann nur einmalig gesetzt werden.
  • Seite 174 2 AVR VIII Bedeutungen von LED-Codes VIII Bedeutungen von LED-Codes 1 Normaler Betrieb 1.1 Keine microSD-Karte gefunden LEDs: 1: rot Bedeutung: Keine microSD-Karte gefunden, bzw. die Karte ist nicht mit FAT32 formatiert. Hinweis: Für den normalen Betrieb ist es Voraussetzung, daß beim Anschlie- ßen des roloFlash die microSD-Karte bereits eingelegt ist.
  • Seite 175 2 AVR VIII Bedeutungen von LED-Codes 1: rot: geht am Anfang des Blinkcodes kurz aus und wieder an 2: rot: blinkend, Anzahl entspricht 1000-er der Exception 3: rot: blinkend, Anzahl entspricht 100-er der Exception 4: rot: blinkend, Anzahl entspricht 10-er der Exception...
  • Seite 176 2 AVR VIII Bedeutungen von LED-Codes 2.2 Aktualisierung läuft LEDs: 1: rot 2: grün \ im Wechsel blinkend 3: grün / Bedeutung: Die Aktualisierung läuft. Diese benötigt circa 10-15 Sekunden, bitte nicht abbrechen. 2.3 Aktualisierung mit Erfolg abgeschlossen LEDs: 1: rot Hinweis: bei dem vorherigen Bootloader leuchtet die LED grün.
  • Seite 177 2 AVR VIII Bedeutungen von LED-Codes Die Aktualisierung schlug mit einem Dateifehler fehl. Die alte Firm- ware steht evtl. noch zur Verfügung. Mögliche Abhilfe: • Aktualisierung nochmals versuchen. • Aktualisierung mit einer anderen Firmware durchführen. 2.5 Aktualisierung fehlerhaft: Datei nicht gefunden...
  • Seite 178 2 AVR VIII Bedeutungen von LED-Codes tig ist, welche Datei verwendet werden soll. Die alte Firmware steht noch zur Verfügung. Mögliche Abhilfe: Es darf nur eine Datei vorhanden sein, die für eine Aktualisierung ge- eignet ist. Überflüssige Dateien bitte entfernen und dann Aktualisie- rung nochmals versuchen.
  • Seite 179 2 AVR IX Spezifikationen IX Spezifikationen 1 Unterstützte Controller von Atmel Folgende Controller sind in der Datenbank bekannt. Die hier angegebenen Namen können mit db_getHandle verwendet werden. 1.1 AVR (ISP-Interface) Anschluß über ISP-Interface. Unterstützte Controller: AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM1,...
  • Seite 180 2 AVR IX Spezifikationen ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega16HVA, ATmega16HVA2, ATmega16HVB, ATmega16HVBrevB, ATmega16M1, ATmega16U2, ATmega16U4, ATmega2560, ATmega2561, ATmega2564RFR2, ATmega256RFR2, ATmega32, ATmega323, ATmega324A, ATmega324P, ATmega324PA, ATmega324PB, ATmega325, ATmega3250, ATmega3250A, ATmega3250P, ATmega3250PA, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega328PB, ATmega329, ATmega3290, ATmega3290A,...
  • Seite 181 2 AVR IX Spezifikationen ATtiny1634, ATtiny167, ATtiny22, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny26, ATtiny261, ATtiny261A, ATtiny4313, ATtiny43U, ATtiny44, ATtiny441, ATtiny44A, ATtiny45, ATtiny461, ATtiny461A, ATtiny48, ATtiny80, ATtiny828, ATtiny84, ATtiny840, ATtiny841, ATtiny84A, ATtiny85, ATtiny861, ATtiny861A, ATtiny87, ATtiny88 1.2 AVR (TPI-Interface) Anschluß über TPI-Interface.
  • Seite 182 2 AVR IX Spezifikationen ATxmega32C3, ATxmega32C4, ATxmega32D3, ATxmega32D4, ATxmega32E5, ATxmega384C3, ATxmega384D3, ATxmega64A1, ATxmega64A1U, ATxmega64A3, ATxmega64A3U, ATxmega64A4U, ATxmega64B1, ATxmega64B3, ATxmega64C3, ATxmega64D3, ATxmega64D4, ATxmega8E5 1.4 AVR (UPDI-Interface) Anschluß über UPDI-Interface. Unterstützte Controller: ATmega3208, ATmega3209, ATmega4808, ATmega4809, ATtiny1604, ATtiny1606, ATtiny1607, ATtiny1614, ATtiny1616,...
  • Seite 183 2 AVR IX Spezifikationen AT32UC3L0256, AT32UC3L032, AT32UC3L064, 2 Technische Daten • Unterstützte Controller der Atmel-AVR-Serie mit ISP-Interface: • AT90 • ATtiny • ATmega • Unterstützte Controller der Atmel-AVR-Serie mit TPI-Interface: • alle Derivate • Unterstützte Controller der Atmel-AVR-XMega-Serie mit PDI-Inter- face: •...
  • Seite 184 2 AVR IX Spezifikationen • Gehäusegröße (ohne Universal-Connector): Höhe 46 mm, Breite 22 mm, Tiefe 10 mm © halec 2025...