Herunterladen Inhalt Inhalt Diese Seite drucken
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.0.20 vom 2018-09-02
(Stand der Software: 02.AA)
Copyright © 2009-2018 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.0.20 vom 2018-09-02 (Stand der Software: 02.AA) Copyright © 2009-2018 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 2.4 Target schließen..29 3 JTAG-Bus......30 II Verpackungsinhalt.......3 3.1 Bus öffnen....30 III Beschreibung......4 3.2 Busgeschwindigkeit 1 Programmier-Buchse..4 ändern......33 2 Pin-Belegung allgemein..4 3.3 Busgeschwindigkeit 3 Pullup- / Pulldown- abfragen......34 Widerstände......5 3.4 JTAG-Chain scannen 35 4 Spannungsbereich....6 4 Atmel ISP-Bus....36 5 roloFlash- 4.1 Bus öffnen....36 Schutzmaßnahmen.....6...
  • Seite 3 lesen......67 ng........101 9.3 clearMemoryLayout...68 17 Sonstige......102 10 Loader......69 17.1 setLogMode...102 11 Target löschen, schreiben, 17.2 print......103 lesen und verifizieren..70 17.3 delay......104 11.1 EraseFlash....70 17.4 getSystemTime..105 11.2 writeFileToTarget..71 17.5 11.3 readFileFromTarget 73 getTargetBoardVoltage 11.4 ........106 writeRawDataToTarget. 75 17.6 setCpuClock..106 11.5 17.7 .......107 readRawDataFromTarget VII Abfrage von roloFlash ........76...
  • Seite 4 Dateien gefunden..120 1.2 STM32F2....123 2.7 Aktualisierung 1.3 STM32F3....123 fehlerhaft: Sonstiges.. .121 1.4 STM32F4....124 2 Unterstützte Controller von X Spezifikation......122 Atmel.......125 1 Unterstützte Controller von 2.1 AVR (ISP-Interface) 125 ST Microelectronics..122 2.2 AVR (PDI-Interface) 127 1.1 STM32F1....122...
  • Seite 5: 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 Bedin- gungen können auch mehrere Mikrocontroller in Ihrem Produkt geflasht werden. Eine Liste der aktuell unterstützten Mikrocontroller finden Sie im Unterkapitel "Unterstützte Controller von ST Microelectronics".
  • Seite 6 2 I Vorwort 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. Zeichen „<“ und „>“ Bei den Beschreibungen der Funktionen und Prozeduren werden die Pa- rameter oft mit „<“ und „>“ eingerahmt. Dieses soll symbolisieren, daß an...
  • Seite 7: 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 8: 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 9: Pullup- / Pulldown-Widerstände

    2 III Beschreibung Signal Signal   targetboard       RTCK   GND Detect 10 Reset Abbildung 1: Draufsicht passender Stecker auf dem Targetboard Hinweis: Es gibt Adapter, um auf bestimmte übliche Programmierstecker-Belegun- gen zu adaptieren. Diese werden bei den entsprechenden Bussen aufge- zählt.
  • Seite 10: Spannungsbereich

    2 III Beschreibung Signal Signal Vtargetboard   Pullup 1MΩ   Pulldown 1MΩ   Pullup 1MΩ   RTCK Pullup 1MΩ Pullup 1MΩ GND Detect   10 Reset Pullup 1MΩ Pullup 1MΩ Abbildung 2: Draufsicht passender Stecker auf dem Targetboard 4 Spannungsbereich roloFlash wird vom Targetboard aus über Pin 1 (V...
  • Seite 11: Pin-Belegung Jtag-Interface

    2 III Beschreibung • Alle Leitungen sind mit ESD-Schutzbauteilen ausgestattet, die IEC 61000-4-2 Level 4 (15 kV (air discharge) , 8 kV (contact discharge)) erfüllen. Diese Maßnahmen bieten einen weitgehenden Schutz bei Fehlbedienun- gen wie verpoltes Aufstecken etc. Trotzdem ist nicht ausgeschlossen, daß...
  • Seite 12: Pin-Belegung Atmel Isp-Interface

    2 III Beschreibung Hinweis: Es gibt Adapter, um auf bestimmte übliche Programmiersteckerbelegun- gen zu adaptieren. Bezeichnung Polzahl Anzahl Reihen Rastermaß [mm] roloFlash-2-Target-Adapter ARM 2,54 JTAG 20p roloFlash-2-Target-Adapter ARM 1,27 Cortex Debug 10p HD roloFlash-2-Universal-Adapter Bis 20 1,27 (SMD) und...
  • Seite 13: Pin-Belegung Atmel Pdi-Interface

    2 III Beschreibung Die Pin-Belegung ist nicht zum 10-poligen ISP-Anschluß von Atmel kom- patibel, auch wenn es mechanisch passen sollte. Hinweis: Die übrigen Signale werden für ISP nicht benötigt und stehen anderen Bussen zur Verfügung. Sie können diese z. B. als GPIO ansprechen.
  • Seite 14: Pin-Belegung Uart- Interface 0

    2 III Beschreibung Signal Signal   Data targetboard         10 RST Abbildung 5: Draufsicht passender Stecker auf dem Targetboard Achtung: Die Pin-Belegung ist nicht zu dem 10-poligen ISP-Anschluss von Atmel kompatibel, auch wenn es mechanisch passen sollte.
  • Seite 15: Pin-Belegung Uart- Interface 1

    2 III Beschreibung Wenn Sie das UART-Interface benutzen, dann werden folgende Anschlüs- se für den Bus verwendet: Signal Signal   targetboard         Abbildung 6: Draufsicht passender Stecker auf dem Targetboard Hinweis: Sofern es keine Überschneidungen mit anderen Pins gibt, können andere...
  • Seite 16: Pin-Belegung Gpio-Interfaces

    2 III Beschreibung Signal Signal Vtargetboard           Abbildung 7: Draufsicht passender Stecker auf dem Targetboard Hinweis: Sofern es keine Überschneidungen mit anderen Pins gibt, können andere Busse zeitgleich geöffnet werden. Dieses ist bei dieser UART bei JTAG, Atmel PDI und Atmel ISP der Fall.
  • Seite 17: Leds

    2 III Beschreibung Signal Signal         RTCK   GND Detect 10 Reset Abbildung 8: Draufsicht passender Stecker auf dem Targetboard Hinweis: Die Pins TDO und RTCK können nicht als Ausgang benutzt werden.
  • Seite 18: Vorbereitung Der Microsd-Karte Am Pc (Z. B. In Der Entwicklung)

    2 III Beschreibung Ablauf/Verwendung Der Ablauf gliedert sich in zwei Teile: • Vorbereitung der microSD-Karte am PC (z. B. in der Entwicklung) • Flashen der Targetboards (z. B. ungeschultes Personal in der Produkti- on, Kunde oder Techniker im Feldeinsatz) 14 Vorbereitung der microSD-Karte am PC (z. B.
  • Seite 19: Flashen Der Targetboards (Z. B. Ungeschultes Personal In Der Produktion)

    2 III Beschreibung Skript aus benötigten Dateien (z.B. eine „.HEX“-Datei, eventuell benötig- te Loader) auf der microSD-Karte ab. Sie können die Dateien mit den Skripten („.BAS“), die kompilierten Dateien („.BIN“) und den Compiler nach eigenem Ermessen auf dem PC und/oder auf der microSD-Karte speichern.
  • Seite 20: 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 Basic-Schnittelle ändert - grundlegende neue Funktionen hinzugefügt wurden...
  • Seite 21 2 IV Aktualisieren von roloFlash 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. • Es erfolgt keine Überprüfung, ob die Firmware auf der microSD-Karte neuer oder älter ist.
  • Seite 22 2 IV Aktualisieren von roloFlash Falls die Aktualisierung nicht erfolgreich gewesen sein sollte, verwenden Sie bitte eine frisch unter Windows 7 mit FAT32 formatierte microSD-Kar- te, auf der sich ausschließlich die Datei für die Firmware-Aktualisierung befindet. Hinweis: Für eine Produktion oder beim Weitergeben des roloFlash an Ihre Kunden wird empfohlen, keine Datei für eine Firmware-Aktualisierung auf der mi-...
  • Seite 23: Liste Der Mitgelieferten Rolobasic-Skripte

    2 V Liste der mitgelieferten roloBasic-Skripte V Liste der mitgelieferten roloBa- sic-Skripte • Erase-and-Flash Vorbereitung: • Das Skript gibt es jeweils in einer Version für STM32-, AtmelISP und Atmel-PDI-Controller. • Zum Verwenden kopieren Sie bitte die passende Version als RUN.BAS in das Hauptverzeichnis der microSD-Karte.
  • Seite 24 2 V Liste der mitgelieferten roloBasic-Skripte • Löscht das Target (erase). • Wenn von Ihnen angegeben: Ihre HEX-Datei wird in das Flash des Targets geschrieben und verifiziert. • Nur Atmel: Wenn von Ihnen angegeben: Ihre HEX-Datei wird in das EEPROM des Targets geschrieben und verifiziert.
  • Seite 25 2 V Liste der mitgelieferten roloBasic-Skripte • Liest die ID(s) des angeschlossenen Targets aus und vergleicht mit den Werten aus der Datenbank. • Wenn die ID(s) nicht stimmen sollte(n) (z. B. anderer Controller), dann wird der weitere Ablauf mit Ausgabe einer Fehlermeldung abgebro- chen •...
  • Seite 26: 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. Sie können die Prozeduren und Funktionen direkt aufrufen.
  • Seite 27: Interne Datenbank

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 1 Interne Datenbank In roloFlash ist eine Datenbank integriert, die zu vielen Targets Informatio- nen enthält. Die Informationen dienen folgenden Zwecken: • Um in roloBasic zu prüfen, ob das gewünschte Target wirklich an- geschlossen ist (z. B.
  • Seite 28: Db_Get

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - ein Datenbank-Handle. Dieses kann benutzt werden, um mittels DB_get Informationen zu diesem Target abzufragen. Exceptions: unknownTarget Target nicht bekannt apiTypeFault Unzulässiger Typ für name 1.2 DB_get Unter Angabe eines bereits mittels DB_getHandle erhaltenden Handles können weitere Informationen abgefragt werden.
  • Seite 29: Öffnen Und Schließen Von Bussen Und Targets

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) DB_FLASHSIZE: Angaben über die Größe des Flashs in Bytes. DB_FLASHPAGESIZE: Angabe einer Page-Größe in Bytes für das Schreiben von Speicher mit bestimmten Page-Größen (z. B. Atmel AVR und Atmel Xmega) DB_EEPROMSIZE: Angaben über die Größe des EEPROMs in Bytes.
  • Seite 30: Bus Öffnen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Je nach Bus steht dazu eine passende Funktion zur Verfügung, die in dem jeweiligen Kapitel beschrieben ist. • Ein an dem Bus angeschlossener Mikrocontroller (Target) kann erst angesprochen werden, wenn man von dem Bus ein Target-Handle erhalten hat.
  • Seite 31: Bus Schließen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - ein busHandle. Dieses kann benutzt werden, um weitere Funktionen wie z.B. getTargetHandle aufzurufen. Exceptions: apiValueRange Unzulässiger Wert für index apiTypeFault Unzulässiger Typ für index resourceUnavailable Der Bus kann nicht geöffnet werden. Mögliche Gründe:...
  • Seite 32: Target Öffnen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: invalidHandle Handle ist schon geschlossen apiTypeFault Unzulässiger Typ für busHandle 2.3 Target öffnen targetHandle = getTargetHandle(<bushandle>, <index>, <family>) Ermöglicht den Zugriff auf ein Target und liefert ein Target -Handle. Hinweis: Die Funktion prüft nicht, ob tatsächlich ein Target angeschlossen ist.
  • Seite 33: Target Schließen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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. Mögliche Familien: ATMELISP, ATMELPDI, STM32F1 etc.
  • Seite 34: Jtag-Bus

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - 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 3 JTAG-Bus 3.1 Bus öffnen busHandle = JTAG_open(<index>, <speed>) Öffnet den JTAG-Bus und initialisiert die Leitungen.
  • Seite 35 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 15000000 7500000 5000000 3750000 3000000 2500000 2142857 1875000 1666666 1500000 1363636 1250000 1153846 1071428 1000000 937500 882352 833333 789473 750000 714285 681818 652173 625000 600000 576923 555555 535714 517241 500000 483870...
  • Seite 36 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 6666 5664 4662 3661 2660 1659 Bei minimaler CpuClock = 24 Mhz werden die folgenden Geschwin- digkeiten unterstützt: 1500000 750000 500000 375000 300000 250000 214285 187500 166666 150000 136363 125000 115384...
  • Seite 37: Busgeschwindigkeit Ändern

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - ein busHandle. Dieses kann benutzt werden, um weitere Funktionen wie z.B. getTargetHandle aufzurufen 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.
  • Seite 38: Busgeschwindigkeit Abfragen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Hinweis: Es kann sein, daß beim Scannen der JTAG-Chain langsamer als der an- gegeben Wert gescannt wird. Der angegebene Wert ist für alle anschlie- ßenden Transfers relevant. Hinweis: Falls Sie die Schnittstelle schon geöffnet haben und dann mittels set- CpuClock den Takt des roloFlash ändern, dann ändert sich auch die Ge-...
  • Seite 39: Jtag-Chain Scannen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: busHandle Das von JTAG_open erhaltenen Bus-Handle. Rückgabewert: - Busgeschwindigkeit in Hz Exceptions: apiTypeFault Unzulässiger Typ für busHandle 3.4 JTAG-Chain scannen idCodes = JTAG_scan(<busHandle>) Führt einen Scan auf dem JTAG-Bus durch und liefert ein Array mit den IDCODEs der gefundenen JTAG-Devices.
  • Seite 40: Atmel Isp-Bus

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 4 Atmel ISP-Bus 4.1 Bus öffnen busHandle = ISP_open(<index>, <speed>) Öffnet den ISP-Bus und initialisiert die Leitungen. Die maximale Busge- schwindigkeit wird auf „speed“ begrenzt. Setzt die Programmiergeschwin- digkeit für das Target.
  • Seite 41 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 326086 319148 312500 306122 300000 294117 288461 283018 277777 272727 267857 263157 258620 254237 250000 245901 241935 238095 234375 230769 227272 223880 220588 217391 214285 211267 208333 205479 202702 200000 197368...
  • Seite 42 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 93750 88235 83333 78947 75000 71428 68181 65217 62500 60000 57692 55555 53571 51724 50000 48387 46875 45454 44117 42857 41666 40540 39473 38461 36585 34883 33333 31914 30612 29411 28301...
  • Seite 43: Busgeschwindigkeit Ändern

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 4.2 Busgeschwindigkeit ändern ISP_setSpeed(<busHandle>, <speed>) Ändert bei einem bereits geöffneten ISP-Bus die Busgeschwindigkeit. Die maximale Busgeschwindigkeit wird auf „speed“ begrenzt. Setzt die Pro- grammiergeschwindigkeit für das Target. Vorbedingung: - gültiges busHandle...
  • Seite 44: Busgeschwindigkeit Abfragen

    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 4.3 Busgeschwindigkeit abfragen Speed = ISP_getSpeed(<busHandle>) Fragt bei einem bereits geöffneten ISP-Bus die aktuelle Busgeschwindig- keit ab. Diese kann gleich oder geringer als die bei bei ISP_open bzw.
  • Seite 45 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) gesetzt. D.h.: - Wenn kein Reset angelegt ist, ist die RST-Leitung aktiv high. - Wenn ein Reset angelegt ist, ist die RST-Leitung aktiv low Vorbedingung: - gültiges busHandle Parameter: busHandle Das von ISP_open erhaltene Bus-Handle.
  • Seite 46: Atmel Pdi-Bus

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keiner. Exceptions: apiTypeFault Unzulässiger Typ für busHandle 5 Atmel PDI-Bus 5.1 Bus öffnen busHandle = PDI_open(<index>, <speed>) Öffnet den PDI-Bus und initialisiert die Leitungen. Die maximale Busge- schwindigkeit wird auf „speed“ begrenzt. Setzt die Programmiergeschwin- digkeit für das Target.
  • Seite 47 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 1363636 1250000 1153846 1071428 1000000 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...
  • Seite 48: Busgeschwindigkeit Ändern

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Verwenden Sie setCpuClock zuerst und öffnen dann erst den Bus. • Oder setzen Sie nach setCpuClock die Busgeschwindigkeit er- neut mittels PDI_setSpeed. Rückgabewert: - ein busHandle. Dieses kann benutzt werden, um weitere Funktionen wie z.B.
  • Seite 49: Busgeschwindigkeit Abfragen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Die Geschwindigkeit des Busses, Angabe in Hz. Die unterstützten Werte sind im vorherigen Kapitel (PDI_open) angegeben. Falls die angegebene Frequenz nicht unterstützt wird, dann wird in- tern auf den nächsten möglichen Wert abgerundet.
  • Seite 50: Uart-Interface

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) busHandle Das von PDI_open erhaltene Bus-Handle. Rückgabewert: - aktuelle Busgeschwindigkeit in Hz. Exceptions: apiTypeFault Unzulässiger Typ für busHandle 6 UART-Interface 6.1 Bus öffnen busHandle = UART_open(<index>, <baudrate>, <dataBits>, <parity>, <stopbits>) Öffnet eine der beiden UART-Schnittstellen und initialisiert die Leitungen.
  • Seite 51 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Andere Baudraten, zwischen den üblichen, hier aufgezählten Baud- raten, sind ebenso möglich. Sie müssen zwischen den angegebenen Maximal- und Minimalwerten liegen. Tabelle 1: UART0-Interface bei CPU-Clock = 120 Mhz Nominell [Hz] Tatsächlich [Hz]...
  • Seite 52 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 53 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 54 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 55: Baudrate Ändern

    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. UART_write aufzurufen. Exceptions: apiValueRange Unzulässiger Wert für einen der Parameter apiTypeFault Unzulässiger Typ für einen der Parameter...
  • Seite 56: Baudrate Abfragen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Die gewünschte Baudrate in [Hz]. Die unterstützten Werte sind im vorherigen Kapitel (PDI_open) angegeben. Falls die angegebene Frequenz nicht unterstützt wird, dann wird in- tern auf den nächsten möglichen Wert gerundet.
  • Seite 57: Schreiben

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Parameter: busHandle Das von UART_open erhaltene Bus-Handle. Rückgabewert: - aktuelle Baudrate in Hz. Exceptions: apiTypeFault Unzulässiger Typ für busHandle 6.4 Schreiben UART_write <busHandle>, <text> Gibt den Text auf der UART-Schnittstelle aus. Der Programmablauf wird dann weitergeführt, wenn die Ausgabe abgeschlossen ist.
  • Seite 58: Lesen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) apiTypeFault Unzulässiger Typ für busHandle oder Text 6.5 Lesen data = UART_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 59: Vorbedingung

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Öffnet eine der GPIO-Schnittstellen und initialisiert die Leitung. Der Mode wird wie angegeben eingestellt. Gegebenenfalls ändert sich der Zustand des Pins. Hinweis: - Die Pins TDO und RTCK können nur als Eingang verwendet werden.
  • Seite 60: Mode Ändern

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiValueRange Unzulässiger Wert für einen der Parameter apiTypeFault Unzulässiger Typ für einen der Parameter functionNotSupported Die Pins TDO und RTCK können nur als Input verwendet werden BadArgumentCount Die Anzahl der Argumente stimmt nicht.
  • Seite 61: Schreiben

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - 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. Für die anderen Modi gibt der Wert den Ausgangszustand für den Pin an.
  • Seite 62: Lesen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) level Ausgangszustand für den Pin Rückgabewert: - keiner (Prozedur) Exceptions: apiValueRange Unzulässiger Wert für level apiTypeFault Unzulässiger Typ für eine der Parameter functionNotSupported Der Pin wird als Eingang genutzt, daher ist die Funktion nicht möglich...
  • Seite 63: Target Allgemein

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Rückgabewert: - Ausgelesener Pin Exceptions: apiTypeFault Unzulässiger Typ für busHandle functionNotSupported Der Pin kann nicht ausgelesen werden, da roloFlash den Pin aktiv treibt, siehe obigen Hinweis. 8 Target allgemein Das Target kann sich in folgenden Modi befinden: RunMode Target läuft ganz normal, als ob roloFlash nicht angeschlossen wäre.
  • Seite 64 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Falls das Target schon im ProgramMode ist, dann wird ebenso eine Abfra- ge gestartet. Das Target bleibt im ProgramMode. Hinweis Atmel PDI-Bus: Unabhängig davon, ob das Target im RunMode oder ProgramMode ist, wird über den PDI-Bus eine Abfrage gestartet.
  • Seite 65: Settargetmode

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 8.2 setTargetMode setTargetMode <targetHandle, targetMode> Bringt das Target und roloFlash in den angegebenen Mode Vorbedingung: - gültiges targetHandle Parameter: targetHandle Das Target-Handle auf das anzusprechende Target targetMode Angabe des gewünschten Modes: PROGRAMMODE: Dieser Mode ist Voraussetzung für die meisten...
  • Seite 66: Restarttarget

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • runMode: Startet das Target nur, wenn vorher keine Schreibzugriffe auf den Flashspeicher stattgefunden haben. Hinweis Atmel ISP-Bus: • programMode: Falls das Target im RunMode ist, dann wird das Target in den „Programming Enable“-Mode geschaltet und im Reset gehalten.
  • Seite 67 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) ProgramMode Es wird ebenso ein Reset durchlaufen, dann wieder der ProgramMo- de hergestellt. Zwischenzeitlich kann eine evtl. auf dem Target be- findliche Firmware bereits für kurze Zeit losgelaufen sein. Es wird empfohlen, dieses Kommando nur einzusetzen, wenn dieses ent- weder nicht kritisch ist oder sich noch keine Firmware auf dem Target be- findet.
  • Seite 68 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) RunMode Es wird kurzzeitig (100 ms) der Reset aktiviert, dann deaktiviert. Das Target läuft daher vom Anfang los. Der RunMode wird beibehalten. ProgramMode Der Reset wird kurzzeitig (3 ms) aufgehoben, dann wieder der Pro- gramMode hergestellt.
  • Seite 69: Target-Memorymap Lesen/Schreiben

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Der PDI-Bus wird deaktiviert, ein Reset ausgelöst (100 ms), anschlie- ßend der PDI-Bus aktiviert und der ProgramMode wieder hergestellt. Das Target läuft vom Anfang los. Vorbedingung: - gültiges Target-Handle Parameter: targetHandle Das Target-Handle auf das anzusprechende Target Rückgabewert:...
  • Seite 70: Wert In Ein Property Einer Speicherart Schreiben

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 9.1 Wert in ein Property einer Speicherart schreiben setMemoryMap <targetHandle>, <memType>, <memProperty> <value> Setzt für den angegeben Speichertyp das entsprechende Property auf den angegebenen Wert. Vorbedingung: - gültiges Target-Handle Parameter: targetHandle...
  • Seite 71: Wert Aus Einem Property Einer Speicherart

    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 72: Clearmemorylayout

    2 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 Rückgabewert: - gelesener Wert Exceptions: targetCommunication Die Kommunikation mit dem Target funktioniert nicht. invalidHandle Das Target-Handle ist schon geschlossen, oder der Bus wurde schon geschlossen.
  • Seite 73: Loader

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keiner (Prozedur) Exceptions: targetWrongMode Target ist nicht im "ProgramMode". invalidHandle Das Target-Handle ist schon geschlossen oder der Bus wurde schon geschlossen. apiTypeFault Unzulässiger Typ für das Target-Handle. 10 Loader Manche Controllerfamilien werden mit Hilfe eines Loaders angesprochen.
  • Seite 74: Target Löschen, Schreiben, Lesen Und Verifizieren

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 11 Target löschen, schreiben, lesen und verifizieren 11.1 EraseFlash eraseFlash Löscht das gesamte Flash des Targets. Bei manchen Targets wird dabei automatisch auch das EEPROM gelöscht (z.B. Atmel-Fuse „EESAVE“). In- formationen dazu finden Sie im jeweiligen Datenblatt des Targets.
  • Seite 75: Writefiletotarget

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 11.2 writeFileToTarget writeFileToTarget <targetHandle>, <filesystem>, <file- name>, <fileformat>, <memType>, <verify>, <startAddr> Schreibt eine Datei in den Speicher des Targets. Vorbedingung: - gültiges Target-Handle - das Target muß im ProgramMode sein. Parameter:...
  • Seite 76 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) VERIFYONLY: Die Daten werden nur verifiziert (kein Schreiben auf dem Target) WRITEVERIFY: Schreiben und Verifizieren startAddr (optional). Der Parameter ist ausschließlich für das Raw-Format vor- gesehen. Da im Raw-Format in der Datei keine Adresse angegeben ist, muß...
  • Seite 77: Readfilefromtarget

    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 78: 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 5 “Datei- en“. Falls die Datei schon existieren sollte, dann wird sie überschrie- ben.
  • Seite 79: Writerawdatatotarget

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

    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 81 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 das jeweilige Target spezifisch.
  • Seite 82: 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 83: Target Atmel Avr (Isp-Interface)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • flash, ram, readMemory (für Zugriff auf RAM- und Flash-Speicher) 13 Target Atmel AVR (ISP-Interface) Es werden alle Funktionen der Kapitel „Target allgemein“ bis „Target lö- schen, schreiben, lesen und verifizieren“ inklusive aller Unterkapitel unter- stützt.
  • Seite 84: Readbits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Ausgelesene Signature. Die Signature wird in einem Byte-Array mit 3 Bytes geliefert. Sie können die Signature mit einer Signature aus der Da- tenbank vergleichen. Exceptions: targetWrongMode Target ist nicht im "ProgramMode".
  • Seite 85: 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 86: Setextendedaddressmode

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) targetHandle Das Target-Handle auf das anzusprechende Target index Gibt an, welche Fuses bzw. Lock-Bits beschrieben werden sollen. Es gibt dazu die Konstanten FUSES_LOW, FUSES_HIGH, FUSES_EXT und LOCK_BITS. Bei Controllern, die keine Extended-Fuses haben, findet bei FUSES_EXT kein Schreibvorgang statt (es wird keine Exception er- zeugt).
  • Seite 87: Target Atmel Avr (Pdi-Interface)

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - gültiges targetHandle - das Target muß im ProgramMode sein. Parameter: targetHandle Das Target-Handle auf das anzusprechende Target value Extended address mode nicht verwenden sonst: Extended address mode verwenden Rückgabewert:...
  • Seite 88: Getdeviceid

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Unterstützte memTypes beim Lesen: • Flash, EEPROM 14.1 getDeviceId id = 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 89: Readbits

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 14.2 readBits values = 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 90: 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 91: Dateien

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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> 7: Lock-Bits Hinweis: für die Lock-Bits kann auch die Konstante LOCK_BITS verwendet werden.
  • Seite 92: Fscreate

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Verzeichnisnamen dürfen maximal aus acht Zeichen bestehen: „XXXXXXXX“. • Ansonsten gelten dieselben Konventionen wie bei Dateinamen. Aktuelles Verzeichnis ist immer das Hauptverzeichnis: • Es gibt kein „change directory“. Der aktuelle Pfad bleibt immer das Hauptverzeichnis.
  • Seite 93: Fsremove

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keiner (Prozedur) Exceptions: apiTypeFault Unzulässiger Typ für filename. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 15.2 fsRemove fsRemove <filesystem>, <filename> Löscht die angegebene Datei oder das angegebene Verzeichnis, falls vor- handen.
  • Seite 94: Fsmkdir

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 15.3 fsMkDir fsMkDir <filesystem>, <dirname> Erzeugt das angegebene Verzeichnis. Falls das Verzeichnis schon exis- tiert, hat die Prozedur keine Wirkung. Vorbedingung: - keine Parameter: filesystem Der Parameter wird ignoriert und sollte mit 0 angegeben werden.
  • Seite 95: Fsfilesize

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - keine Parameter: filesystem Der Parameter wird ignoriert und sollte mit 0 angegeben werden. filename Es gelten die Bedingungen für Dateinamen, siehe Kapitel 5 “Datei- en“. Rückgabewert: 0 = Datei existiert nicht...
  • Seite 96: Fsopen

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Es gelten die Bedingungen für Dateinamen, siehe Kapitel 5 “Datei- en“. Rückgabewert: Es wird die Dateigröße zurückgegeben. Exceptions: apiTypeFault Unzulässiger Typ für filename. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“.
  • Seite 97: Fsread

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Exceptions: apiTypeFault Unzulässiger Typ für filename. <diverse Exceptions des Siehe Kapitel „Exceptions des Dateisystems“. Dateisystems> 15.7 fsRead a = fsRead(<filehandle>, <position>, <count>) Liest die angegebene Anzahl an Bytes aus der Datei.
  • Seite 98: Fswrite

    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> 15.8 fsWrite fsWrite <filehandle>, <position>, <array>...
  • Seite 99: Fstruncate

    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> 15.9 fsTruncate fsTruncate <filehandle>, <len>...
  • Seite 100: Fsclose

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 15.10 fsClose fsClose <filehandle> Schließt die Datei. Das angegebene Filehandle wird dadurch ungültig und darf nicht mehr verwendet werden. Vorbedingung: - Gültiges Filehandle mittels fsOpen. Parameter: filehandle Das von fsOpen erhaltene Filehandle.
  • Seite 101: 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> 16 LEDs Immer nur eine LED an: •...
  • Seite 102: Ledon

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) • Alle Prozeduren dieses Kapitels sind nicht blockierend. Das bedeutet, dass z. B. ein mit ledRunningLight aktiviertes Lauflicht parallel zur weiteren Ausführung des roloBasic läuft. 16.1 ledOn ledOn <index>, <color> Schaltet die LED auf die angegebene Farbe.
  • Seite 103: Ledblink

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: - keine Rückgabewert: - keiner (Prozedur) Exceptions: - keine 16.3 ledBlink ledBlink <index>, <color>, <speed> Die LED blinkt mit der angegebenen Geschwindigkeit. Vorbedingung: - keine Parameter: index...
  • Seite 104: Ledrunninglight

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) speed Geschwindigkeit des Blinkens in [ms] 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. 16.4 ledRunningLight ledRunningLight <from>, <to>, <color>, <speed>...
  • Seite 105 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. 16.5 ledRunningLightOutstanding ledRunningLightOutstanding <from>, <to>, <color>, <speed>, <outstandingLedNumber> Läßt ein Lauflicht laufen, bei der eine bestimmte LED die jeweilig andere Farbe aufweist.
  • Seite 106: Sonstige

    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. 17 Sonstige 17.1 setLogMode setLogMode <logMode> Es wird der Mode für das Loggen (siehe folgendes Kapitel „print“) festge- legt.
  • Seite 107: Print

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

    2 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: a, b, ... Hier können Zahlen und Arrays ausgeben werden. Beispiel: value = 42 print "Der Wert ist: ", value...
  • Seite 109: Getsystemtime

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) - 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. 17.4 getSystemTime t = getSystemTime Ermittelt die abgelaufe Zeit seit Systemstart in ms.
  • Seite 110: Gettargetboardvoltage

    2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 17.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 17.6 setCpuClock setCpuClock <frequency>...
  • Seite 111 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) 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. Vorbedingung: - keine Parameter: frequency Angabe in Hz.
  • Seite 112 2 VI roloFlash-API (Liste der Prozeduren und Funktionen) Vorbedingung: - keine Parameter: - keine Rückgabewert: Ausgelesener Takt in Hz. Exceptions: – keine © halec 2018...
  • Seite 113: Abfrage Von Roloflash Eigenschaften

    2 VII Abfrage von roloFlash Eigenschaften VII Abfrage von roloFlash Eigen- schaften Mit folgenden Systemfunktionen / Systemkonstanten können Sie verschie- dene Informationen Ihres roloFlashs ermitteln. 1 Versionsnummern etc. Name Wert / Bedeutung companyName „halec <http://halec.de>“ deviceName „roloFlash 2“ softwareVersion...
  • Seite 114 2 VII Abfrage von roloFlash Eigenschaften Aus Log-File entnehmen: serialNumber: 1B9FE86E90B7660F08E387B 2. Ihr Skript soll nur auf diesem roloFlash laufen, andernfalls mit einer Ex- ception abbrechen: if serialNumber <> "1B9FE86E90B7660F08E387B" print "Falscher roloFlash, Abbruch\r\n" throw userException endif Hinweis: Für die Seriennummer wird intern eine vom Chiphersteller vorgegebene eindeutige Device-ID genutzt.
  • Seite 115: Exceptions

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

    2 VIII 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 117: Exceptions Des Roloflashs

    2 VIII Exceptions Name Nummer Bedeutung deviceError Es konnte nicht von der microSD-Karte gelesen bzw. auf sie geschrieben werden. badCluster Probleme innerhalb des Dateisystems. Das Dateisystem sollte auf dem PC auf Konsistenz geprüft werden. notMounted Es wurde versucht, auf die microSD-Karte zuzugreifen, obwohl sie nicht angemeldet ist.
  • Seite 118 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 119 2 VIII Exceptions ProgramMode voraus. targetCommunication Ein Kommunikationsfehler mit dem Target. targetMemoryLayout Das Speicherlayout des Controllers ist nicht angegeben worden (setMemoryMap). eraseError Das Löschen des Targets hat nicht funktioniert. targetVerify Beim Zurücklesen von Daten wurde ein Unterschied festgestellt. hexFileSize Die Größe der angegebenen Hex-Datei ist nicht...
  • Seite 120: Vom Benutzer Ausgelöste Exceptions

    2 VIII Exceptions TargetError Das Target hat einen nicht weiter spezifizierten Fehler gemeldet. Bei ARM-Targets können das gesetzte Sticky-Bits sein. writeProtectError Der angesprochene Speicherbereich des Targets ist schreibgeschützt. readProtectError Der angesprochene Speicherbereich des Targets ist lesegeschützt. writeError Es gab einen Fehler beim Beschreiben des angesprochenen Speicherbereichs.
  • Seite 121: Bedeutungen Von Led-Codes

    2 IX Bedeutungen von LED-Codes IX 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 122: Roloflash-Aktualisierung

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

    2 IX 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 124: Aktualisierung Fehlerhaft: Datei Nicht Gefunden

    2 IX 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 125: Aktualisierung Fehlerhaft: Sonstiges

    2 IX 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 126: Spezifikation

    2 X Spezifikation X Spezifikation 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 STM32F1 Anschluß über JTAG-Interface. Unterstützte Controller: STM32F100C4, STM32F100C6, STM32F100C8, STM32F100CB, STM32F100R4, STM32F100R6, STM32F100R8, STM32F100RB,...
  • Seite 127: Stm32F2

    2 X Spezifikation STM32F103TB, STM32F103V8, STM32F103VB, STM32F103VC, STM32F103VD, STM32F103VE, STM32F103VF, STM32F103VG, STM32F103ZC, STM32F103ZD, STM32F103ZE, STM32F103ZF, STM32F103ZG, STM32F105R8, STM32F105RB, STM32F105RC, STM32F105V8, STM32F105VB, STM32F105VC, STM32F107RB, STM32F107RC, STM32F107VB, STM32F107VC 1.2 STM32F2 Anschluß über JTAG-Interface. Unterstützte Controller: STM32F205RB, STM32F205RC, STM32F205RE, STM32F205RF, STM32F205RG, STM32F205VB, STM32F205VC, STM32F205VE,...
  • Seite 128: Stm32F4

    2 X Spezifikation STM32F303K6, STM32F303K8, STM32F303R6, STM32F303R8, STM32F303RB, STM32F303RC, STM32F303RD, STM32F303RE, STM32F303VB, STM32F303VC, STM32F303VD, STM32F303VE, STM32F303ZD, STM32F303ZE, STM32F318C8, STM32F318K8, STM32F328C8, STM32F334C4, STM32F334C6, STM32F334C8, STM32F334K4, STM32F334K6, STM32F334K8, STM32F334R6, STM32F334R8, STM32F358CC, STM32F358RC, STM32F358VC, STM32F373C8, STM32F373CB, STM32F373CC, STM32F373R8, STM32F373RB, STM32F373RC, STM32F373V8, STM32F373VB,...
  • Seite 129: Unterstützte Controller Von Atmel

    2 X Spezifikation STM32F423MH, STM32F423RH, STM32F423VH, STM32F423ZH, STM32F427AG, STM32F427AI, STM32F427IG, STM32F427II, STM32F427VG, STM32F427VI, STM32F427ZG, STM32F427ZI, STM32F429AG, STM32F429AI, STM32F429BE, STM32F429BG, STM32F429BI, STM32F429IE, STM32F429IG, STM32F429II, STM32F429NE, STM32F429NG, STM32F429NI, STM32F429VE, STM32F429VG, STM32F429VI, STM32F429ZE, STM32F429ZG, STM32F429ZI, STM32F437AI, STM32F437IG, STM32F437II, STM32F437VG, STM32F437VI, STM32F437ZG, STM32F437ZI,...
  • Seite 130 2 X Spezifikation Unterstützte Controller: AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM1, AT90PWM2, AT90PWM216, AT90PWM2B, AT90PWM3, AT90PWM316, AT90PWM3B, AT90PWM81, AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90SCR100H, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82, ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284, ATmega1284P, ATmega1284RFR2, ATmega128A, ATmega128RFA1,...
  • Seite 131: Avr (Pdi-Interface)

    2 X Spezifikation 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, ATtiny261, ATtiny261A, ATtiny4313, ATtiny43U, ATtiny44, ATtiny441, ATtiny44A, ATtiny45,...
  • Seite 132 2 X Spezifikation • Unterstützte Controller STM32F2 mit JTAG-Interface: • alle Derivate • Unterstützte Controller STM32F3 mit JTAG-Interface: • alle Derivate • Unterstützte Controller STM32F4 mit JTAG-Interface: • alle Derivate • Unterstützte Controller der Atmel-AVR-Serie mit ISP-Interface: • AT90 •...

Inhaltsverzeichnis