Herunterladen Inhalt Inhalt Diese Seite drucken
halec roloFlash 2 Handbuch
Vorschau ausblenden Andere Handbücher für roloFlash 2:
Inhaltsverzeichnis

Werbung

halec
Herrnröther Str. 54
63303 Dreieich
Germany
www.halec.de
Handbuch
roloFlash 2
Dokumentenversion 1.6.2 vom 2020-03-06
(Stand der Software: 06.AB)
Copyright © 2009-2020 halec. Alle Marken, Logos und Bilder sind Eigentum der jeweiligen Hersteller bzw. Urhe-
ber. Änderungen und Irrtümer vorbehalten.
i

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für halec roloFlash 2

  • Seite 1 Herrnröther Str. 54 63303 Dreieich Germany www.halec.de Handbuch roloFlash 2 Dokumentenversion 1.6.2 vom 2020-03-06 (Stand der Software: 06.AB) Copyright © 2009-2020 halec. Alle Marken, Logos und Bilder sind Eigentum der jeweiligen Hersteller bzw. Urhe- ber. Änderungen und Irrtümer vorbehalten.
  • Seite 2: Inhaltsverzeichnis

    Inhaltsverzeichnis I Vorwort........................1 II Verpackungsinhalt....................3 III Beschreibung......................4 1 Programmier-Buchse..................4 1.1 Pin-Belegungen (Überblick)..............4 1.2 Pin-Belegung JTAG-Interface..............5 1.3 Pin-Belegung SWD-Interface..............6 1.4 Pin-Belegung Atmel ISP-Interface............7 1.5 Pin-Belegung Atmel TPI-Interface............8 1.6 Pin-Belegung Atmel PDI-Interface............9 1.7 Pin-Belegung Atmel UPDI-Interface............10 1.8 Pin-Belegung UART-Interface 0.............11 1.9 Pin-Belegung UART-Interface 1.............12 1.10 Pin-Belegung GPIO-Interface...............12 2 Pullup- / Pulldown-Widerstände..............13 3 Spannungsbereich..................14...
  • Seite 3 2.5.9 bus_read..................45 2.6 Atmel ISP-Bus..................46 2.6.1 bus_open(ISP, …) und verfügbare Geschwindigkeiten....46 2.6.2 Reset-Mode einstellen..............49 2.7 Atmel TPI-Bus..................51 2.7.1 bus_open(TPI, …) und verfügbare Geschwindigkeiten....51 2.7.2 Reset-Mode einstellen..............54 2.8 Atmel PDI-Bus..................55 2.8.1 bus_open(PDI, …) und verfügbare Geschwindigkeiten....55 2.9 Atmel UPDI-Bus..................58 2.9.1 bus_open(UPDI, …) und verfügbare Geschwindigkeiten...58 2.10 UART....................60 2.10.1 bus_open(UART, …) und verfügbare Geschwindigkeiten..60 2.10.2 bus_write..................66...
  • Seite 4 3.11.3 target_writeBits................106 3.12 Target Atmel PDI (PDI-Interface)............107 3.12.1 target_getDeviceId..............108 3.12.2 target_readBits................108 3.12.3 target_writeBits................110 3.13 Target Atmel UPDI (UPDI-Interface)..........111 3.13.1 target_getDeviceId..............112 3.13.2 target_readBits................113 3.13.3 target_writeBits................114 4 Dateien......................115 4.1 fs_create....................116 4.2 fs_remove.....................117 4.3 fs_mkDir....................118 4.4 fs_fileExists...................119 4.5 fs_filesize....................119 4.6 fs_open....................120 4.7 fs_read....................121 4.8 fs_write....................122 4.9 fs_truncate....................123 4.10 fs_close....................124...
  • Seite 5 VII Exceptions.....................146 1 Exceptions des roloBasic................146 2 Exceptions des Dateisystems..............147 3 Exceptions des roloFlash................148 4 Vom Benutzer ausgelöste Exceptions............151 VIII Bedeutungen von LED-Codes..............152 1 Normaler Betrieb..................152 1.1 Keine microSD-Karte gefunden............152 1.2 Exception aufgetreten................152 2 roloFlash-Aktualisierung................153 2.1 Warten auf microSD-Karte für Aktualisierung........153 2.2 Aktualisierung läuft................154 2.3 Aktualisierung mit Erfolg abgeschlossen..........154 2.4 Aktualisierung fehlerhaft: Dateifehler...........154...
  • Seite 6: I Vorwort

    2 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 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: Verpackungsinhalt

    2 II Verpackungsinhalt II Verpackungsinhalt Bitte überprüfen Sie sorgfältig den Lieferumfang: • roloFlash 2 • 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: Beschreibung

    2 III Beschreibung III Beschreibung 1 Programmier-Buchse Die 10-polige Programmier-Buchse wird entweder auf einen passenden Stecker 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: Pin-Belegung Jtag-Interface

    2 III Beschreibung Hinweis: Es gibt zahlreiche Adapter, um die Pin-Belegung des roloFlash auf ver- schiedene übliche Programmierstecker-Belegungen anzupassen; diese werden bei den entsprechenden Bussen aufgelistet. Darüber hinaus gibt es einen Universal-Adapter: Bezeichnung Pins Reihen Rastermaß [mm] roloFlash-2-Universal-Adapter 1-20...
  • Seite 11: Pin-Belegung Swd-Interface

    2 III Beschreibung Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- belegungen zu adaptieren: Bezeichnung Pins Rei- Rastermaß [mm] roloFlash-2-Target-Adapter ARM JTAG 20p 2,54 roloFlash-2-Target-Adapter ARM Cortex Debug 10p HD 10 1,27 roloFlash-2-Universal-Adapter 1-20 1-2 1,27 (SMD) u.
  • Seite 12: Pin-Belegung Atmel Isp-Interface

    2 III Beschreibung Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- belegungen zu adaptieren: Bezeichnung Pins Rei- Rastermaß [mm] roloFlash-2-Target-Adapter ARM JTAG 20p 2,54 roloFlash-2-Target-Adapter ARM Cortex Debug 10p HD 10 1,27 roloFlash-2-Universal-Adapter 1-20 1-2 1,27 (SMD) u.
  • Seite 13: Pin-Belegung Atmel Tpi-Interface

    2 III Beschreibung Hinweis: Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- Belegungen zu adaptieren: Bezeichnung Pins Reihen Rastermaß [mm] roloFlash-2-Target-Adapter Atmel ISP/TPI 6p 6 2,54 roloFlash-2-Target-Adapter Atmel ISP/TPI 2,54 roloFlash-2-Universal-Adapter 1-20 1,27 (SMD) und 2,54 (thru-hole) 1.5 Pin-Belegung Atmel TPI-Interface Wenn Sie das TPI-Interface benutzen, dann werden folgende Anschlüsse...
  • Seite 14: Pin-Belegung Atmel Pdi-Interface

    2 III Beschreibung Hinweis: Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- Belegungen zu adaptieren: Bezeichnung Pins Reihen Rastermaß [mm] roloFlash-2-Target-Adapter Atmel ISP/TPI 6p 6 2,54 roloFlash-2-Target-Adapter Atmel ISP/TPI 2,54 roloFlash-2-Universal-Adapter 1-20 1,27 (SMD) und 2,54 (thru-hole) 1.6 Pin-Belegung Atmel PDI-Interface Wenn Sie das PDI-Interface benutzen, dann werden folgende Anschlüsse...
  • Seite 15: Pin-Belegung Atmel Updi-Interface

    2 III Beschreibung Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- Belegungen zu adaptieren: Bezeichnung Pins Reihen Rastermaß [mm] roloFlash-2-Target-Adapter Atmel PDI 6p 2,54 (Hinweis: Dieser Adapter ist auch für Atmel UPDI geeignet) roloFlash-2-Universal-Adapter 1-20 1,27 (SMD) und 2,54 (thru-hole) 1.7 Pin-Belegung Atmel UPDI-Interface...
  • Seite 16: Pin-Belegung Uart-Interface 0

    2 III Beschreibung Es gibt folgende Adapter, um auf bestimmte übliche Programmierstecker- Belegungen zu adaptieren: Bezeichnung Pins Reihen Rastermaß [mm] roloFlash-2-Target-Adapter Atmel PDI 6p 2,54 (Hinweis: Dieser Adapter ist auch für Atmel UPDI geeignet) roloFlash-2-Universal-Adapter 1-20 1,27 (SMD) und 2,54 (thru-hole) 1.8 Pin-Belegung UART-Interface 0...
  • Seite 17: Pin-Belegung Uart-Interface 1

    2 III Beschreibung 1.9 Pin-Belegung UART-Interface 1 Wenn Sie das UART-Interface benutzen, dann werden folgende Anschlüs- se für den Bus verwendet: Signal Signal Vtargetboard           Abbildung 9: Draufsicht auf passenden Stecker eines Targetboards Hinweis: Sofern es keine Überschneidungen mit anderen Pins gibt, können andere...
  • Seite 18: Pullup- / Pulldown-Widerstände

    2 III Beschreibung Signal Signal         RTCK   GND Detect Reset Abbildung 10: Draufsicht auf passenden Stecker eines Targetboards Hinweis: Die Pins TDO und RTCK können nicht als Ausgang benutzt werden.
  • Seite 19: Spannungsbereich

    2 III Beschreibung Widerstand Signal Signal Widerstand   Pullup 1 MΩ targetboard   Pulldown 1 MΩ   Pullup 1 MΩ   Pullup 1 MΩ RTCK Pullup 1 MΩ   Pullup 1 MΩ GND Detect 9 Reset Pullup 1 MΩ Abbildung 11: Draufsicht auf passenden Stecker eines Targetboards 3 Spannungsbereich roloFlash wird vom Targetboard aus über Pin 1 (V...
  • Seite 20: Leds

    2 III Beschreibung 5 LEDs Fünf programmierbare zweifarbige (rote und grüne) LEDs. Mit den LEDs können Sie z. B. • ein grünes Lauflicht laufen lassen, das den Flashvorgang darstellt. • mit Rot Fehlermeldungen ausgeben. 6 microSD-Kartenslot Für eine microSD- oder microSDHC-Karte, die das abzuarbeitende Skript (RUN_V06.BIN) sowie die zu flashenden Dateien enthält.
  • Seite 21 • Ihre roloBasic-Datei muß mit einer Magic-Cookie-Zeile anfangen. Diese lautet: #roloFlash 2, v06.* Der Anfang „#roloFlash 2“ muß vorhanden sein, andernfalls wird der Compiler das Übersetzen verweigern. Die Angabe der Versionsnummer, z.B. „v06.*“ ist optional, wird aber empfohlen. Diese entspricht dem Major-Teil der Softwareversion des roloFlash.
  • Seite 22: Flashen Der Targetboards

    2 III Beschreibung wendete roloFlash wählt die zu seiner Firmware passende „RUN_Vxx.- BIN“-Datei aus. 7.2 Flashen der Targetboards Z. B. ungeschultes Personal in der Produktion 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.
  • Seite 23: Aktualisieren Von Roloflash

    2 IV Aktualisieren von roloFlash IV Aktualisieren von roloFlash 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 24 2 IV Aktualisieren von roloFlash aufgesteckt und anschließend die microSD-Karte eingesteckt wird. oder eine vorherige Aktualisierung fehlgeschlagen war. In diesem Fall ist es unerheblich, ob erst der roloFlash auf ein Targetboard aufgesteckt wird und dann die microSD-Karte eingesteckt wird oder die microSD-Karte schon eingesteckt ist.
  • Seite 25 2 IV Aktualisieren von roloFlash 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- lisierung befindet. Hinweis: Für eine Produktion oder die Weitergabe des roloFlash an Ihre Kunden...
  • Seite 26: Liste Der Mitgelieferten Rolobasic-Skripte

    2 V Liste der mitgelieferten roloBasic-Skripte V Liste der mitgelieferten roloBa- sic-Skripte • Hello world • scripts\hello-world\RUN_V06.BAS • Zusätzlich befindet sich dieses Script und die kompilierte RUN_V06.BIN bei Auslieferung im Hauptverzeichnis der SD-Karte. Vorbereitung: • Zum Verwenden kopieren Sie bitte das Skript als RUN_V06.BAS in das Hauptverzeichnis der microSD-Karte.
  • Seite 27 2 V Liste der mitgelieferten roloBasic-Skripte • Zum Verwenden kopieren Sie bitte das Skript als RUN_V06.BAS in das Hauptverzeichnis der microSD-Karte. • Starten Sie den Compiler mittels „compile_V06.bat“, um aus der RUN_V06.BAS die benötigte RUN_V06.BIN zu erzeugen. Funktion: • Löscht eine eventuell vorhandene vorherige LOG.TXT-Datei.
  • Seite 28 2 V Liste der mitgelieferten roloBasic-Skripte • Zum Verwenden kopieren Sie bitte die passende Version als RUN_V06.BAS in das Hauptverzeichnis der microSD-Karte. • Passen Sie bitte anschließend in der Datei den Namen Ihres Targets und die Dateinamen der HEX-Datei an (bei Atmel: Zusätzlich zur An- gabe einer HEX-Datei für den Flashspeicher können Sie auch eine...
  • Seite 29 2 V Liste der mitgelieferten roloBasic-Skripte • Read • Im Verzeichnis scripts\STM32: • STM32_F1_F3\JTAG\read\RUN_V06.BAS • STM32_F1_F3\SWD\read\RUN_V06.BAS • STM32_F2_F4_F7\JTAG\read\RUN_V06.BAS • STM32_F2_F4_F7\SWD\read\RUN_V06.BAS • STM32_H7\JTAG\read\RUN_V06.BAS • STM32_H7\SWD\read\RUN_V06.BAS • scripts\Microchip_Atmel\AVR\ISP\read\RUN_V06.BAS • scripts\Microchip_Atmel\AVR\TPI\read\RUN_V06.BAS • scripts\Microchip_Atmel\AVR\PDI\read\RUN_V06.BAS • scripts\Microchip_Atmel\AVR\UPDI\read\RUN_V06.BAS • Vorbereitung: • Das Skript gibt es jeweils in einer Version für STM32-, Atmel ISP-, TPI-, PDI- und UPDI-Controller.
  • Seite 30 2 V Liste der mitgelieferten roloBasic-Skripte • Liest aus der internen Datenbank des roloFlash spezifische Informati- onen für den von Ihnen angegebenen Controller aus, darunter die ID in Form einer Signature bzw. einer Device-ID (bei Atmel ISP / TPI / PDI / UPDI) oder eines oder mehrerer IDCODEs (bei einem STM32- Controller zwei IDCODEs für Core- und BoundaryScan-Controller),...
  • Seite 31: Roloflash-Api (Liste Der Prozeduren Und Funktionen)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) VI roloFlash-API (Liste der Proze- duren und Funktionen) (API = Application Programming Interface) Damit ist die Schnittstelle gemeint, durch die roloBasic Zugriff auf alle rolo- Flash-spezifischen Prozeduren und Funktionen erlangt. Prozeduren: Prozeduren haben keinen Rückgabewert.
  • Seite 32: Interne Datenbank

    2 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 33: Db_Get

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) name 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 34: Busse

    2 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 Name, der zur Ermittlung des dbHandles angegeben wurde) DB_FAMILY: Ein Wert, der die Zugehörigkeit zu einer bestimmten Familie angibt.
  • Seite 35: Bus_Open

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Dieses gilt auch, wenn an dieser Schnittstelle prinzipbedingt nur ein einzi- ger Mikrocontroller angeschlossen sein kann (z. B. wird die ISP-Schnitt- stelle für Atmel AVR als Bus aufgefaßt). • Grundsätzlich muß ein Bus erst geöffnet werden.
  • Seite 36: Bus_Close

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • JTAG • • • • UPDI • • UART index 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 Busgeschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig.
  • Seite 37: Bus_Setspeed

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Schließt den entsprechenden Bus. Die betroffenen Leitungen werden da- bei abgeschaltet. Sollten auf dem Bus noch geöffnete Targets vorhanden sein, dann werden diese abgetrennt und die Target-Handles ungültig. Vorbedingung: - gültiges BusHandle...
  • Seite 38 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - gültiges busHandle Parameter: busHandle Das von bus_open erhaltenen Bus-Handle. speed Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Busgeschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig. Verfügbare Busgeschwindigkeiten finden Sie im jeweiligen Unterkapitel für den verwendeten Bus.
  • Seite 39: Bus_Getspeed

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für speed. apiTypeFault Unzulässiger Typ für busHandle oder speed 2.4 bus_getSpeed Speed = bus_getSpeed(<busHandle>) Fragt bei einem bereits geöffneten Bus die aktuelle Busgeschwindigkeit ab. Diese kann gleich oder geringer sein als die bei bei bus_open bzw.
  • Seite 40: Jtag-Chain

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 2.5.1 JTAG-Chain Es werden JTAG-Chains mit bis zu 10 JTAG-Devices unterstützt. Mit der Funktion bus_scan kann die JTAG-Chain untersucht werden. Als Ergebnis steht ein Array mit den gefundenen IDCODEs zur Verfügung.
  • Seite 41 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Bei maximaler CPU-Clock = 120 Mhz werden die folgenden Busge- schwindigkeiten unterstützt: 15000000 7500000 5000000 3750000 3000000 2500000 2142857 1875000 1666666 1500000 1363636 1250000 1153846 1071428 1000000 937500 882352 833333 789473...
  • Seite 42 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 21802 20775 19762 18750 17730 16722 15706 14705 13698 12690 11682 10676 9671 8670 7668 6666 5664 4662 3661 2660 1659 Bei minimaler CpuClock = 24 Mhz werden die folgenden Busge- schwindigkeiten unterstützt:...
  • Seite 43 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Falls Sie die Schnittstelle schon geöffnet haben und dann mittels sys_setCpuClock den Takt des roloFlash ändern, dann ändert sich auch die Geschwindigkeit des Busses. Daher wird empfohlen: • Verwenden Sie sys_setCpuClock zuerst und öffnen dann erst den Bus.
  • Seite 44: Bus_Enforceswd

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Das von bus_open erhaltenen Bus-Handle auf den JTAG- oder SWD-Bus. Hinweis: Falls das Taget schon im JTAG-Mode ist, dann erfolgt keine Änderung. Auswirkungen dieses Befehls auf Targets, die kein SWD beherrschen, ins- besondere keinen ARM-Kern haben, sind unbekannt.
  • Seite 45: Bus_Scan

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges busHandle Parameter: busHandle Das von bus_open erhaltenen Bus-Handle auf den JTAG- oder SWD-Bus. Hinweis: Falls das Target schon im SWD-Mode ist, dann erfolgt keine Änderung. Auswirkungen dieses Befehls auf Targets, die kein SWD beherrschen, ins- besondere keinen ARM-Kern haben, sind unbekannt.
  • Seite 46: Bus_Configure

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Führt einen Scan auf dem JTAG- bzw. SWD-Bus durch und liefert ein Ar- ray mit den IDCODEs der gefundenen JTAG- / SWD-Devices. Vorbedingung: - gültiges busHandle Parameter: busHandle Das von bus_open erhaltene Bus-Handle.
  • Seite 47: Bus_Transceive

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) busHandle Das von bus_open erhaltene Bus-Handle. index Der Index des JTAG-Devices in der JTAG-Chain, welches angespro- chen werden soll. drWidth Angabe der Breite des DR-Registers. Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für index oder drWidth.
  • Seite 48 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) busHandle Das von bus_open erhaltene Bus-Handle. scanType IR-Scan oder DR-Scan: DRSCAN: DR-Scan mit der bei bus_configure angegebenen Breite IRSCAN: IR-Scan mit der bei bus_scan ermittelten Breite dataArray Ein Array vom Typ char, int oder long mit genug Elementen, damit die benötigte Anzahl an Bits zur Verfügung stehen.
  • Seite 49: Bus_Write

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 2.5.8 bus_write (Nur SWD-Bus) bus_write <busHandle>, <apacc_dpacc>, <armRegister>, <data> Versendet einen SWD-Transfer. Vorbedingung: - gültiges busHandle Parameter: busHandle Das von bus_open erhaltene Bus-Handle. apacc_dpacc write als APACC- oder DPACC: APACC: write als APACC...
  • Seite 50: Bus_Read

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für apacc_dpacc oder armRegister. apiTypeFault Kein gültiges BusHandle auf den JTAG-Bus. 2.5.9 bus_read (Nur SWD-Bus) bus_write <busHandle>, <apacc_dpacc>, <armRegister, <data> Empfängt einen SWD-Transfer.
  • Seite 51: Atmel Isp-Bus

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweise: - Hiermit können Sie mit SWD-Devices direkt kommunizieren, auch wenn diese von roloFlash nicht unterstützt werden. - Wenn Sie mit dem Target kommunizieren, was auch von roloFlash bear- beitet werden soll, dann sind Wechselwirkungen nicht auszuschliessen.
  • Seite 52 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: busType ISP für IPS-Bus. index Muß 0 sein. speed Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Busgeschwindigkeiten sind von der CPU-Clock (sys_setCpuClock) des roloFlash abhängig. Bei maximaler CPU-Clock = 120 Mhz werden die folgenden Busge- schwindigkeiten unterstützt:...
  • Seite 53 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 107142 105633 104166 102739 101351 100000 98684 97402 96153 94936 93750 92592 91463 90361 89285 88235 87209 86206 84745 83333 81967 80645 79365 78125 76923 75757 74626 73529 72463 71428 70422...
  • Seite 54: Reset-Mode Einstellen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweis: 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 55 2 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 56: Atmel Tpi-Bus

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 2.7 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.7.1 bus_open(TPI, …) und verfügbare Geschwindigkeiten busHandle = bus_open(TPI, <index>, <speed>)
  • Seite 57 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 937500 882352 833333 789473 750000 714285 681818 652173 625000 600000 576923 555555 535714 517241 500000 483870 468750 454545 441176 428571 416666 405405 394736 384615 375000 365853 357142 348837 340909 333333 326086...
  • Seite 58 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Bei minimaler CpuClock = 24 Mhz werden die folgenden Busge- schwindigkeiten unterstützt: 1500000 750000 500000 375000 300000 250000 214285 187500 166666 150000 136363 125000 115384 107142 100000 93750 88235 83333 78947...
  • Seite 59: Reset-Mode Einstellen

    2 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 gleichzeitige Öffnen ist nicht möglich...
  • Seite 60: Atmel Pdi-Bus

    2 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 61 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: busType PDI für PDI-Bus. index Muß 0 sein. speed Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Busgeschwindigkeiten sind von der CPU-Clock (sys_set- CpuClock) des roloFlash abhängig.
  • Seite 62 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 148514 147058 145631 144230 142857 141509 140186 138888 137614 136363 135135 133928 132743 131578 130434 129310 128205 127118 126050 125000 123966 122950 120967 119047 117187 115384 113636 111940 110294 108695 107142...
  • Seite 63: Atmel Updi-Bus

    2 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 gleichzeitige Öffnen ist nicht möglich...
  • Seite 64 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) CpuClock) des roloFlash abhängig. Bei maximaler CPU-Clock = 120 Mhz werden die folgenden Busge- schwindigkeiten unterstützt: 500000 483870 468750 454545 441176 428571 416666 405405 394736 384615 375000 365853 357142 348837 340909...
  • Seite 65: Uart

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Busgeschwindigkeit wird von Atmel mit 100 kHz angegeben. Bei An- gabe von kleineren Werten wird auf 100 kHz aufgerundet. Hinweis: 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.
  • Seite 66 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: busType UART für Uart-Schnittstelle index - 0 für UART0-Interface - 1 für UART1-Interface baudrate Baudrate, Angabe in Hz. Die möglichen Baudraten sind von der ver- wendeten UART und von der CpuClock abhängig.
  • Seite 67 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Tabelle 1: UART0-Interface bei CPU-Clock = 120 Mhz Nominell [Hz] Tatsächlich [Hz] Abweichung in % Maximal 3750000 3750000 3000000 3000000 2000000 2000000 1000000 1000000 500000 500000 250000 250000 230400 230769 0,16...
  • Seite 68 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Tabelle 2: UART0-Interface bei CPU-Clock = 24 Mhz Nominell [Hz] Tatsächlich [Hz] Abweichung in % Maximal 375000 375000 250000 250000 230400 230769 0,16 115200 115384 0,16 76800 76923 0,16 57600 57692...
  • Seite 69 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Tabelle 3: UART1-Interface bei CPU-Clock = 120 Mhz Nominell [Hz] Tatsächlich [Hz] Abweichung in % Maximal 1875000 1875000 1000000 1000000 500000 500000 250000 250000 230400 230769 0,16 115200 115384 0,16 76800...
  • Seite 70 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Tabelle 4: UART1-Interface bei CPU-Clock = 24 Mhz Nominell [Hz] Tatsächlich [Hz] Abweichung in % Maximal 375000 375000 250000 250000 230400 230769 0,16 115200 115384 0,16 76800 76923 0,16 57600 57692...
  • Seite 71: Bus_Write

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Verwenden Sie setCpuClock zuerst und öffnen dann erst den Bus. Rückgabewert: - ein busHandle. Dieses kann benutzt werden, um weitere Funktionen wie z.B. bus_write aufzurufen. Exceptions: apiValueRange Unzulässiger Wert für einen der Parameter apiTypeFault Unzulässiger Typ für einen der Parameter...
  • Seite 72: Bus_Read

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - keiner (Prozedur) Exceptions: apiTypeFault Unzulässiger Typ für busHandle oder Text 2.10.3 bus_read data = bus_read(<busHandle>) Holt inzwischen eingelesene Daten ab und stellt diese in einem Char-Ar- ray in roloBasic zur Verfügung. Die Ausführung ist nicht blockierend. Es werden alle bis zu diesem Zeitpunkt eingelesenen Daten zurückgegeben.
  • Seite 73: Target_Open

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) get geschehen dann unter Angabe dieses Target-Handles. Bei roloFlash wird grundsätzlich jede Schnittstelle, über die ein Target geflasht werden kann, als Bus aufgefasst. Dieses gilt auch, wenn an dieser Schnittstelle prinzipbedingt nur ein einziger Mikrocontroller angeschlossen sein kann (z.
  • Seite 74 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) index Gibt an, welches Target auf dem Bus geöffnet werden soll. Die Zähl- weise ist vom Bus abhängig. In den meisten Fällen sind die Targets durchnumeriert – das erste Target hat den Index 0.
  • Seite 75: Target_Close

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für index apiTypeFault Unzulässiger Typ für busHandle oder index invalidHandle Das BusHandle ist ungültig (z.B. schon geschlossen) 3.2 target_close target_close <targetHandle> Schließt das entsprechende Target. Vorbedingung: - gültiges Target-Handle...
  • Seite 76: Target_Getpresent

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.3 target_getPresent value = target_getPresent(<targetHandle>) Ermittelt, ob ein Target angeschlossen ist. Der Betriebsmodus bleibt dabei unverändert. Es findet auf jeden Fall eine Kommunikation mit dem Target statt, so daß man eine aktuelle Information erhält.
  • Seite 77: Target_Setmode

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) targetHandle Das Target-Handle auf das anzusprechende Target Rückgabewert: 0 = kein Target gefunden 1 = Target gefunden Exceptions: invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ des Target-Handles...
  • Seite 78 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Das Target kann sich in folgenden Betriebsmodi befinden: RunMode Target läuft ganz normal, als ob roloFlash nicht angeschlossen wäre. ProgramMode Target kann programmiert werden. Andere Prozeduren bzw. Funktionen sind auf einen bestimmten Modus angewiesen.
  • Seite 79 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • ProgramMode: Hat keinen Einfluss darauf, ob das Target gerade läuft oder steht. Es werden hier Initialisierungen für den Zugriff auf den Spei- cher des Targets durchgeführt. • RunMode: Startet das Target nur, wenn vorher keine Schreibzugriffe auf den Flashspeicher stattgefunden haben.
  • Seite 80: Target_Restart

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: 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 das Target-Handle 3.5 target_restart target_restart <targetHandle>...
  • Seite 81 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) das Target-Handle zum Target und fordern Sie ein neues Target-Handle ! Reset aktivieren: handle = GPIO_open(GPIO_RST, PIN_PUSHPULL, 0) ! 100 ms im Reset bleiben: delay 100 ! GPIO schliessen, damit wird der Reset aufgehoben:...
  • Seite 82 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) ! Quarz aktivieren, damit höhere ! Programmiergeschwindigkeit möglich target_writeBits(targetHandle, FUSES_LOW, value) ! Durch target_restart die Änderung aktivieren target_restart targetHandle bus_setSpeed(bushandle, 1000000) ! z.B. 1 MHz target_writeFromFile ... Hinweis Atmel PDI-Bus: Der Reset ist zwar Teil des PDI-Busses, wird aber bei PDI nicht als Reset genutzt.
  • Seite 83: Target-Memorymap Lesen/Schreiben

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: targetHandle Das Target-Handle auf das anzusprechende Target Rückgabewert: - keiner (Prozedur) Exceptions: targetCommunication Die Kommunikation mit dem Target funktioniert nicht. invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen.
  • Seite 84 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: targetHandle 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 85: Target_Getmemorymap

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.6.2 target_getMemoryMap Value = target_getMemoryMap(<targetHandle>, <memType>, <memProperty>) Ermittelt für den angegebenen Speichertyp den Wert für das entsprechen- de Property. Vorbedingung: - gültiges targetHandle Parameter: targetHandle Das Target-Handle auf das anzusprechende Target memType die gewählte Speicherart:...
  • Seite 86: Target_Clearmemorylayout

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetCommunication Die Kommunikation mit dem Target funktioniert nicht. invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen. FunctionNotSupported Unzulässige Kombination von MemType und Property apiTypeFault Unzulässiger Typ für einen der Parameter.
  • Seite 87: Loader

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.7 Loader Manche Controllerfamilien können mit Hilfe eines Loaders angesprochen werden. Dabei muß vor dem Nutzen bestimmter Funktionen erst ein Loader in den RAM-Speicher des Targets gebracht und gestartet werden. Je nach Tar- get ist der Loader bereits innerhalb des roloFlash vorhanden oder muß...
  • Seite 88: Target Löschen, Schreiben, Lesen Und Verifizieren

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Bestimmte Teile des RAMs werden verändert. Eigenschaft mit Loader ohne Loader Flash- erheblich Langsamer geschwindigkeit schneller trifft nicht zu für Atmel ISP, TPI, PDI oder UPDI RAM des Targets wird benutzt wird nicht benutzt und nicht verändert...
  • Seite 89 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target memType (optional) Die Art des Speichers, der gelöscht werden soll. Zulässige Werte: •...
  • Seite 90: Target_Writefromfile

    2 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 das Target-Handle.
  • Seite 91 2 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 92: Target_Readtofile

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetMemoryLayout, Siehe Kapitel „Exceptions des roloFlash“. hexFileSize, hexFileCRC 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 93: Fileformat

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Der Parameter wird ignoriert und sollte mit 0 angegeben werden. filename Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Dateien“. Falls die Datei schon existieren sollte, dann wird sie überschrieben. fileformat Gibt an, in welchem Format die Daten geschrieben werden sollen.
  • Seite 94: Target_Write

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetMemoryLayout, Siehe Kapitel „Exceptions des roloFlash“. hexFileSize, hexFileCRC 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 95: Target_Read

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) verify Gibt an, ob ein Verify durchgeführt werden soll. Mögliche Werte sind: WRITEONLY: Schreiben ohne Verify VERIFYONLY: Die Daten werden nur verifiziert (kein Schreiben auf dem Target) WRITEVERIFY: Schreiben und Verifizieren startAddr Die Adresse, an die Daten im Target geschrieben werden sollen.
  • Seite 96 2 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. memType Gibt an, welcher Speicher gelesen werden soll. Die Angabe ist für die jeweilige Targetfamilie spezifisch und ist in den jeweiligen Kapiteln beschrieben.
  • Seite 97: Target Stm32

    2 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 98 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) MemTypes: Unterstützte memTypes beim Schreiben: • FLASH • RAM (auch für Zugriff auf Register) Unterstützte memTypes beim Lesen: • Flash • RAM (auch für Zugriff auf Register) • READMEMORY (für Zugriff auf RAM- und Flash-Speicher, sowie...
  • Seite 99: Target_Setvoltageforparallelism

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.9.1 target_setVoltageForParallelism (Nur STM32F2, STM32F4 und STM32F7) target_setVoltageForParallelism <targetHandle>, <volta- ge> Gibt bekannt, mit welcher Spannung in mV das Target versorgt ist. Daraus wird der anzuwendende Flash-Parallelismus ermittelt und eingestellt. Vorbedingung: - gültiges Target-Handle...
  • Seite 100: Target_Setparallelism

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: FunctionNotSupported Die Funktion wird nur für die Familien STM32F2 STM32F4 und STM32F7 unterstützt. apiValueRange Unzulässiger Wert für voltage. invalidHandle Das Target-Handle ist schon geschlossen oder der Bus wurde schon geschlossen.
  • Seite 101: Target_Getparallelism

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) externer Spannungsversorgung für das Programmieren wird nicht unterstützt. Rückgabewert: - keiner (Prozedur) Hinweis: Diese Prozedur ist alternativ zu target_setVoltageForParallelism. Sollte der Parallelismus vom Loader nicht unterstützt werden, dann wird der Loader nicht verwendet.
  • Seite 102: Target_Setloaderpreference

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: FunctionNotSupported Die Funktion wird nur für die Familien STM32F2, STM32F4, STM32F7 und STM32H7 unterstützt. invalidHandle Das Target-Handle ist schon geschlossen oder der Bus wurde schon geschlossen. 3.9.4 target_setLoaderPreference target_setLoaderPreference <targetHandle>, <loaderPre- ference>...
  • Seite 103: Target_Getloaderusage

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Wenn Sie diese Funktion nicht aufrufen, wird nach Möglichkeit ein Loader benutzt. Wurde bei STM32F2, STM32F4, STM32F7 oder STM32H7 ein Parallelismus eingestellt, den der Loader nicht unterstützt, dann wird der Loader nicht benutzt. Bei STM32L0, STM32L1 und STM32WB wird gene- rell kein Loader verwendet.
  • Seite 104: Target Atmel Avr (Isp-Interface)

    2 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 für einen der Parameter. 3.10 Target Atmel AVR (ISP-Interface) Es werden alle Funktionen der Kapitel „Target allgemein“ bis „Target lö- schen, schreiben, lesen und verifizieren“...
  • Seite 105: Target_Readbits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: targetHandle Das targetHandle auf das anzusprechende Target Rückgabewert: Ausgelesene Device ID bzw. Signature. Die Device ID wird in einem Byte- Array mit 3 Bytes geliefert. Sie können die Device ID mit einer Device ID aus der Datenbank vergleichen.
  • Seite 106: Target_Writebits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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 107 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - das Target muß im ProgramMode sein. Hinweis: Manche Änderungen der Fuses sind erst nach einem Reset wirksam bzw. mittels target_readBits sichtbar. Näheres finden Sie dazu im Hand- buch des jeweiligen Targets. Sie können dazu das Kommando target_restart verwenden.
  • Seite 108: Target_Setextendedaddressmode

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.10.4 target_setExtendedAddressMode target_setExtendedAddressMode <targetHandle>, <value> 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.
  • Seite 109: Atmel Tpi (Tpi-Interface)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.11 Atmel TPI (TPI-Interface) Es werden alle Funktionen der Kapitel „Target allgemein“ bis „Target lö- schen, schreiben, lesen und verifizieren“ inklusive aller Unterkapitel unter- stützt. Es wird kein Loader verwendet. MemTypes: Unterstützte memTypes beim Schreiben:...
  • Seite 110: Target_Readbits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Ausgelesene Device ID bzw. Signature. Die Device ID wird in einem Byte- Array mit 3 Bytes geliefert. Sie können die Device ID mit einer Device ID aus der Datenbank vergleichen. Exceptions: targetWrongMode Target ist nicht im "ProgramMode".
  • Seite 111: Target_Writebits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. apiValueRange Unzulässiger Wert für index. invalidHandle Das Target-Handle ist schon geschlossen oder der Bus wurde schon geschlossen.
  • Seite 112: Target Atmel Pdi (Pdi-Interface)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Das Target-Handle auf das anzusprechende Target index 0: Fuse Byte 0 bzw. Configuration Byte Lock-Bits: für die Lockbits values Zu schreibende Werte. Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode".
  • Seite 113: Target_Getdeviceid

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.12.1 target_getDeviceId id = target_getDeviceId(<targetHandle>) 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.
  • Seite 114 2 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 0: Fuse-Byte 0 1: Fuse-Byte 1 2: Fuse-Byte 2 3: <nicht zulässig>...
  • Seite 115: Target_Writebits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.12.3 target_writeBits target_writeBits <targetHandle>, <index>, <values> Schreibt die angegebenen Fuses bzw. Lock-Bits. Vorsicht: – Setzen Sie die Lock-Bits erst, nachdem Sie alle anderen Zugriffe auf den Chip ausgeführt haben. – Falls Sie einen durch Lock-Bits gesperrten Chip bearbeiten wollen, führen Sie als erstes ein target_eraseFlash aus.
  • Seite 116: Target Atmel Updi (Updi-Interface)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 7: Lock-Bits Hinweis: für die Lock-Bits kann auch die Konstante LOCK_BITS verwendet werden. values Zu schreibende Werte. Rückgabewert: - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht.
  • Seite 117: Target_Getdeviceid

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.13.1 target_getDeviceId id = target_getDeviceId(<targetHandle>) 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“...
  • Seite 118: Target_Readbits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 3.13.2 target_readBits values = target_readBits(<targetHandle>, <index>) Liest die angegebenen Fuses bzw. Lock-Bits aus. Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target...
  • Seite 119: Target_Writebits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". targetCommunication Die Kommunikation mit dem Target funktioniert nicht. apiValueRange Unzulässiger Wert für index. invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen.
  • Seite 120: Dateien

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) index (aus Hersteller Dokumentation zu ATtiny417/817) 0: WDTCFG 1: BODCFG 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 121: Fs_Create

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Es dürfen nur Großbuchstaben verwendet werden. Verzeichnisnamen: • Verzeichnisnamen dürfen maximal aus acht Zeichen bestehen: „XXXXXXXX“. • Ansonsten gelten dieselben Konventionen wie bei Dateinamen. Aktuelles Verzeichnis ist immer das Hauptverzeichnis: •...
  • Seite 122: Fs_Remove

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Dateien“. Rückgabewert: - keiner (Prozedur) Exceptions: apiTypeFault Unzulässiger Typ für filename. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.2 fs_remove fs_remove <filesystem>, <filename>...
  • Seite 123: Fs_Mkdir

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: fileNotFound Die angegebene Datei existiert nicht. apiTypeFault Unzulässiger Typ für filename. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 4.3 fs_mkDir fs_mkDir <filesystem>, <dirname> Erzeugt das angegebene Verzeichnis. Falls das Verzeichnis schon exis- tiert, hat die Prozedur keine Wirkung.
  • Seite 124: Fs_Fileexists

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.4 fs_fileExists bool fs_fileExists(<filesystem>, <filename>) Prüft, ob die angegebene Datei existiert. Vorbedingung: - keine Parameter: filesystem Der Parameter wird ignoriert und sollte mit 0 angegeben werden. filename Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Dateien“.
  • Seite 125: Fs_Open

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: filesystem Der Parameter wird ignoriert und sollte mit 0 angegeben werden. filename Es gelten die Bedingungen für Dateinamen, siehe Kapitel „Dateien“. Rückgabewert: Es wird die Dateigröße in Bytes zurückgegeben. Exceptions: apiTypeFault Unzulässiger Typ für filename.
  • Seite 126: Fs_Read

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Es wird 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. Exceptions: apiTypeFault Unzulässiger Typ für filename.
  • Seite 127: Fs_Write

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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“. Dateisystems> 4.8 fs_write fs_write <filehandle>, <position>, <array>...
  • Seite 128: Fs_Truncate

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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“. Dateisystems> 4.9 fs_truncate fs_truncate <filehandle>, <len>...
  • Seite 129: Fs_Close

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.10 fs_close fs_close <filehandle> Schließt die Datei. Das angegebene Filehandle wird dadurch ungültig und darf nicht mehr verwendet werden. Vorbedingung: - Gültiges Filehandle mittels fs_open. Parameter: filehandle Das von fs_open erhaltene Filehandle.
  • Seite 130: Leds

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: filesystem Der Parameter wird ignoriert und sollte mit 0 angegeben werden. Rückgabewert: - keiner (Prozedur) Exceptions: <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 5 LEDs Immer nur eine LED an: •...
  • Seite 131: Led_On

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 5.1 led_on led_on <index>, <color> Schaltet die LED auf die angegebene Farbe. Vorbedingung: - keine Parameter: index Nummer der LED color COLOR_GREEN bzw. COLOR_RED Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für index oder color.
  • Seite 132: Led_Blink

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: - keine Rückgabewert: - keiner (Prozedur) Exceptions: - keine 5.3 led_blink led-blink <index>, <color>, <speed> Die LED blinkt mit der angegebenen Geschwindigkeit. Vorbedingung: - keine Parameter: index Nummer der LED color COLOR_GREEN bzw.
  • Seite 133: Led_Runninglight

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für index, color oder speed. apiTypeFault Unzulässiger Typ für index, color oder speed. 5.4 led_runningLight led_runningLight <from>, <to>, <color>, <speed> Läßt ein Lauflicht laufen.
  • Seite 134: Led_Runninglightoutstanding

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für from, to, color oder speed. apiTypeFault Unzulässiger Typ für from, to, color oder speed. 5.5 led_runningLightOutstanding led_runningLightOutstanding <from>, <to>, <color>, <speed>, <outstandingLedNumber> Läßt ein Lauflicht laufen, bei der eine bestimmte LED die jeweilig andere Farbe aufweist.
  • Seite 135: Gpio-Interface

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für from, to, color, speed oder outstandingLedNumber. apiTypeFault Unzulässiger Typ für from, to, color, speed oder outstandingLedNumber. 6 GPIO-Interface 6.1 GPIO_open busHandle = GPIO_open(<index>, <mode>, <level>) Öffnet eine der GPIO-Schnittstellen und initialisiert die Leitung. Der Mode wird wie angegeben eingestellt.
  • Seite 136: Gpio_Setmode

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - PIN_INPUT: diesen Pin als Eingang benutzen - PIN_ACTIVELOW: diesen Pin als Ausgang nutzen, jedoch nur low- aktiv treiben. - PIN_ACTIVEHIGH: diesen Pin als Ausgang nutzen, jedoch nur high-aktiv treiben. - PIN_PUSHPULL: diesen Pin als Ausgang benutzen level Dieser Wert darf bei mode = PIN_INPUT nicht angegeben werden.
  • Seite 137 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges busHandle Parameter: busHandle Das von GPIO_open erhaltenen Bus-Handle. mode - PIN_INPUT: diesen Pin als Eingang benutzen - PIN_ACTIVELOW: diesen Pin als Ausgang nutzen, jedoch nur low- aktiv treiben.
  • Seite 138: Gpio_Set

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 6.3 GPIO_set GPIO_set <busHandle>, <level> Setzt den GPIO-Pin auf den angegebenen Level. Vorbedingung: - gültiges busHandle Parameter: busHandle Das von GPIO_open erhaltene Bus-Handle. level Ausgangspegel für den Pin (0 oder 1) Rückgabewert:...
  • Seite 139: Abfrage Von Roloflash-Eigenschaften

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - gültiges busHandle Hinweis: Die Funktion steht nur zur Verfügung, wenn roloFlash die Leitung nicht selber treibt: - bei mode = PIN_INPUT - bei mode = PIN_ACTIVELOW und level = 1...
  • Seite 140: Versionsnummern Etc

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 7.1 Versionsnummern etc.  Name Wert / Bedeutung sys_companyName „halec <https://halec.de>“ sys_deviceName „roloFlash 2“ bzw. „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 141: Sonstige

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) throw userException endif Hinweis: Für die Seriennummer wird intern eine vom Chiphersteller vorgegebene eindeutige Device-ID genutzt. 8 Sonstige 8.1 sys_setLogMode sys_setLogMode <logMode> Es wird der Mode für das Loggen (siehe folgendes Kapitel „print“) festge- legt.
  • Seite 142: Print

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - keiner (Prozedur) Hinweis: Default ist der logMode LOGMODE_NORMAL. Empfehlungen: Verwenden Sie LOGMODE_IMMEDIATE nur bei der Fehlersuche. Da jede print-Ausgabe erneut die Datei öffnet, beschreibt und wieder schließt, wird auf der microSD-Karte jedesmal die FAT (file allocation table) be- schrieben.
  • Seite 143: Delay

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Es werden die Parameter a, b etc. ausgedruckt. Die Anzahl der Para- meter ist beliebig. Der Ausdruck erfolgt an das Ende der Datei „LOG.TXT“. Wenn die Datei noch nicht existiert, dann wird sie erzeugt.
  • Seite 144: Sys_Getsystemtime

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: duration Zeitangabe in ms, die gewartet werden soll. Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für duration. apiTypeFault Unzulässiger Typ für duration. 8.4 sys_getSystemTime t = sys_getSystemTime Ermittelt die abgelaufe Zeit seit Systemstart in ms.
  • Seite 145: Gettargetboardvoltage

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine 8.5 getTargetBoardVoltage u = getTargetBoardVoltage Ermittelt die Spannung in mV, die das Targetboard liefert. Vorbedingung: - keine Parameter: - keine Rückgabewert: Ausgelesene Spannung in mV. Exceptions: - keine 8.6 sys_setCpuClock sys_setCpuClock <frequency>...
  • Seite 146: Sys_Getcpuclock

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Der Takt bei Start des roloFlash ist für niedrigen Energieverbrauch auf 24 MHz eingestellt. Achtung: Bereits geöffnete Busse können dabei Ihren Takt ändern. Den aktuellen Takt können Sie abfragen. Empfehlung: Ändern Sie bei Bedarf den Takt am Anfang Ihres Skriptes.
  • Seite 147: Setbitblock

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Ermittelt den aktuellen Takt des roloFlash in Hz. Vorbedingung: - keine Parameter: - keine Rückgabewert: Ausgelesener Takt in Hz. Exceptions: - keine 8.8 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 148: Getbitblock

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: destArray Array (Array of char, Array of int oder Array of long), in das die Daten an die angegebene Position kopiert werden sollen. sourceArray Array (Array of char, Array of int oder Array of long), aus dem die Da- ten von Position 0 an kopiert werden sollen.
  • Seite 149 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Die Größe des gelieferten Arrays ist exakt ausreichend um die mit length angegebene Anzahl an Bits aufnehmen zu können. Unge- nutzte Bits sind auf 0 gesetzt. • Sollte das Source Array nicht die mit length angegebene Anzahl an Bits beinhalten, dann werden entsprechend weniger Bits kopiert.
  • Seite 150 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) © halec 2020...
  • Seite 151: Exceptions

    2 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 152: Exceptions Des Dateisystems

    2 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 roloBasic-Funktion / Prozedur.
  • Seite 153: Exceptions Des Roloflash

    Es wurde versucht, ein Image eines anderen Produktes auf den roloFlash zu laden. Beispielsweise wurde versucht, ein Image für roloFlash 1 auf einen roloFlash 2 zu laden. apiValueRange Wertbereichsüberschreitung eines Parameters beim Aufruf einer Api-Funktion / Prozedur . z.B.
  • Seite 154 2 VII Exceptions LEDs (Hinweis: die Fehlernummer ist exakt 200 größer als die entsprechende Exception des roloBasic: valueRange) imageNotFound Die microSD-Karte konnte zwar eingebunden werden, jedoch nicht die Datei RUN_V06.BIN gefunden werden. apiBadArgumentCount Ungültige Anzahl Argumente beim Aufruf einer Api- Funktion / Prozedur.
  • Seite 155 2 VII Exceptions resourceUnavailable Die angeforderte Ressource ist nicht verfügbar. Dieses kann beim Öffnen eines Busses passieren, 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.
  • Seite 156: Vom Benutzer Ausgelöste Exceptions

    2 VII Exceptions 4 Vom Benutzer ausgelöste Exceptions • Der Benutzer kann mittels throw selbst Exceptions auslösen. Diese können numerisch sein und bestehende Werte mitnutzen, z. B.: throw rangeError • Um vom Benutzer erzeugte Exceptions von den anderen Exceptions besser unterscheiden zu können, können andere Exceptionnummern verwendet werden.
  • Seite 157: Bedeutungen Von Led-Codes

    2 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 158: Roloflash-Aktualisierung

    2 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 159: Aktualisierung Läuft

    2 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: grün 2: grün...
  • Seite 160: Aktualisierung Fehlerhaft: Datei Nicht Gefunden

    2 VIII Bedeutungen von LED-Codes Mögliche Abhilfe: • Aktualisierung nochmals versuchen. • Aktualisierung mit einer anderen Firmware durchführen. 2.5 Aktualisierung fehlerhaft: Datei nicht gefunden LEDs: 1: rot 3: rot Bedeutung: Die Aktualisierung konnte nicht gestartet werden, da keine Datei für die Aktualisierung gefunden wurde.
  • Seite 161: Aktualisierung Fehlerhaft: Sonstiges

    2 VIII Bedeutungen von LED-Codes 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. 2.7 Aktualisierung fehlerhaft: Sonstiges LEDs: 1: rot 5: rot Bedeutung: Bei der Aktualisierung schlug etwas fehl.
  • Seite 162: Spezifikationen

    2 IX Spezifikationen IX Spezifikationen 1 Unterstützte Controller von ST Microelectronics Folgende Controller sind in der Datenbank bekannt. Die hier angegebenen Namen können mit db_getHandle verwendet werden. 1.1 STM32F0 Anschluß über SWD-Interface. STM32F030C6, STM32F030C8, STM32F030CC, STM32F030F4, STM32F030K6, STM32F030R8, STM32F030RC, STM32F031C4,...
  • Seite 163: Stm32F1

    2 IX Spezifikationen 1.2 STM32F1 Anschluß über JTAG- oder SWD-Interface. Unterstützte Controller: STM32F100C4, STM32F100C6, STM32F100C8, STM32F100CB, STM32F100R4, STM32F100R6, STM32F100R8, STM32F100RB, STM32F100RC, STM32F100RD, STM32F100RE, STM32F100V8, STM32F100VB, STM32F100VC, STM32F100VD, STM32F100VE, STM32F100ZC, STM32F100ZD, STM32F100ZE, STM32F101C4, STM32F101C6, STM32F101C8, STM32F101CB, STM32F101R4, STM32F101R6, STM32F101R8, STM32F101RB, STM32F101RC,...
  • Seite 164: Stm32F3

    2 IX Spezifikationen Unterstützte Controller: STM32F205RB, STM32F205RC, STM32F205RE, STM32F205RF, STM32F205RG, STM32F205VB, STM32F205VC, STM32F205VE, STM32F205VF, STM32F205VG, STM32F205ZC, STM32F205ZE, STM32F205ZF, STM32F205ZG, STM32F207IC, STM32F207IE, STM32F207IF, STM32F207IG, STM32F207VC, STM32F207VE, STM32F207VF, STM32F207VG, STM32F207ZC, STM32F207ZE, STM32F207ZF, STM32F207ZG, STM32F215RE, STM32F215RG, STM32F215VE, STM32F215VG, STM32F215ZE, STM32F215ZG, STM32F217IE, STM32F217IG, STM32F217VE, STM32F217VG, STM32F217ZE, STM32F217ZG 1.4 STM32F3...
  • Seite 165: Stm32F4

    2 IX Spezifikationen STM32F373VC, STM32F378CC, STM32F378RC, STM32F378VC, STM32F398VE 1.5 STM32F4 Anschluß über JTAG- oder SWD-Interface. Unterstützte Controller: STM32F401CB, STM32F401CC, STM32F401CD, STM32F401CE, STM32F401RB, STM32F401RC, STM32F401RD, STM32F401RE, STM32F401VB, STM32F401VC, STM32F401VD, STM32F401VE, STM32F405OE, STM32F405OG, STM32F405RG, STM32F405VG, STM32F405ZG, STM32F407IE, STM32F407IG, STM32F407VE, STM32F407VG, STM32F407ZE, STM32F407ZG, STM32F410C8,...
  • Seite 166: Stm32F7

    2 IX Spezifikationen STM32F439AI, STM32F439BG, STM32F439BI, STM32F439IG, STM32F439II, STM32F439NG, STM32F439NI, STM32F439VG, STM32F439VI, STM32F439ZG, STM32F439ZI, STM32F446MC, STM32F446ME, STM32F446RC, STM32F446RE, STM32F446VC, STM32F446VE, STM32F446ZC, STM32F446ZE, STM32F469AE, STM32F469AG, STM32F469AI, STM32F469BE, STM32F469BG, STM32F469BI, STM32F469IE, STM32F469IG, STM32F469II, STM32F469NE, STM32F469NG, STM32F469NI, STM32F469VE, STM32F469VG, STM32F469VI, STM32F469ZE, STM32F469ZG,...
  • Seite 167: Stm32H7

    2 IX Spezifikationen STM32F767NI, STM32F767VG, STM32F767VI, STM32F767ZG, STM32F767ZI, STM32F769AI, STM32F769BG, STM32F769BI, STM32F769IG, STM32F769II, STM32F769NG, STM32F769NI, STM32F777BI, STM32F777II, STM32F777NI, STM32F777VI, STM32F777ZI, STM32F778AI, STM32F779AI, STM32F779BI, STM32F779II, STM32F779NI 1.7 STM32H7 Anschluß über JTAG- oder SWD-Interface. Unterstützte Controller: STM32H743AI, STM32H743BI, STM32H743II, STM32H743VI, STM32H743XI, STM32H743ZI, STM32H753AI, STM32H753BI, STM32H753II, STM32H753VI, STM32H753XI, STM32H753ZI 1.8 STM32L0...
  • Seite 168: Stm32L1

    2 IX Spezifikationen STM32L063C8, STM32L063R8, STM32L071C8, STM32L071CB, STM32L071CZ, STM32L071K8, STM32L071KB, STM32L071KZ, STM32L071RB, STM32L071RZ, STM32L071V8, STM32L071VB, STM32L071VZ, STM32L072CB, STM32L072CZ, STM32L072KB, STM32L072KZ, STM32L072RB, STM32L072RZ, STM32L072V8, STM32L072VB, STM32L072VZ, STM32L073CB, STM32L073CZ, STM32L073RB, STM32L073RZ, STM32L073V8, STM32L073VB, STM32L073VZ, STM32L081CB, STM32L081CZ, STM32L081KZ, STM32L082CZ, STM32L082KB, STM32L082KZ, STM32L083CB,...
  • Seite 169: Stm32L4

    2 IX Spezifikationen STM32L152CB-A, STM32L152CC, STM32L152QC, STM32L152QD, STM32L152QE, STM32L152R6, STM32L152R6-A, STM32L152R8, STM32L152R8-A, STM32L152RB, STM32L152RB-A, STM32L152RC, STM32L152RC-A, STM32L152RD, STM32L152RE, STM32L152UC, STM32L152V8, STM32L152V8-A, STM32L152VB, STM32L152VB-A, STM32L152VC, STM32L152VC-A, STM32L152VD, STM32L152VD-X, STM32L152VE, STM32L152ZC, STM32L152ZD, STM32L152ZE, STM32L162QD, STM32L162RC, STM32L162RC-A, STM32L162RD, STM32L162RE, STM32L162VC, STM32L162VC-A, STM32L162VD,...
  • Seite 170: Stm32L4

    2 IX Spezifikationen STM32L476JG, STM32L476ME, STM32L476MG, STM32L476QE, STM32L476QG, STM32L476RC, STM32L476RE, STM32L476RG, STM32L476VC, STM32L476VE, STM32L476VG, STM32L476ZE, STM32L476ZG, STM32L486JG, STM32L486QG, STM32L486RG, STM32L486VG, STM32L486ZG, STM32L496AE, STM32L496AG, STM32L496QE, STM32L496QG, STM32L496RE, STM32L496RG, STM32L496VE, STM32L496VG, STM32L496ZE, STM32L496ZG, STM32L4A6AG, STM32L4A6QG, STM32L4A6RG, STM32L4A6VG, STM32L4A6ZG 1.11 STM32L4+ Anschluß über JTAG- oder SWD-Interface.
  • Seite 171: Stm32Wb

    2 IX Spezifikationen STM32G071CB, STM32G071EB, STM32G071G8, STM32G071GB, STM32G071K8, STM32G071KB, STM32G071R8, STM32G071RB, STM32G081CB, STM32G081EB, STM32G081GB, STM32G081KB, STM32G081RB 1.13 STM32WB Anschluß über JTAG- oder SWD-Interface. Unterstützte Controller: STM32WB55CC, STM32WB55CE, STM32WB55CG, STM32WB55RC, STM32WB55RE, STM32WB55RG, STM32WB55VC, STM32WB55VE, STM32WB55VG 2 Unterstützte Controller von Atmel Folgende Controller sind in der Datenbank bekannt.
  • Seite 172 2 IX Spezifikationen ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284, ATmega1284P, ATmega1284RFR2, ATmega128A, ATmega128RFA1, ATmega128RFR2, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164A, ATmega164P, ATmega164PA, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega168PB, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega16HVA, ATmega16HVA2, ATmega16HVB, ATmega16HVBrevB, ATmega16M1,...
  • Seite 173: Avr (Tpi-Interface)

    2 IX Spezifikationen ATmega649, ATmega6490, ATmega6490A, ATmega6490P, ATmega649A, ATmega649P, ATmega64A, ATmega64C1, ATmega64HVE, ATmega64HVE2, ATmega64M1, ATmega64RFR2, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega88PB, ATmega8A, ATmega8HVA, ATmega8U2, ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny1634, ATtiny167, ATtiny22, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny26,...
  • Seite 174: Avr (Updi-Interface)

    2 IX Spezifikationen ATxmega128A1, ATxmega128A1U, ATxmega128A3, ATxmega128A3U, ATxmega128A4U, ATxmega128B1, ATxmega128B3, ATxmega128C3, ATxmega128D3, ATxmega128D4, ATxmega16A4, ATxmega16A4U, ATxmega16C4, ATxmega16D4, ATxmega16E5, ATxmega192A3, ATxmega192A3U, ATxmega192C3, ATxmega192D3, ATxmega256A3, ATxmega256A3B, ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, ATxmega256D3, ATxmega32A4, ATxmega32A4U, ATxmega32C3, ATxmega32C4, ATxmega32D3, ATxmega32D4, ATxmega32E5, ATxmega384C3, ATxmega384D3, ATxmega64A1, ATxmega64A1U,...
  • Seite 175: Technische Daten

    2 IX Spezifikationen 3 Technische Daten • Unterstützte Controller der STM32-Serie über JTAG- oder SWD-In- terface: • STM32F0: alle Derivate (nur SWD-Interface) • STM32F1: alle Derivate • STM32F2: alle Derivate • STM32F3: alle Derivate • STM32F4: alle Derivate • STM32F7: alle Derivate •...
  • Seite 176 2 IX Spezifikationen • RAW (Binärdatei mit Rohdaten ohne Adreßangabe) • Unterstützte Speicherkarten-Formate: microSD, microSDHC © halec 2020...

Inhaltsverzeichnis