12.07.2015 Aufrufe

FLASHit 9-STM32 Manual - hse-electronics GmbH

FLASHit 9-STM32 Manual - hse-electronics GmbH

FLASHit 9-STM32 Manual - hse-electronics GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>1 <strong>FLASHit</strong>1.1 <strong>FLASHit</strong><strong>FLASHit</strong> ermöglicht die problemlose und schnelle Programmierung von Anwendersoftware in ein<strong>STM32</strong> ARM Cortex M3-Zielsystem.1.2 Wie funktioniert <strong>FLASHit</strong>?<strong>FLASHit</strong> wurde für eine einfache Bedienung konzipiert. Nachdem eine Verbindung über die RS232-Schnittstelle zurHardware hergestellt wurde und die Schnittstellen-Parameter eingestellt wurden muss lediglich eine Applikationausgewählt werden und der Upload- bzw. der Programmier-Vorgang (das Brennen) in das Zielsystem kann beginnen.Dies geschieht folgendermaßen (ohne aktivierte Optionen):- Bootstraploaders des Zielsystems aktivieren- Konfiguration des Zielsystems ermitteln- Automatisch den verwendeten MCU-Typ erkennen- MCU-Typ-Daten aus der Datenbank von <strong>FLASHit</strong> auslesen- Daten der MCU anzeigen- Analyse des Hexfiles: Zu löschende Sektoren erkennen, markieren und Hexdaten in einem binären Array sortieren- FLASH-Speicher löschen (einzelne Sektoren oder ganzen Chip)- FLASH im Zielsystem blockweise neu programmieren (programmierte Sektoren markieren).Auf Wunsch wird <strong>FLASHit</strong> speziellen Bedürfnissen angepasst!2 SystemanforderungenZielsystemMCU:<strong>STM32</strong> ARM Cortex M3PCBetriebssystem: alle gängigen Windowsversionen bis Windows 7Hardware:ab Pentium10-06 Seite 4 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>3 Programm-Installation und Registrierung3.1 InstallationSie haben eine CD erhalten:- Legen Sie die Programm-CD in das CD-ROM-Laufwerk des PCs ein.- Folgen Sie den Anweisungen auf dem Bildschirm.Sie haben <strong>FLASHit</strong> von der <strong>hse</strong>-<strong>electronics</strong>-Website geladen:- Starten Sie setupflashit_<strong>STM32</strong>.exe.- Folgen Sie den Anweisungen auf dem Bildschirm.3.2 RegistrierungZwei Lizenzierungsverfahren sind möglich:1. PC-gebundene Lizenzierung2. USB-Dongle-gebundene LizenzierungNachdem <strong>FLASHit</strong> das erste Mal gestartet wurde, muss <strong>FLASHit</strong>im Menü Help/Registration registriert werden (andernfallsbefindet sich <strong>FLASHit</strong> im eingeschränkten Demomodus).Wurde <strong>FLASHit</strong> mit einem Dongle geliefert, können diefolgenden Schritte übersprungen werden. Stecken Sie denDongle in einen USB-Port, und <strong>FLASHit</strong> ist freigeschaltet.Die Registrierung von <strong>FLASHit</strong> erfolgt in zwei Schritten:Schritt 1:Führen Sie diesen Schritt auf dem Computer durch, für den<strong>FLASHit</strong> registriert werden soll!Klicken Sie auf Build registration data.<strong>FLASHit</strong> hat Ihre persönliche System-Id erzeugt.- Ergänzen Sie die mit einem „*“ gekennzeichneten Felder.- Senden Sie uns jetzt Ihre Daten zu. Dazu haben Sie zweiMöglichkeiten: Sie können Ihre Registrierungsdaten via E-Mail(Build mail...) an uns senden oder via Fax, indem Sie dieDaten ausdrucken (Print...).- Sie erhalten postwendend Ihren Freischalt-Code (via E-Mailoder Fax) von uns.Schritt 2:- Geben Sie den Freischalt-Code unterEnter licence key: ein.- Klicken Sie auf Enable licence.- Wenn die Meldung Licence is enabled angezeigt wird (aufgrünem Feld), wurde <strong>FLASHit</strong> erfolgreich registriert.Bei Fragen zur Registrierung senden Sie uns eineE-Mail: info@<strong>hse</strong>-<strong>electronics</strong>.com.Hinweis: Falls Sie einen neuen Freischalt-Code benötigen, weil sich Ihre Hardware oder sonstige Bedingungen geänderthaben, genügt eine kurze E-Mail mit der Angabe der alten Lizenznummer, und Sie erhalten eine neue Nummer.10-06 Seite 5 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4 Programmfunktionen4.1 Verbindung herstellen- Verbinden Sie Ihr Zielsystem über die serielle Schnittstelle mitdem PC.- Wählen Sie über das Menü Setup den gewünschten COM-Port. Es werden die ersten 10 installierten COM-Devices zurAuswahl angeboten, deren COM-Nummer kann zwischen 1und 99 liegen.Hinweis: Unter Verwendung eines USB-RS232-Adapters kann <strong>FLASHit</strong> auch über eine USB-Schnittstelle betriebenwerden. Alle fett markierten Einstelloptionen sind Default-Einstellungen bzw. Empfehlungen.4.2 Baudrate einstellenDie einstellbare Baudrate zwischen Zielsystem und PC ist u. a.davon abhängig, unter welcher Taktfrequenz das Zielsystemläuft (teilbar durch eine Standard-Baudrate). Probieren Sieeinfach verschiedene Baudraten aus.Wählen Sie über das Menü Baudrate die gewünschte Baudrateaus.4.3 <strong>FLASHit</strong>-Arbeitsverzeichnis<strong>FLASHit</strong> legt während einer Arbeitssitzung mehrere Dateien an:Flashit_<strong>STM32</strong>.ini // Programmeinstellungenresult.txt// RückgabewerteDiese Dateien werden standardmäßig, abhängig von der Windowsversion (hier WinXP), in dem von Windowszugewiesenen Verzeichnis abgelegt.(Z. B.: c:\Documents and Settings\All Users\Applications Datas\<strong>FLASHit</strong>\*.*.)Windows muss das Erstellen und Schreiben von Dateien in diesem Verzeichnis zulassen!Sie können auch ein anderes Arbeitsverzeichnis wählen (dieses muss zuvor angelegt worden sein).Gehen Sie folgendermaßen vor:- Rufen Sie über das Kontextmenü den Eigenschaftendialog auf, und wählen Sie die Registerkarte Verknüpfung.- Tragen Sie im Eingabefeld Ziel Folgendes ein (Beispiel):c:\programme\flashit_<strong>STM32</strong>.exe WORK_DIR=j:\iniErgebnis:Nach einem Doppelklick auf das <strong>FLASHit</strong>-Icon wird <strong>FLASHit</strong> gestartet, und die Dateien werden imVerzeichnis „j:\ini“ abgespeichert.Wird der Pfadname in Anführungszeichen gesetzt, sind auch Leerzeichen erlaubt (Beispiel):c:\program files\flashit_<strong>STM32</strong>.exe WORK_DIR=“c:\Program Files\<strong>FLASHit</strong>“Unter dem Menü Setup/Work dir... kann der eingestellte Pfadüberprüft werden.10-06 Seite 6 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.4 Experten- oder ExpressmodusUnter dem Menü Setup/Expert mode und Setup/Expressmode kann zwischen einer vereinfachten oder der„kompletten“ Programmoberfläche von <strong>FLASHit</strong> gewähltwerden.<strong>FLASHit</strong> „merkt“ sich die letzten Einstellungen für einenNeustart„Expert mode“ (Default)Vereinfachte Programmoberfläche von <strong>FLASHit</strong>: „Expressmode“10-06 Seite 7 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.5 Upload in das Zielsystem („FLASH brennen“)Die wichtigsten Programmeinstellungen sind jetzt unter den Punkten 4.1 und 4.2 vorgenommen worden, so dass miteinem Upload der Anwendersoftware in das Zielsystem begonnen werden kann.Über die Registerkarte UploadFile kann eine Datei (*.hex oder*.s19) ausgewählt werden. Im FensterFile-Info werden Informationen zur Datei angezeigt. Miteinem Mausklick auf das blaue Feld Upload unten rechts kannmit dem Upload in das FLASH begonnen werden.Alle anderen Einstellungen, die nachfolgend beschriebenwerden, versucht <strong>FLASHit</strong> nun automatisch vorzunehmen.Während des Uploads schaltet <strong>FLASHit</strong> auf die RegisterkarteFlashMem und zeigt die Daten des verwendeten FLASH-Speichers an (FLASH-Typ, Hersteller sowie die Speichergrößeund die Anzahl der Sektoren). Im Status-Fenster wird derUpload-Vorgang protokolliert.Der Upload kann jederzeit unterbrochen werden durch einenKlick auf Cancel.Nach einem erfolgreichen Upload färbt sich das Statusfenstergrün.Wenn sich das Statusfenster rot färbt, ist der Uploadfehlgeschlagen.Die mögliche Ursache für ein Scheitern des Uploads kann überdas Status-Fenster ermittelt werden.Eine Auflistung der Errorcodes befindet sich im Anhang.Hinweis: Falls <strong>FLASHit</strong> vor dem Upload-Vorgang Ihr Zielsystem nicht automatisch zurücksetzen konnte, kommt dieAufforderung, das Zielsystem zurückzusetzen. Der „Bootstrap“-Modus muss hierfür aktiviert sein (BOOT1 aufHigh). Lange Upload-Dateinamen werden im oberen Fenster von <strong>FLASHit</strong> aus Platzgründen gekürzt dargestellt.Der volle Pfad wird gezeigt, wenn der Mauszeiger auf das Panel gesetzt wird.10-06 Seite 8 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.6 HEX oder BIN?Mit <strong>FLASHit</strong> können neben Intel-HEX-Dateien (*.hex) oder Motorola-HEX-Dateien (*.s19) auch Binärdateien in denFLASH-Speicher des Zielsystems geschrieben werden.Dazu muss unter Config/Target and program configurationdie Option Programming file into flash/Load Bin markiertsein. <strong>FLASHit</strong> wird bei dieser Einstellung, die in das FLASH zuspeichernde Datei nicht mehr interpretieren. Auch Intel-HEX-Dateien (oder s19-Dateien) werden jetzt nicht (!) als HEX-Dateien behandelt, sondern als Binärdateien!Die Startadresse im Zielsystem, an der die Binärdateigespeichert werden soll, kann hier ebenfalls eingestelltwerden.Ist die Option Programming file into flash/Load Hex markiert, kann keine Binärdatei in das Target gespeichertwerden, da sie die Intel-HEX-Struktur nicht aufweist.Ist die Option Programming file into flash/Load Bin markiert und es wird eine HEX-Datei zum Speichern in denFLASH-Speicher angewählt, fragt <strong>FLASHit</strong> nach, ob dies auch wirklich beabsichtigt ist.4.7 FLASH-Speicher-InfosUnabhängig davon, ob ein Upload vorgenommen wurde oder nicht, werden über die Schaltfläche Analysis auf derRegisterkarte FlashMem folgende Informationen über den verwendeten FLASH-Typ angezeigt:- MCU-Typ (Type),- Hersteller (Producer),- Speicher-Größe (Size),- Anzahl der Sektoren (Sectors),- Position des FLASH-Speichers (Place)- FLASH-Code (Code) sowie- Aufteilung und Größe der einzelnen Sektoren.Der verwendete MCU-Typ wird von <strong>FLASHit</strong> automatischerkannt. Ein Auszug der zurzeit unterstützten Typen ist unterMenüpunkt Help/FLASH types zu finden.Auf unserer Website www.<strong>hse</strong>-<strong>electronics</strong>.com können dieunterstützten MCU-Typen eingesehen werden.Mit Chip-Erase und Sector-Erase kann an dieser Stelleunabhängig von einem Programm-Upload derFLASH-Speicher komplett oder sektorweise, durch Markierender Sektoren mit der Maus, gelöscht werden.10-06 Seite 9 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.8 Informationen über unterstützte FLASH-SpeicherUnter dem Menü Help/Flash types... kann in die kompletteMCU-Datenbank von <strong>FLASHit</strong> Einsicht genommen werden.Sollte die gewünschte MCU nicht dabei sein, kann <strong>hse</strong> denentsprechenden Baustein evtl. schnell einpflegen.<strong>FLASHit</strong> bietet mit dieser Funktion Hilfe auf der Suche nacheiner geeigneten MCU an.Unter View Filter können Kriterien für die Suche eingegebenwerden (Hersteller, Bezeichnung und FLASH-Größe).Alle Sektoren des FLASHes werden grafisch dargestellt. Wirdein Sektor mit der Maus markiert, werden Nummer, Größe,Start- und Endadresse des Sektors angegeben.4.9 Upload in das RAM des TargetsMit der Funktion RAM-Upload kann der Inhalt einer Datei indas RAM des Zielsystems übertragen werden. Die DateiformateHex und Binär werden unterstützt.Die Auswahl der RAM-Upload-Datei erfolgt im DialogFile/Upload file into RAM. Diese Datei-Auswahl istunabhängig von der Auswahl der FLASH-Upload-Datei. DieFenster Base address und Top address zeigen dieentsprechenden Daten der Upload-Datei an. Abhängig vomjeweiligen Zielsystem kann es notwendig sein, die Basis-Adresse anzupassen.Mit User defined kann eine neue Basis-Adresse vorgegebenwerden. Die Top-Adresse wird automatisch neu berechnet(Top address).In diesem Beispiel ist die Basis-Adresse der Upload-Datei0x20000200 Es wird die neue Basis-Adresse 0x20000000 unterUser defined eingestellt, damit die Daten im RAM platziertwerden können.10-06 Seite 10 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.10 Zielsystem-InfosDurch Betätigen des Schalters Get info werden auf der Registerkarte Target CPU Informationen über das Zielsystemangezeigt.Processor:RAM:FLASH:Bootloader:MANUF:IDCHIP:Device ID(H):Device ID(L):Ziel-CPU-Typ (hier ein <strong>STM32</strong>F103;Größe des RAM der MCUGröße des FLASH-Speichers der MCUVersion des internen BootloadersHerstellerMCU ID codeUnique device ID register (96 bits)Unique device ID register (96 bits)FLASH content:Die ersten 24 Bytes des FLASH-Speicherswerden im Fenster Flash content angezeigt.4.11 Konfiguration von <strong>FLASHit</strong> – Target System (Zielsystem)Obwohl <strong>FLASHit</strong> den größten Teil der benötigten Daten selbst ermittelt, kann es vorkommen, dass eine Reihe vonParametern manuell eingestellt werden müssen.Über das MenüConfig/Target and program configuration und dieRegisterkarte Target System können diverse Einstellungenzum Zielsystem vorgenommen werden.Target CPU<strong>FLASHit</strong> erkennt in der Regel die Ziel-CPU automatisch.Ist Target Reset/Automatic gewählt, versucht <strong>FLASHit</strong>, dasTarget automatisch zurückzusetzen.Mit User defined kann das Resetverhalten von <strong>FLASHit</strong>manuell eingestellt werden (Define).Flash memory<strong>FLASHit</strong> unterstützt in dieser Version nur die OnChipFLASH-Speicher der <strong>STM32</strong>ControllerBasic address:Die Basis-Adresse des FLASH-Speichers definiert die Adresse,an der <strong>FLASHit</strong> den FLASH-Speicher verwendet. Normalerweiseist diese Adresse = 0x0800000010-06 Seite 11 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>4.12 Konfiguration von <strong>FLASHit</strong> - ProgrammiersequenzÜber das Menü Config/Target and program configuration und die Registerkarte Program sequence könnenEinstellungen zum Programmierablauf vorgenommen werden. <strong>FLASHit</strong> arbeitet die Parameter 0p bis 8 sequentiell ab.Die mit fetter Schrift im Configuration-Fenster gekennzeichneten Parameter sind die „<strong>FLASHit</strong>-Default-Einstellungen“.0p. Clear protectionMit der Option Clear protection besteht die Möglichkeit dieReadout- und oder Writingprotection aufzuhebenBei Aufhebung der Readoutprotection, wird der gesamteFLASH-Speicher gelöscht!0r. Ram UploadMit der Option Ram Upload wird eine ausgewählte Datei indas interne RAM der MCU geladen.1. Erasing FlashHier kann zwischen dem Chip-Erase-Modus (der FLASH-Speicher wird vor dem Download komplett gelöscht) und demSector-Erase-Modus gewählt werden. Im Sector-Erase-Modusanalysiert <strong>FLASHit</strong> die HEX-Datei, die in das Zielsystem geladenwerden soll. Dabei werden nur die Sektoren gelöscht, in denendas Programm gespeichert werden soll. Ist die Option EraseFlash nicht markiert, wird der FLASH-Speicher vor demDownload nicht gelöscht. Dies ist sinnvoll für den Fall, dassmehrere HEX-Files hintereinander zu speichern sind. DieOption Ask before erase löst (nur bei Sector-Erase) vor demLöschen des FLASH-Speichers eine Nachfrage aus.2. Programming file into flashDiese Option muss angewählt sein, um eine Datei in denFLASH-Speicher des Zielsystems zu übertragen.Mit <strong>FLASHit</strong> können neben HEX-Dateien (*.hex / *s19) auchBinärdateien in den FLASH-Speicher des Zielsystemsgeschrieben werden.Dazu muss unter Config/Target and program configuration die Option Program file into flash/Load Bin markiertsein. <strong>FLASHit</strong> wird bei dieser Einstellung die in das FLASH zu speichernde Datei nicht mehr interpretieren. HEX-Dateienwerden jetzt nicht (!) mehr als HEX-Datei behandelt, sondern als Binärdateien! Mit dieser Option besteht z. B. dieMöglichkeit, Daten, die aus einem Zielsystem ausgelesen wurden, oder Bitmaps, Textdateien usw. in ein Zielsystem zu„flashen“.Die Startadresse im Zielsystem, an der die Binärdatei gespeichert werden soll, kann hier ebenfalls eingestellt werden.3a. Build checksum (CRC)Mit der Option Build Checksum kann <strong>FLASHit</strong> veranlasst werden, über den Inhalt des FLASH-Speichers eine Prüfsummezu bilden.Im Bereich „Calculation area of checksum“ können die Adressbereiche, über die die Prüfsumme gebildet werden soll,eingestellt werden.ADD32 (Add Bytes) benötigt ca. 2 Sec/256 Kbyte (niedrige Sicherheitsstufe).CRC16 (Cyclic Redundancy Check) benötigt ca. 16 Sec/256 Kbyte (höchste Sicherheitsstufe). Da sich der Systembereichim linearen Adressraum befindet (rotes Feld), muss dieser Bereich bei der Checksummenbildung ausgeblendet werden.Hinweis: In Anhang 7.4 Sourcen der Prüfsummen-Funktion werden die verwendeten Verfahren dargestellt.3b. Compare checksum withVergleich einer festen Prüfsumme mit der ermittelten Prüfsumme oder mit einer über den Uploadfile erstellten CRC.Ferner kann ein CRC-Check über einen bestimmten Bereich des Uploadfiles vorgenommen werden(Upload file area).10-06 Seite 12 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>5 Spezialfunktionen<strong>FLASHit</strong> bietet über den Menüpunkt Special Functions eine Reihe von zusätzlichen Tools.5.1 FLASH-Speicher auslesenFLASH-Speicher auslesen und wahlweise in eine *.bin- oder*.hex-Datei abspeichernSize:Anzeige der Größe des FLASH-Speicherstop address:Anzeige der obersten Speicheradresse des gewählten FLASH-Speichersend addressAuslese-Endadressestart address:Auslese-Startadresse10-06 Seite 14 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>5.2 Inhalt einzelner Adressen auslesenÜber die AuswahlTarget-memory viewer können einzelne Adressen aus deminternen FLASH-Baustein der MCU ausgelesen werden.Wenn der Marker add address by 16 gesetzt ist, werden nachjedem Betätigen des Schalters Read from target die je darauffolgenden Bytes angezeigt.Mit Erase view window wird die Anzeige gelöscht (nicht dieDaten im FLASH-Speicher!).5.3 Checksumme generierenGemäß den Einstellungen, die unter dem MenüConfig/Target and program configuration auf derRegisterkarte Program sequence vorgenommen wurden,kann unter diesem Menüpunkt die entsprechende Prüfsummeermittelt werden.5.4 Debug-Logfile speichern5.5 Software-Reset auslösen<strong>FLASHit</strong> logt während einer Session „Debug-Infos“ mit. Beieinem Fehler werden die Log-Daten automatisch in die Dateidebugmemo.txt nach dem Beenden von <strong>FLASHit</strong> gespeichert.Mit der Auswahl des MenüsSpecial Function/Save debug logfile as... werden diegeloggten Daten in ein beliebiges Verzeichnis gespeichert (fürden Fall, dass kein Fehler entstanden ist). Anhand dieser Log-Datei ist eine genaue Fehleranalyse möglich.Hier kann im Zielsystem mittels des Softwarebefehls (Go_CMD)ein „Softwarereset“ ausgelöst werden.Hinweis: Der Software-Reset kann nicht zur Kontaktaufnahme (Booten) des Targets verwendet werden! Er kann nachdem Upload eine Applikation im Target starten.10-06 Seite 15 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>5.6 Hardware-Reset auslösenMit der Auswahl des MenüpunktesGenerate hardware reset... erzeugt <strong>FLASHit</strong> auf derDTR-Leitung der COM-Schnittstelle ein „Bootstrap-Signal“ undauf der RTS-Leitung ein „Reset-Signal“ (siehe 7.5). Dadurchbesteht die Möglichkeit, das Zielsystem zurückzusetzen und inden Bootstrap-Modus zu schalten, wenn dies auf der Ziel-Hardware entsprechend berücksichtigt wurde (siehe 7.5 und7.6).Im Dialog Hardware Reset kann die Form des Reset-Impulsesangepasst werden.Die hier vorgenommenen Einstellungen haben jedoch keinenEinfluss auf die automatischen Reset-Mechanismen von<strong>FLASHit</strong>.10-06 Seite 16 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>5.7 Kommandozeilen-FunktionenDie Funktionalität von <strong>FLASHit</strong> kann komplett von außen über Kommandozeilen-Parameter (Skripte) gesteuert werden.Auf Groß- und Kleinschreibung muss geachtet werden! Mit dem Tool CmdLine(siehe 6.4 Kommandozeilen-Generator CmdLine) können die entsprechenden Skripte automatisch erzeugt werden.Es besteht somit die Möglichkeit, mit den Kommandozeilen <strong>FLASHit</strong> aus einer eigenen Applikation heraus aufzurufenund zu steuern, wobei die Desktop-Oberfläche abgeschaltet werden kann.Beispiel:1. Über ein Icon auf dem Windows-Desktop soll <strong>FLASHit</strong> gestartet werden.2. Eine bestimmte Datei soll geladen werden.3. Baudrate und COM-Port sollen festgelegt sein.4. Die Datei soll in den FLASH-Speicher des Zielsytems programmiert werden.5. Nach erfolgreichem Upload beendet sich <strong>FLASHit</strong> selbst.Gehen Sie folgendermaßen vor:- Legen Sie eine neue <strong>FLASHit</strong>-Verknüpfung auf dem Windows-Desktop an.- Benennen Sie das neu angelegte Icon, z. B. out.hex.- Rufen Sie über das Kontextmenü den Eigenschaftendialog auf, und wählen Sie die Registerkarte Verknüpfung.- Tragen Sie im Eingabefeld Ziel Folgendes ein:c:\programme\flashit_<strong>STM32</strong>.exe COM=1 BAUD=57600 HEX-FILE=e:\projekt\out.hex AUTOSTART EXITErgebnis:Nach einem Doppelklick auf Ihr Programm-Icon out.hex wird <strong>FLASHit</strong> gestartet und dieDatei e:\projekt\out.hex wird mit einer Baudrate von 57.600 über COM1 zum Zielsystem übertragen und dort inden FLASH-Speicher programmiert. <strong>FLASHit</strong> beendet sich selbst.Hinweis: Einen Überblick über die Kommandozeilen-Funktionen liefert Kapitel 7.2.Prioritäten in der <strong>FLASHit</strong>-KonfigurationAlle vorgenommenen Parameter-Einstellungen (z. B. Baudrate, COM-Port usw.) von <strong>FLASHit</strong> werden in der Dateiflashit_<strong>STM32</strong>.ini abgespeichert.Die jeweils gültigen <strong>FLASHit</strong>-Parameter (Actual-Config) setzensich zusammen aus:- den „alten Daten“ aus der Datei flashit_<strong>STM32</strong>.ini.(Old-Config)- eventuellen „Parametern“, die beim Start von <strong>FLASHit</strong>übergeben werden, z. B. aus einem anderen Programmheraus (Command-Line-Config). Diese Parameter habenPriorität vor den Parametern, die in der Dateiflashit_<strong>STM32</strong>.ini abgespeichert wurden.- den Einstellungen, die direkt auf dem Desktop(Desktop-Config) von <strong>FLASHit</strong> vorgenommen wurden, diesehaben Vorrang vor allen anderen Parametern.5.8 Konfiguration laden oder speichernMit Save configuration können alle vorgenommenenEinstellungen gespeichert werden.Mit Open configuration... können Einstellungen geladenwerden.10-06 Seite 17 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>6 Das <strong>FLASHit</strong>-PaketDie nachfolgend beschriebenen Tools, die zum <strong>FLASHit</strong>-Paket gehören, sind eigenständige Programme, die entwedervon <strong>FLASHit</strong> direkt oder extern gestartet werden können.6.1 RS232-TerminalRS232-Terminal ist ein universelles Terminal-Programm, mitdem die Ausgaben, die die Applikation auf dem Target überdie RS232-Schnittstelle sendet, protokolliert werden können.Hinweis: RS232-Terminal kann direkt oder von <strong>FLASHit</strong> ausgestartet werden.Über das Menü File können die üblichen Funktionen gestartetwerden.Über das Menü Display kann die Anzeigenart eingestelltwerden.Hex format:Alle Daten werden imHex-Format angezeigt.ASCII format:Alle Daten werden imASCII-Format angezeigt.Hex+ASCII format:Transmit:Tx window:Alle Daten werden imASCII- und Hex-Format angezeigt.Im Transmit-Fenster kann ein Stringzum Senden vorbereitet werden. Mitdem Transmit-Schalter wird der Stringüber die RS232-Schnittstelle gesendet.Über den Schalter TX window wird einFenster geöffnet, in dem dieeingegebenen Zeichen „live“ über dieRS232-Schnittstelle gesendet werden.10-06 Seite 18 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>Mit Clear Rx-Window kann das Empfangsfenster gelöschtwerden.Unter dem Menü Connected kann die COM-Verbindungsarteingestellt werden.Über das Menü Line feed kann der Zeilenvorschub der Daten im Terminal-Fenster eingestellt werden, wobei dieZeilenumbrüche für receive (Empfangen) und transmit (Senden) getrennt einstellbar sind.Line feed at CR:Line feed at LF:Line feed at traffic break:Add CR:Add LF:Add CR+LF:Add none:Zeilenvorschub über einen„Carriage Return“Zeilenvorschub über einen„Line feed“Zeilenvorschub über einAusbleiben von DatenDem gesendeten Text wird ein„Carriage Return“ angehängt.Dem gesendeten Text wird ein„Line feed“ angehängt.Dem gesendeten Text wird ein„Carriage Return“ und ein„Line feed“ angehängt.Dem gesendeten Text wird kein„Carriage Return“ und kein„Line feed“ angehängt.Über das Menü Setup können die üblichen COM-Port-Einstellungen vorgenommen werden.Target-Reset über TerminalÜber das Menü Control target kann ein Hardware-Reset desTargets ausgeführt werden. Voraussetzung hierfür ist dieVerschaltung der entsprechenden Anschlüsse der RS232-Schnittstelle gemäß unserem Schaltungsvorschlag (sieheAnhang 7.6 Reset- und Bootstrap-Interface)10-06 Seite 19 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>6.2 CRC-BuilderDer Checksum builder ist ein universelles Programm, mit dem die Checksumme eines HEX-Files bestimmt werdenkann.Über den Menüpunkt File wird eine HEX-Datei ausgewählt. InFLASH size wird die FLASH-Speicher-Größe eingestellt.CRC-Builder legt die Start- und Endadresse gemäß denEinstellungen unter FLASH size fest. Es muss lediglich derinterne Bereich des Ziel-Controllers unter Begin ofuncalculated area und End of uncalculated rea festgelegtwerden, da dieser Bereich bei der Berechnung derChecksumme ausgeklammert wird.Mit Calculate wird die Berechnung gestartet.Die Checksumme liegt als Ergebnis dann als ADD32-undCRC16-Wert vor.Hinweis: CRC-Builder kann nur direkt gestartet werden.CRC-Builder kann durch Kommandozeilenparameter gesteuertwerden.Hex-File = j:\hexfiles\128kRandom.hexCRC16 = 0x51EFADD32 = 0x00EDFE42lError Code = 000Start-Adr = 0x08000000BegInt-Adr = 0x000000EndInt-Adr = 0x000000End-Adr = 0x0801FFFFBeispiel von Result_CRC.txtBefehlEXITFunktionDas Programm wird nach der Berechnung beendet.A1= definiert die Start-Adresse der CRC-BerechnungA2= definiert die Start-Adresse des nicht zuberücksichtigenden BereichsA3= definiert die End-Adresse des nicht zu berücksichtigendenBereichsA4= definiert die End-Adresse der CRC-BerechnungFS= definiert die Flash-Size (0=auto, 1=64 k, 2=128 k,3=256 k, 4=512 k, 5=1 M, 6=2 M, 7=4 M)FP=HEX-FILE=LOCAL=definiert den Dateninhalt eines gelöschten Flash-Bausteins(Fill-Pattern)definiert die Datei, über die die CRC berechnet wirdDie Ergebnisdatei wird in das ProgrammverzeichnisBeim Beendengeschrieben.des CRC-Builders wird eine Ergebnisdatei(Result_CRC.txt) generiert. Die Datei befindet sich unterWindows XP in C:\Doku..Einstellungen\Allusers\Anwendungsdaten\Flashitund unter Windows 7 in C:\PrgramData\<strong>FLASHit</strong>.FehlercodeBedeutung0 Fehlerfreie Ausführung14 Datei konnte nicht gelesen werden.36 Die Größe des Flash-Bausteines ist unbekannt.171 Die Datei enthält Daten, die außerhalb des Flashsliegen.175 Datei nicht gefundenDer CRC-Builder gibt einen Rückgabe-Wert (Return-Code) andas aufrufende Programm zurück. Der Return-Code gliedertsich in zwei Bereiche: die CRC16-Prüfsumme (Bit 0..15) undden Fehlercode (Bit 16..31).10-06 Seite 20 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>6.3 IO-CheckMit IO-Check wurde ein Schnittstellentest-Tool in das <strong>FLASHit</strong>-Paket integriert, mit dem das Funktionieren des COM-Ports (Grundlage zum Arbeiten mit <strong>FLASHit</strong>) gecheckt werden kann.Hinweis: IO-Check kann direkt oder von <strong>FLASHit</strong> aus gestartet werden.Beim Aufruf der IO-Check-Funktion werden alle installiertenCOM-Ports daraufhin überprüft, ob ein Zugriff über dieWindows API-Funktion(API=Application Programming Interface) möglich ist.Anschließend wird der direkte Zugriff auf die PIO-Bausteine(PIO-Modus) geprüft.IO-Check zeigt, welche COM-Ports für <strong>FLASHit</strong> verwendetwerden können.<strong>FLASHit</strong> kann nur die COM-Ports verwenden, auf die über dieAPI zugegriffen werden kann.Ferner lassen sich mit IO-Check die einzelnen Port-Leitungenmanuell ein- und ausschalten.Nebenbei kann auch der LPT1-Port getestet werden.ZugriffsartenDer Zugriff auf die COM-Schnittstelle über die API ist nurmöglich, wenn der Port vor dem Programmstart frei war.Zum „Beobachten“ eignet sich der PIO-Modus. ZumFunktionstest eignet sich der API-Modus. Der PIO-Modus kannnur für Standard-COM-Ports verwendet werden und nicht anCOM-Ports, die z. B. überUSB-Schnittstellen gebildet werden (USB-RS232-Adapter).Loop test/Leitungstest:Über den Schalter Test öffnet sich ein Protokollfenster, in demdie Ergebnisse des automatischen Tests beschrieben werden.Über das Menü File/Save protocol as... kann das Ergebnis derPrüfung gespeichert werden.Es wird eine physikalische Prüfung der einzelnen Leitungenund der Signallaufzeiten durchgeführt.Hierzu ist ein Prüfstecker erforderlich, der am COM-Portangeschlossen sein muss (siehe links unten).Beispiel für ein Leitungstest-Protokoll:COM1: Start Loop Test (API-Modus)TxD -> RxD Loop ok. Delay = 1,6 msDTR -> DSR Loop ok. Delay = 5,6 msDTR -> DCD Loop ok. Delay = 0,9 msRTS -> CTS Loop ok. Delay = 4,4 msRTS -> Ri Loop ok. Delay = 0,5 msDie angegebenen Zeiten sind ungefähre Werte und abhängigvon der Rechnerleistung. Bei COM-Ports, die über einen USB-Schnittstellenadapter betrieben werden, können dieSignallaufzeiten erheblich länger sein.10-06 Seite 21 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>6.4 Kommandozeilen-Generator (CmdLine)Zur Vereinfachung des Umgangs mit der Kommandozeilen-Funktion von <strong>FLASHit</strong> wird das Programm CmdLine auf derCD mitgeliefert, mit dessen Hilfe automatisch- eine Kommandozeile und ein ICON und- ein C-Source-Code (für den Aufruf aus eigenen Applikationen heraus) generiert werden kann.Hinweis: CmdLine kann nur direkt gestartet werden.Auf einfache Weise können hier verschiedene Einstellungen vorgenommen werden. Bei dem hier gezeigten Beispielwurde die Upload-Hex-Datei (HEX-FILE=J:\Hexfiles\canopen.hex) gewählt,der automatische Start des Uploads (AUTOSTART) veranlasst,der FLASH-Speicher-Löschmodus „Sector Erase“ (ERASE MODE=SECTOR) eingestellt,das automatische Beenden von <strong>FLASHit</strong> (EXIT) gewählt,der Comport (COM=1) verwendet unddie Baurate (Baud=57600) eingestellt.Die fett markierten Menüs zeigen an, dass darin Einstellungen vorgenommen wurden.Die Reihenfolge der einzelnen Befehle spielt keine Rolle!Direkter Start von <strong>FLASHit</strong> über die eingestellte Kommandozeile.Erstellung einer Verknüpfung mit <strong>FLASHit</strong> und einer eingestellten Kommandozeile.Aufruf von <strong>FLASHit</strong> aus einem Visual C++-Code.Aufruf von <strong>FLASHit</strong> aus einem Borland C-Code.10-06 Seite 23 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>Not supportedѴ E040 8 E040: Sorry this CPU is not enabled at your versionѴ E042 E042: Internal error call <strong>hse</strong>Ѵ E043 E043: Wrong Date (1)Ѵ E046 8 E046: Please contact <strong>hse</strong>-elctronicsѴ E047 8 E047: Function in demo not availableѴ E048 8 E048: Contact <strong>hse</strong>-elctronicTarget CPU (step) is unknownCPU nicht freigeschaltet (nur bei limitierter Version)<strong>FLASHit</strong> access errorInterner FehlerDate is out of formatDatum kann nicht korrekt ermittelt werden.User access errorFehler der eine Kontaktaufnahme zu <strong>hse</strong> erforderlich machtLicence restrictionFunktion ist in der Demoversion nicht verfügbar.Upload data access errorFehler der eine Kontaktaufnahme zu <strong>hse</strong> erforderlich machtDataformat ErrorE051 8 E051: Try to write odd number of data!Ѵ E052 1 E052: Upload-file is no Intel-Hex format!Ѵ E053 1 E053: Overwrite AddressѴ E056 E056: Data outside of FLASH at Address xѴ E058 1 E058: Checksum error in Hexfile lineѴ E059 1 E059: Wrong blocklenght in Hexfile lineE060E060: No Debug/Toolstick Adapter foundTry to write odd number of dataEs wird versucht eine ungerade Anzahl von Bytes zuschreiben.Upload file format errorDie Upload-Datei entspricht nicht dem Intel-Hex FormatMultiple define of data in Embedded upload fileFehler im HexfileAddress of embedded file is out of FLASH memoryDaten außerhalb des SpeicherbereichesChecksum error in Hexfile linePrüfsummenfehler in Hexfile ZeileWrong blocklenght in Hexfile lineAnzahl der Daten stimmt nicht mit Länge der Hex-ZeileübereinNo Debug/Toolstick Adapter foundToolstickadapter nicht gefundenTarget ErrorE101 2 E101: Can't load modulE102 2 E102: Booting was not possible %dE103 2 E103: No correct answer from targetѴ E104 2 E104: Communication with target failedE109 2 E109: Target-bus length unknown!Ѵ E110 2 E110: Target crashed - rebooting...Ѵ E111 2 E111: No response from targetѴ E113 2 E113: Can't analyse contents of target FLASHE114 2 E114: Can't load bufferE116 3 E116: FLASH-Read-Test failtCan't load modulFehler beim Laden eines Moduls ins TargetTarget booting was not possibleTarget konnte nicht gebootet werdenTarget does not answer correctDas Target antwortet nicht korrekt.Target gives an unknown responseDas Taget meldet eine unbekannte CPU-Kennung.Unknown bus modeBusbreite des Target-Systems konnte nicht erkannt werdenTarget crashed while erasingTarget ist beim Sektor-Löschen abgestürtzt und wird neugestartet.Target does not answer correctTarget antwortet nicht richtigCan't analyse contents of target FLASHDie Analyse des Inhaltes des Target Flashes war nichtmöglich.Can't load bufferEin Bufferinhalt konnte nicht ins Target geladen werdenFLASH-Read-Test failtDer Flash-Lese-Test ergab ein ungültiges Ergebnis10-06 Seite 26 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>Flashmemory ErrorE130 6 E130: Timeout while writing FLASH!E131 6 E131: While writing FLASH (DQ7)E132 6 E132: No. %d in modul Write_Buffer!E133 6 E133: No acknowledge while writing FLASH!E134 6 E134: Abort at Adr. %08lXh, while Timeout-Error!Ѵ E135 6 E135: Abort at Adr. %08lXh, Error%d!Ѵ E136 E136: Erase mode (Chip/Sector) unknownE137 1 E137: Wrong page sizeѴ E138 6 E138: Flash type is not foundE140 5 E140: FLASH-Erase abort while timeout!E141 5 E141: Sector-Erase failt!E142 5 E142: Sector-Erase abort while timeout!Ѵ E145 5 E145: FLASH-Erase abort after x s from flashE146 5 E146: Chip-Erase not possibleѴ E150 7 E150: Checksum compare errorE151 5 E151: Internal flash is not supportedѴ E153 8 E153: Abort at Adr. %08lXh, Error%d!Error in embedded flash.TimeoutFehler beim Schreiben des Flashbausteines. TimeoutError in embedded flashFehler beim Schreiben: Flashbaustein meldet FehlerError n in embedded flashFehler beim Schreiben: Flash-Speicher meldet Fehler nTarget does not answerFehler beim Schreiben: Es kommt keine Antwort von TargetProgramming stop at address xAbbruch beim Schreiben an Adresse x wegen TimeoutProgramming stop at address xAbbruch beim Schreiben an Adresse x wegen Fehler nErase mode (Chip/Sector) unknownLöschmethode unbekanntWrong page sizeBlocklänge nicht zulässigNo data about embedded flashKeine Daten über den FLASH-Speicher verfügbarTarget does not answer: TimeoutFehler beim Löschen des Flashbausteines: TimeoutError at erasing target flashEs trat ein Fehler beim Löschen des Flashes aufTarget does not answer: TimeoutFehler beim Löschen des Flashbausteines: TimeoutFLASH Erasing was canceled after x sec by target flashFlash hat nach x Sek einen Fehler erkanntMode Chip-Erase not possibleDiese CPU kennt kein Chip-EraseCRC of target flash does not matchVorgegebene Checksumme stimmt nicht mit FlashinhaltübereinNot support flash foundDieses interne Flash wird nicht unterstütztError while writing a "Word/DWord" at address xFehler beim Schreiben eines "Word/DWord" an Adresse xInput ErrorE170 8 E170: Odd address is not possibleѴ E171 8 E171: Address combination is not possible (A1>A4)Ѵ E172 8 E172: Command line: Pfad to hex-file does not existE173 8 E173: Address combination is not possible A(n)>A(n+1)To enter an odd address is not allowedUngerade Adresseingabe ist nicht erlaubtAddress combination is not allowedAdresskombination nicht erlaubtThe upload file path of command line, does not existDie Upload-Datei, ist nicht vorhandenAddress combination is not allowedAdresskombination nicht erlaubtѴ E175 1 E175: Hexfile not foundUpload file not foundUpload Datei nicht gefundenE176 8 E176: Do not mapp ROM1 to seg 1Bus setting of SYSCON.15 is wrongBus Konfiguration SYSCON.15 ist falschѴ E177 8 E177: Command line: Pfad to RAM-file does not existThe upload file path of command line, does not existDie Datei ist nicht vorhandenѴ E200 4 E200: sizeof(FLASHdat.LIB) too bigFile FLASHdat.LIB size too bigDie Datei FLASHdat.LIB ist zu grossѴ E201 E201: Hex-Download Abort, lost SyncError while readout target FLASH memory.Beim Auslesen des Flashes ist ein Fehler aufgetretenѴ E202: 8 E202: Lenght too high Path of upload file is too long10-06 Seite 27 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>Der Upload Pfad ist zu langCOM-AccessѴ E301 Error Baudrate not possibleBaudrate can not be setBaudrate kann nicht eingestellt werdenRAM-AccessE410 2 E410: RAM-access test failedE420 2 E420: RAM data line test failedE430 2 E430: RAM addr line test failedE440 2 E440: RAM-cell test failedE450E450: RAM upload failed, ExѴ E451 2 E451: Upload failed, CRC is wrongE452 2 E452: RAM-Data compare errorѴ E453 2 E453: RAM CRC check failedѴ E455 2 E455: can not open fileE456E456: Data will destroy system areaѴ E457 E457: Error Vector not possibleAccess to RAM failtRAM-Zugriffstest ist fehlgeschlagenAccess to RAM failtRAM-Test Fehler in DatenleitungAccess to RAM failtRAM-Test Fehler in AdressleitungAccess to RAM failtRAM-Test Fehler bei Zellen TestError x while RAM uploadFehler x beim RAM uploadCRC error while RAM uploadCRC Fehler während RAM UploadRead back compareRAM-Rücklese-Daten stimmen nicht mit Upload DatenübereinRead back CRC errorRAM-CRC stimmt nicht mit Upload CRC übereinRAM-Upload file access errorRAM-Upload Datei kann nicht geöffnet werdenData will overwrite iRAM, SFRVersuch ins iRAM oder SFR zu schreibenThe jump vector is not possibleDas Sprungziel ist nicht möglichProblem with LicenceѴ E814 E814: Licence not valid (version)Ѵ E815 E815:Licence not valid (timeout)Ѵ E816 E816: Licence not valid (timeout)Ѵ E817 E817: Licence not valid (timeout)Ѵ E818 E818: Licence wrong (error)Ѵ E819 E819: Empty USB-KeyѴ E820 E820: Null nicht erlaubtLicence does not match to program versionLizenz passt nicht zur Programm VersionValidity periode expriedGültigkeitszeitraum abgelaufenValidity periode expriedGültigkeitszeitraum abgelaufenValidity periode expriedGültigkeitszeitraum abgelaufenTiping errorTippfehlerUSB-Key is empty (no licence data)USB-Dongle enthält keine Lizenz-DatenTiping errorTippfehlerProblem with Licence-DongleѴ E900 E900Ѵ E934 8 E934: USB-Dongle is broken!No licence found / Demo versionKeine Lizenz gefunden / Demo VersionUSB-Dongle is brokenUSB-Dongle ist gebrochen10-06 Seite 28 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>7.2 Unterstützte Controller (Auszug):<strong>STM32</strong>F100x <strong>STM32</strong>F101x <strong>STM32</strong>F102x <strong>STM32</strong>F103x <strong>STM32</strong>F105x <strong>STM32</strong>F107x<strong>STM32</strong>F100C4 <strong>STM32</strong>F101C4 <strong>STM32</strong>F102C4 <strong>STM32</strong>F103C4 <strong>STM32</strong>F105R8 <strong>STM32</strong>F107RB<strong>STM32</strong>F100C6 <strong>STM32</strong>F101C6 <strong>STM32</strong>F102C6 <strong>STM32</strong>F103C6 <strong>STM32</strong>F105RB <strong>STM32</strong>F107RC<strong>STM32</strong>F100C8 <strong>STM32</strong>F101C8 <strong>STM32</strong>F102C8 <strong>STM32</strong>F103C8 <strong>STM32</strong>F105RC <strong>STM32</strong>F107VB<strong>STM32</strong>F100CB <strong>STM32</strong>F101CB <strong>STM32</strong>F102CB <strong>STM32</strong>F103CB <strong>STM32</strong>F105V8 <strong>STM32</strong>F107VC<strong>STM32</strong>F100R4 <strong>STM32</strong>F101R4 <strong>STM32</strong>F102R4 <strong>STM32</strong>F103R4 <strong>STM32</strong>F105VB<strong>STM32</strong>F100R6 <strong>STM32</strong>F101R6 <strong>STM32</strong>F102R6 <strong>STM32</strong>F103R6 <strong>STM32</strong>F105VC<strong>STM32</strong>F100R8 <strong>STM32</strong>F101R8 <strong>STM32</strong>F102R8 <strong>STM32</strong>F103R8<strong>STM32</strong>F100RB <strong>STM32</strong>F101RB <strong>STM32</strong>F102RB <strong>STM32</strong>F103RB<strong>STM32</strong>F100V8 <strong>STM32</strong>F101RC<strong>STM32</strong>F103RC<strong>STM32</strong>F100VB <strong>STM32</strong>F101RD<strong>STM32</strong>F103RD<strong>STM32</strong>F101RE<strong>STM32</strong>F103RE<strong>STM32</strong>F101RF<strong>STM32</strong>F103RF<strong>STM32</strong>F101RG<strong>STM32</strong>F103RG<strong>STM32</strong>F101T4<strong>STM32</strong>F103T4<strong>STM32</strong>F101T6<strong>STM32</strong>F103T6<strong>STM32</strong>F101T8<strong>STM32</strong>F103T8<strong>STM32</strong>F101V8<strong>STM32</strong>F103V8<strong>STM32</strong>F101VB<strong>STM32</strong>F103VB<strong>STM32</strong>F101VC<strong>STM32</strong>F103VC<strong>STM32</strong>F101VD<strong>STM32</strong>F103VD<strong>STM32</strong>F101VE<strong>STM32</strong>F103VE<strong>STM32</strong>F101VF<strong>STM32</strong>F103VF<strong>STM32</strong>F101VG<strong>STM32</strong>F103VG<strong>STM32</strong>F101ZC<strong>STM32</strong>F103ZC<strong>STM32</strong>F101ZD<strong>STM32</strong>F103ZD<strong>STM32</strong>F101ZE<strong>STM32</strong>F103ZE<strong>STM32</strong>F101ZG<strong>STM32</strong>F103ZF<strong>STM32</strong>F103ZG10-06 Seite 29 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>7.3 Kommandozeilen-Funktionen im ÜberblickCommandsBefehleDescriptionBeschreibungAdjustmentsEinstellungenExamplesBeispieleINI_FILECOMBAUDBASIC-ADDRRDOUT-BEGRDOUT-TOPFILTERHEX-FILEBIN-FILEBIN-OFFSETFILELOADRAM-FILERAM-OFFSETRAM-UPBASEICONSIZEEXPERTVIEWEXPRESSVIEWUSN_PrefixUSN_NumberUSN_AdressUSN_INCUSN_LogProjectStarts <strong>FLASHit</strong> with project file (*.ini).<strong>FLASHit</strong> mit Projekteinstellungen (*.ini) startenINI_FILE=c:\demo.iniINI_FILE="c\programfiles\test.ini"Target-ConnectionDefines COM-Port numberDefiniert COM-Port Nummer1, 2, ..., 99 COM=2Defines baudrate 9600,19200,38400,Definition der Baudrate57600,115200BAUD=38400Target definesFlash basic address 0x000000 -Basis Adresse des Flash-Speichers.0xFFFFFFFFBASIC-ADDR=0x08000000Beginn of Readoutniedrigste Auslese-AdresseRDOUT-BEG=0x08000000End of Readouthöchste Auslese-AdresseRDOUT-TOP=0x0801FFFFFlash UploadDefines filter for file viewDefiniert den Filter für die Hexfile-Anzeige*.hex, *.h86, *.s19FILTER=*.H86Defines a path and file name for uploadHEX-FILE=c:\new\out.hexFullpathPfad-Angabe zum Upload-HexfileHEX-FILE="c:\new 1\out.s19"Defines a path and file name for uploadHEX-FILE=c:\new\out.binFullpathPfad-Angabe zum Upload-Binary-FileHEX-FILE="c:\new 1\out.jpg"Load Bin-File with offset into FlashLädt Binär-Datei mit Offset-Adresse in den FLASH-SpeicherBIN-OFFSET=0x08000000Loading mode (bin/Intel-/Mot.-Hex)Datei LademethodeBIN, HEXFILELOAD=HEXRAM UploadDefines a path and file name for RAM uploadPfad-Angabe RAM UploaddateiFullpathRAM-File="c:\Test\RAM.hex"Offset for RAM uploadOffset für Speicherung ins RAMRAM-OFFSET=0x2000000Set offset source0 = Hexfile baseGibt die Quelle der Offset-Adresse anaddressRAM-UPBASE=11 = User definesVisibleStarts <strong>FLASHit</strong> as an iconStartet FLASHIt als IconICONSIZEStart full viewStartet <strong>FLASHit</strong> mit voller OberflächeEXPERTVIEWStart smal viewStartet FLASHIt mit reduzierter OberflächeEXPRESSVIEWUser Serial Number (USN)Defines the prefix of the USNDefiniert den Präfix der USNmax. 10digitsUSN_Prefix=Version:Defines the value of the USNDefiniert die Wert der Seriennummermax. 10digitsUSN_Number=123Defines the start-adress of the USNStartadresse ab der die USN ins Flash schrieben wirdmax. 10digits USN_Adress=0x0803FFF0Defines autoincrement of the USNAuto-Iinkrementierung der USNUSN_INCSafes the USN into a fileSpeicherung der USNUSN_Log10-06 Seite 30 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>SEQUENCEERASE-MODEAskUseBeforeEraseCHECKSUM=ADDCHECKSUM=CRC16CMPCHKSOFTRESETHARDRESETAutoEraseSecAutoWriteWordEXITRETURNAUTOSTARTWORK_DIRProgram sequency / Programm-SchritteClear Readout/Write protectionReadout/Write Protection löschenRAM uploadRAM UploadErasing FlashFLASH-Speicher löschenProgramming file into flashDatei in den FLASH-Speicher programmierenBuild checksum (CRC)Checksumme bildenCompare checksum withChecksumme vergleichen mit einem festen WertWrite dword (32 bit) at addressEin dword an Adresse schreibenWrite User serial number into flash (USN)Automatisch generierte Seriennummer schreiben (USN)Increment USN-number after successful writingUSN-Nummer Inkrementieren nach erfolgreichem SchreibenWrite USN into logfileUSN in log Datei speichernReset targetTarget resetenStart RS232 TerminalRS232-Terminalprogramm startenExit <strong>FLASHit</strong> after upload sequence<strong>FLASHit</strong> beendenSet Readout/write ProtectionSetzen der Readout/Write ProtectionProgram settingDefines SECTOR- or CHIP- NO-erase before programmingDefinition des Lösch-ModusStops and ask user before sector eraseAbfrage ob der Anwender Änderungen durchführen willCalculates a 32 bit add up Checksum after downloadAls Prüfsumme wird die 32bit Summe aller Bytes verwendetCalculates a CRC16 checksum after downloadAls Prüfsumme wird die CRC16-Methode verwendetCompares Checksum with valueDefiniert den Vergleichswert der PrüfsummeGenerates a software reset after successful programmingDefiniert die Reset-Methode Software-ResetGenerates a hardware reset after successful programmingDefiniert die Reset-Methode Hardware-ResetErases sector at addressDefiniert den Sektor mit der Adresse zum LöschenWrites a dword at address xSchreibt ein 32bit Wert, an die Adresse xProgram controlExits <strong>FLASHit</strong> after successfull program sequenceBeendet <strong>FLASHit</strong> nach erfolgreicher SequenzExits <strong>FLASHit</strong> allways after program sequenceBendet <strong>FLASHit</strong> in jedem Fall. Bei Fehler siehe ReturncodeStarts automaticaly program sequence<strong>FLASHit</strong> startet automatisch die SequenzPath to work directory (ini, result)Pfad zur ini-, result, Datei0p0rSEQUENCE=0pSEQUENCE=0r1 SEQUENCE=12 SEQUENCE=1;2;6;83a3bSEQUENCE=1;2;3a;8SEQUENCE=1;2;3a;3b;84 SEQUENCE=4;85a5b5cSEQUENCE=1;2;5a;8SEQUENCE=1;2;5a;5b;8SEQUENCE=1;2;5a;5b;5c;86 SEQUENCE=1;2;6;87 SEQUENCE=1;2;78 SEQUENCE=1;2;6;8spSECTOR, CHIP, NO0, 1FullpathSEQUNCE=0p;1;2;spERASE-MODE=SECTORAskUseBeforeErase=0AskUseBeforeErase=1CHECKSUM=ADDCHECKSUM=CRC16CMPCHK=0x002345SOFTRESETHARDRESETAutoEraseSec=0x08007FF0AutoWriteWord=0x08007FF0,0x12345678EXITRETURNAUTOSTARTWORK_DIR=j:\iniWORK_DIR="c:\programfiles\flashit"10-06 Seite 31 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>7.4 Sourcen der Prüfsummen-FunktionADD32 (Add Bytes)unsigned int ChecksumADD32( unsigned long ulA1, unsigned long ulA2,unsigned long ulA3, unsigned long ulA4 ){unsigned int uiChecksumADD32 = 0;unsigned long ulAddress;// address rangefor (ulAddress = ulA1; ulAddress >=1;ucData >>=1;}}return( uiCRC6 );}10-06 Seite 32 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>7.5 Reset- und Bootstrap-SignaleReset- und Bootstrap-Signal auf der COM-Schnittstelle Signal nach der Schaltung in 7.67.6 Reset- und Bootstrap-InterfacePrinzipschaltung (!) zur Anpassung Ihrer Hardware an das Reset-Konzept von <strong>FLASHit</strong>Das Reset- und Bootstrap-Interface kann komplett aufgebautbei<strong>hse</strong>-<strong>electronics</strong> erworben werden.Alle Änderungen vorbehalten!Keine Gewähr auf Vollständigkeit!10-06 Seite 33 d-flashit-manual-cortex18.docx


<strong>FLASHit</strong> 9-<strong>STM32</strong> <strong>Manual</strong>8 HEXit das HEX-File Analyse-Tool10-06 Seite 34 d-flashit-manual-cortex18.docx

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!