FLASHit 9- NXP ARM Cortex-M0/M3, ARM7 Manual

FLASHit 9- NXP ARM Cortex-M0/M3, ARM7 Manual FLASHit 9- NXP ARM Cortex-M0/M3, ARM7 Manual

hse.electronic.de
von hse.electronic.de Mehr von diesem Publisher
27.11.2014 Aufrufe

FLASHit 9- NXP ARM Cortex-M0/M3, ARM7 Manual FFL Das FLASH- Programmier- Tool zur komfortablen Programmierung von Anwendersoftware in ein NXP ARM Cortex M3/M0 und ARM7 System 11-08 Seite 1 2011-08-d-flashit-manual-NXP-04.docx

<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

FFL<br />

Das FLASH- Programmier- Tool<br />

zur komfortablen Programmierung von Anwendersoftware in ein<br />

<strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong> <strong>M3</strong>/<strong>M0</strong> und <strong>ARM</strong>7 System<br />

11-08 Seite 1 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

BESCHRÄNKTE GEWÄHRLEISTUNG!<br />

Mit der Inbetriebnahme des Produktes <strong>FLASHit</strong> und seiner Nebenprodukte erkennen Sie die<br />

nachfolgenden Bedingungen an.<br />

Falls Sie die Bedingungen nicht anerkennen können, teilen Sie uns das bitte innerhalb von<br />

zwei Tagen nach Erwerb von <strong>FLASHit</strong> mit.<br />

BESCHRÄNKTE Garantie:<br />

hse-electronics garantiert für einen Zeitraum von 6 Monaten ab Empfangsdatum, dass das<br />

Produkt <strong>FLASHit</strong> im Wesentlichen gemäß unserer Werbung arbeitet und bei normaler Benutzung<br />

frei von Fehlern ist.<br />

ANSPRÜCHE des Kunden:<br />

Die gesamte Haftung von hse-electronics und Ihr alleiniger Anspruch besteht nach Wahl von<br />

hse-electronics entweder<br />

a) in der Rückerstattung des bezahlten Preises oder<br />

b) in der Nachbesserung bzw. dem Ersatz des Produktes.<br />

Diese beschränkte Garantie gilt nicht, wenn der Ausfall des Produkts auf einen Unfall, auf<br />

Missbrauch oder auf fehlerhafte Anwendung zurückzuführen ist.<br />

KEINE weitere Gewährleistung:<br />

hse-electronics schließt für sich jede weitere Gewährleistung bezüglich der gelieferten Produkte,<br />

der zugehörigen Handbücher und schriftlichen Materialien aus.<br />

KEINE Haftung für Folgeschäden:<br />

Weder hse-electronics noch die Lieferanten von hse-electronics sind für irgendwelche Schäden<br />

(uneingeschränkt eingeschlossen sind Schäden aus entgangenem Gewinn,<br />

Betriebsunterbrechung, Verlust von geschäftlichen Informationen oder von Daten oder aus<br />

anderem finanziellen Verlust) ersatzpflichtig, die aufgrund der Benutzung dieses hse-electronics-<br />

Produktes entstehen, selbst wenn hse-electronics von der Möglichkeit eines solchen Schadens<br />

unterrichtet worden ist.<br />

BESCHRÄNKTE Haftung:<br />

Die Haftung von hse-electronics ist in jedem Fall beschränkt auf den Betrag, den der Kunde<br />

tatsächlich für das Produkt bezahlt hat. Dieser Ausschluss gilt nicht für Schäden, die durch Vorsatz<br />

oder grobe Fahrlässigkeit aufseiten von hse-electronics verursacht wurden.<br />

GERICHTSSTAND:<br />

Für Streitigkeiten aus diesem Lizenzvertrag ist das LG Kiel ausschließlich zuständig.<br />

Sollten Sie Fragen zu diesem Vertrag haben, wenden Sie sich bitte an Ihren Händler oder<br />

schreiben Sie eine E-Mail an info@hse-electronics.com.<br />

Kiel, den 9.07.2007<br />

11-08 Seite 2 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Inhaltsverzeichnis<br />

1 <strong>FLASHit</strong> .................................................................................................................................................................... 4<br />

1.1 <strong>FLASHit</strong> ............................................................................................................................................................. 4<br />

1.2 Wie funktioniert <strong>FLASHit</strong>? ................................................................................................................................. 4<br />

2 Systemanforderungen ........................................................................................................................................... 4<br />

3 Programm-Installation und Registrierung ........................................................................................................... 5<br />

3.1 Installation ......................................................................................................................................................... 5<br />

3.2 Registrierung ..................................................................................................................................................... 5<br />

4 Programmfunktionen ............................................................................................................................................. 6<br />

4.1 Verbindung herstellen ....................................................................................................................................... 6<br />

4.2 Baudrate einstellen ............................................................................................................................................ 6<br />

4.3 <strong>FLASHit</strong>-Arbeitsverzeichnis ............................................................................................................................... 6<br />

4.4 Experten- oder Expressmodus .......................................................................................................................... 7<br />

4.5 Upload in das Zielsystem („FLASH brennen“) .................................................................................................. 8<br />

4.6 HEX oder BIN? .................................................................................................................................................. 9<br />

4.7 FLASH-Speicher-Infos ...................................................................................................................................... 9<br />

4.8 Informationen über unterstützte FLASH-Speicher .......................................................................................... 10<br />

4.9 Upload in das RAM des Targets ..................................................................................................................... 10<br />

4.10 Zielsystem-Infos .............................................................................................................................................. 11<br />

4.11 Konfiguration von <strong>FLASHit</strong> – Target System (Zielsystem) .............................................................................. 11<br />

4.12 Konfiguration von <strong>FLASHit</strong> - Programmiersequenz ........................................................................................ 12<br />

5 Spezialfunktionen ................................................................................................................................................. 14<br />

5.1 FLASH-Speicher auslesen .............................................................................................................................. 14<br />

5.2 Inhalt einzelner Adressen auslesen ................................................................................................................ 15<br />

5.3 Checksumme generieren ................................................................................................................................ 15<br />

5.4 Debug-Logfile speichern ................................................................................................................................. 15<br />

5.5 Software-Reset auslösen ................................................................................................................................ 15<br />

5.6 Hardware-Reset auslösen ............................................................................................................................... 16<br />

5.7 Kommandozeilen-Funktionen .......................................................................................................................... 17<br />

Prioritäten in der <strong>FLASHit</strong>-Konfiguration ................................................................................................................ 17<br />

5.8 Konfiguration laden oder speichern................................................................................................................. 17<br />

6 Das <strong>FLASHit</strong>-Paket ............................................................................................................................................... 18<br />

6.1 RS232-Terminal .............................................................................................................................................. 18<br />

6.2 CRC-Builder .................................................................................................................................................... 20<br />

6.3 IO-Check ......................................................................................................................................................... 21<br />

6.4 Kommandozeilen-Generator (CmdLine) ......................................................................................................... 23<br />

7 Anhang .................................................................................................................................................................. 25<br />

7.1 Statusmeldungen (Errorcodes) ....................................................................................................................... 25<br />

7.2 Unterstützte Controller (Auszug): .................................................................................................................... 29<br />

7.3 Kommandozeilen-Funktionen im Überblick ..................................................................................................... 30<br />

7.4 Sourcen der Prüfsummen-Funktion ................................................................................................................ 32<br />

7.5 Reset- und Bootstrap-Signale ......................................................................................................................... 33<br />

7.6 Reset- und Bootstrap-Interface ....................................................................................................................... 33<br />

8 HEXit das HEX-File Analyse-Tool ....................................................................................................................... 34<br />

9 Project Engineering .............................................................................................................................................. 35<br />

11-08 Seite 3 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

1 <strong>FLASHit</strong><br />

1.1 <strong>FLASHit</strong><br />

<strong>FLASHit</strong> ermöglicht die problemlose und schnelle Programmierung von Anwendersoftware in ein<br />

<strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7-Zielsystem.<br />

1.2 Wie funktioniert <strong>FLASHit</strong>?<br />

<strong>FLASHit</strong> wurde für eine einfache Bedienung konzipiert. Nachdem eine Verbindung über die RS232-Schnittstelle zur<br />

Hardware hergestellt wurde und die Schnittstellen-Parameter eingestellt wurden muss lediglich eine Applikation<br />

ausgewählt werden und der Upload- bzw. der Programmier-Vorgang (das Brennen) in das Zielsystem kann beginnen.<br />

Dies geschieht folgendermaßen (ohne aktivierte Optionen):<br />

Bootstraploaders des Zielsystems aktivieren<br />

Konfiguration des Zielsystems ermitteln<br />

Automatisch den verwendeten MCU-Typ erkennen<br />

MCU-Typ-Daten aus der Datenbank von <strong>FLASHit</strong> auslesen<br />

Daten der MCU anzeigen<br />

Analyse des Hexfiles: Zu löschende Sektoren erkennen, markieren und Hexdaten in einem binären Array<br />

sortieren<br />

FLASH-Speicher löschen (einzelne Sektoren oder ganzen Chip)<br />

FLASH im Zielsystem blockweise neu programmieren (programmierte Sektoren markieren).<br />

Auf Wunsch wird <strong>FLASHit</strong> speziellen Bedürfnissen angepasst!<br />

2 Systemanforderungen<br />

Zielsystem<br />

MCU:<br />

<strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7<br />

PC<br />

Betriebssystem: alle gängigen Windowsversionen bis Windows 7<br />

Hardware:<br />

ab Pentium<br />

11-08 Seite 4 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

3 Programm-Installation und Registrierung<br />

3.1 Installation<br />

Sie haben eine CD erhalten:<br />

Legen Sie die Programm-CD in das CD-ROM-Laufwerk des PCs ein.<br />

Folgen Sie den Anweisungen auf dem Bildschirm.<br />

Sie haben <strong>FLASHit</strong> von der hse-electronics-Website geladen:<br />

Starten Sie setupflashit_<strong>NXP</strong>.exe.<br />

Folgen Sie den Anweisungen auf dem Bildschirm.<br />

3.2 Registrierung<br />

Zwei Lizenzierungsverfahren sind möglich:<br />

1. PC-gebundene Lizenzierung<br />

2. USB-Dongle-gebundene Lizenzierung<br />

Nachdem <strong>FLASHit</strong> das erste Mal gestartet wurde, muss<br />

<strong>FLASHit</strong> im Menü Help/Registration registriert werden<br />

(andernfalls befindet sich <strong>FLASHit</strong> im eingeschränkten<br />

Demomodus). Wurde <strong>FLASHit</strong> mit einem Dongle geliefert,<br />

können die folgenden Schritte übersprungen werden.<br />

Stecken Sie den Dongle in einen USB-Port, und <strong>FLASHit</strong> ist<br />

freigeschaltet.<br />

Die Registrierung von <strong>FLASHit</strong> erfolgt in zwei Schritten:<br />

Schritt 1:<br />

Führen Sie diesen Schritt auf dem Computer durch, für den<br />

<strong>FLASHit</strong> registriert werden soll!<br />

Klicken Sie auf Build registration data.<br />

<strong>FLASHit</strong> hat Ihre persönliche System-Id erzeugt.<br />

Ergänzen Sie die mit einem „*“ gekennzeichneten Felder.<br />

Senden Sie uns jetzt Ihre Daten zu. Dazu haben Sie zwei<br />

Möglichkeiten: Sie können Ihre Registrierungsdaten via E-<br />

Mail (Build mail...) an uns senden oder via Fax, indem Sie<br />

die Daten ausdrucken (Print...).<br />

- Sie erhalten postwendend Ihren Freischalt-Code (via E-<br />

Mail oder Fax) von uns.<br />

Schritt 2:<br />

- Geben Sie den Freischalt-Code unter<br />

Enter licence key: ein.<br />

- Klicken Sie auf Enable licence.<br />

- Wenn die Meldung Licence is enabled angezeigt wird<br />

(auf grünem Feld), wurde <strong>FLASHit</strong> erfolgreich registriert.<br />

Bei Fragen zur Registrierung senden Sie uns eine<br />

E-Mail: info@hse-electronics.com.<br />

Hinweis: Falls Sie einen neuen Freischalt-Code benötigen, weil sich Ihre Hardware oder sonstige Bedingungen<br />

geändert haben, genügt eine kurze E-Mail mit der Angabe der alten Lizenznummer, und Sie erhalten eine<br />

neue Nummer.<br />

11-08 Seite 5 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4 Programmfunktionen<br />

4.1 Verbindung herstellen<br />

- Verbinden Sie Ihr Zielsystem über die serielle Schnittstelle<br />

mit dem PC.<br />

- Wählen Sie über das Menü Setup den gewünschten COM-<br />

Port. Es werden die ersten 10 installierten COM-Devices<br />

zur Auswahl angeboten, deren COM-Nummer kann<br />

zwischen 1 und 99 liegen.<br />

Hinweis: Unter Verwendung eines USB-RS232-Adapters kann <strong>FLASHit</strong> auch über eine USB-Schnittstelle betrieben<br />

werden. Alle fett markierten Einstelloptionen sind Default-Einstellungen bzw. Empfehlungen.<br />

4.2 Baudrate einstellen<br />

Die einstellbare Baudrate zwischen Zielsystem und PC ist u.<br />

a. davon abhängig, unter welcher Taktfrequenz das<br />

Zielsystem läuft (teilbar durch eine Standard-Baudrate).<br />

Probieren Sie einfach verschiedene Baudraten aus.<br />

Wählen Sie über das Menü Baudrate die gewünschte<br />

Baudrate aus.<br />

4.3 <strong>FLASHit</strong>-Arbeitsverzeichnis<br />

<strong>FLASHit</strong> legt während einer Arbeitssitzung mehrere Dateien an:<br />

Flashit_<strong>NXP</strong>.ini // Programmeinstellungen<br />

result.txt<br />

// Rückgabewerte<br />

Diese Dateien werden standardmäßig, abhängig von der Windowsversion (hier WinXP), in dem von Windows<br />

zugewiesenen Verzeichnis abgelegt.<br />

(Z. B.: c:\Documents and Settings\All Users\Applications Datas\<strong>FLASHit</strong>\*.*.)<br />

Windows muss das Erstellen und Schreiben von Dateien in diesem Verzeichnis zulassen!<br />

Sie können auch ein anderes Arbeitsverzeichnis wählen (dieses muss zuvor angelegt worden sein).<br />

Gehen Sie folgendermaßen vor:<br />

- Rufen Sie über das Kontextmenü den Eigenschaftendialog auf, und wählen Sie die Registerkarte Verknüpfung.<br />

- Tragen Sie im Eingabefeld Ziel Folgendes ein (Beispiel):<br />

c:\programme\flashit_<strong>NXP</strong>.exe WORK_DIR=j:\ini<br />

Ergebnis:<br />

Nach einem Doppelklick auf das <strong>FLASHit</strong>-Icon wird <strong>FLASHit</strong> gestartet, und die Dateien werden im<br />

Verzeichnis „j:\ini“ abgespeichert.<br />

Wird der Pfadname in Anführungszeichen gesetzt, sind auch Leerzeichen erlaubt (Beispiel):<br />

c:\program files\flashit_<strong>NXP</strong>.exe WORK_DIR=“c:\Program Files\<strong>FLASHit</strong>“<br />

Unter dem Menü Setup/Work dir... kann der eingestellte<br />

Pfad überprüft werden.<br />

11-08 Seite 6 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.4 Experten- oder Expressmodus<br />

Unter dem Menü Setup/Expert mode und Setup/Express<br />

mode kann zwischen einer vereinfachten oder der<br />

„kompletten“ Programmoberfläche von <strong>FLASHit</strong> gewählt<br />

werden.<br />

<strong>FLASHit</strong> „merkt“ sich die letzten Einstellungen für einen<br />

Neustart<br />

„Expert mode“ (Default)<br />

Vereinfachte Programmoberfläche von <strong>FLASHit</strong>: „Express<br />

mode“<br />

11-08 Seite 7 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.5 Upload in das Zielsystem („FLASH brennen“)<br />

Die wichtigsten Programmeinstellungen sind jetzt unter den Punkten 4.1 und 4.2 vorgenommen worden, so dass mit<br />

einem Upload der Anwendersoftware in das Zielsystem begonnen werden kann.<br />

Über die Registerkarte UploadFile kann eine Datei (*.hex<br />

oder *.s19) ausgewählt werden. Im Fenster<br />

File-Info werden Informationen zur Datei angezeigt. Mit<br />

einem Mausklick auf das blaue Feld Upload unten rechts<br />

kann mit dem Upload in das FLASH begonnen werden.<br />

Alle anderen Einstellungen, die nachfolgend beschrieben<br />

werden, versucht <strong>FLASHit</strong> nun automatisch vorzunehmen.<br />

Während des Uploads schaltet <strong>FLASHit</strong> auf die<br />

Registerkarte FlashMem und zeigt die Daten des<br />

verwendeten FLASH-Speichers an (FLASH-Typ, Hersteller<br />

sowie die Speichergröße und die Anzahl der Sektoren). Im<br />

Status-Fenster wird der Upload-Vorgang protokolliert.<br />

Der Upload kann jederzeit unterbrochen werden durch einen<br />

Klick auf Cancel.<br />

Nach einem erfolgreichen Upload färbt sich das<br />

Statusfenster grün.<br />

Wenn sich das Statusfenster rot färbt, ist der Upload<br />

fehlgeschlagen.<br />

Die mögliche Ursache für ein Scheitern des Uploads kann<br />

über das Status-Fenster ermittelt werden.<br />

Eine Auflistung der Errorcodes befindet sich im Anhang.<br />

Hinweis: Falls <strong>FLASHit</strong> vor dem Upload-Vorgang Ihr Zielsystem nicht automatisch zurücksetzen konnte, kommt die<br />

Aufforderung, das Zielsystem zurückzusetzen. Der „Bootstrap“-Modus muss hierfür aktiviert sein (BOOT1<br />

auf High). Lange Upload-Dateinamen werden im oberen Fenster von <strong>FLASHit</strong> aus Platzgründen gekürzt<br />

dargestellt. Der volle Pfad wird gezeigt, wenn der Mauszeiger auf das Panel gesetzt wird.<br />

11-08 Seite 8 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.6 HEX oder BIN?<br />

Mit <strong>FLASHit</strong> können neben Intel-HEX-Dateien (*.hex) oder Motorola-HEX-Dateien (*.s19) auch Binärdateien in den<br />

FLASH-Speicher des Zielsystems geschrieben werden.<br />

Dazu muss unter Config/Target and program<br />

configuration die Option Programming file into<br />

flash/Load Bin markiert sein. <strong>FLASHit</strong> wird bei dieser<br />

Einstellung, die in das FLASH zu speichernde Datei nicht<br />

mehr interpretieren. Auch Intel-HEX-Dateien (oder s19-<br />

Dateien) werden jetzt nicht (!) als HEX-Dateien behandelt,<br />

sondern als Binärdateien!<br />

Die Startadresse im Zielsystem, an der die Binärdatei<br />

gespeichert werden soll, kann hier ebenfalls eingestellt<br />

werden.<br />

Ist die Option Programming file into flash/Load Hex markiert, kann keine Binärdatei in das Target gespeichert<br />

werden, da sie die Intel-HEX-Struktur nicht aufweist.<br />

Ist die Option Programming file into flash/Load Bin markiert und es wird eine HEX-Datei zum Speichern in den<br />

FLASH-Speicher angewählt, fragt <strong>FLASHit</strong> nach, ob dies auch wirklich beabsichtigt ist.<br />

4.7 FLASH-Speicher-Infos<br />

Unabhängig davon, ob ein Upload vorgenommen wurde oder nicht, werden über die Schaltfläche Analysis auf der<br />

Registerkarte FlashMem folgende Informationen über den verwendeten FLASH-Typ angezeigt:<br />

- MCU-Typ (Type),<br />

- Hersteller (Producer),<br />

- Speicher-Größe (Size),<br />

- Anzahl der Sektoren (Sectors),<br />

- Position des FLASH-Speichers (Place)<br />

- FLASH-Code (Code) sowie<br />

- Aufteilung und Größe der einzelnen Sektoren.<br />

Der verwendete MCU-Typ wird von <strong>FLASHit</strong> automatisch<br />

erkannt. Ein Auszug der zurzeit unterstützten Typen ist<br />

unter Menüpunkt Help/FLASH types zu finden.<br />

Auf unserer Website www.hse-electronics.com können die<br />

unterstützten MCU-Typen eingesehen werden.<br />

Mit Chip-Erase und Sector-Erase kann an dieser Stelle<br />

unabhängig von einem Programm-Upload der<br />

FLASH-Speicher komplett oder sektorweise, durch<br />

Markieren der Sektoren mit der Maus, gelöscht werden.<br />

11-08 Seite 9 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.8 Informationen über unterstützte FLASH-Speicher<br />

Unter dem Menü Help/Flash types... kann in die komplette<br />

MCU-Datenbank von <strong>FLASHit</strong> Einsicht genommen werden.<br />

Sollte die gewünschte MCU nicht dabei sein, kann hse den<br />

entsprechenden Baustein evtl. schnell einpflegen.<br />

<strong>FLASHit</strong> bietet mit dieser Funktion Hilfe auf der Suche nach<br />

einer geeigneten MCU an.<br />

Unter View Filter können Kriterien für die Suche<br />

eingegeben werden (Hersteller, Bezeichnung und FLASH-<br />

Größe).<br />

Alle Sektoren des FLASHes werden grafisch dargestellt.<br />

Wird ein Sektor mit der Maus markiert, werden Nummer,<br />

Größe, Start- und Endadresse des Sektors angegeben.<br />

4.9 Upload in das RAM des Targets<br />

Mit der Funktion RAM-Upload kann der Inhalt einer Datei in<br />

das RAM des Zielsystems übertragen werden. Die<br />

Dateiformate Hex und Binär werden unterstützt.<br />

Die Auswahl der RAM-Upload-Datei erfolgt im Dialog<br />

File/Upload file into RAM. Diese Datei-Auswahl ist<br />

unabhängig von der Auswahl der FLASH-Upload-Datei. Die<br />

Fenster Base address und Top address zeigen die<br />

entsprechenden Daten der Upload-Datei an. Abhängig vom<br />

jeweiligen Zielsystem kann es notwendig sein, die Basis-<br />

Adresse anzupassen.<br />

Mit User defined kann eine neue Basis-Adresse<br />

vorgegeben werden. Die Top-Adresse wird automatisch neu<br />

berechnet (Top address).<br />

In diesem Beispiel ist die Basis-Adresse der Upload-Datei<br />

0x20000200 Es wird die neue Basis-Adresse 0x20000000<br />

unter User defined eingestellt, damit die Daten im RAM<br />

platziert werden können.<br />

11-08 Seite 10 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.10 Zielsystem-Infos<br />

Durch Betätigen des Schalters Get info werden auf der Registerkarte Target CPU Informationen über das Zielsystem<br />

angezeigt.<br />

Processor: Ziel-CPU-Typ;<br />

RAM:<br />

Größe des RAM der MCU<br />

FLASH: Größe des FLASH-Speichers der MCU<br />

Bootloader: Version des internen Bootloaders<br />

MANUF: Hersteller<br />

IDCHIP: MCU ID code<br />

Device ID(H): Unique device ID register (96 bits)<br />

Device ID(L): Unique device ID register (96 bits)<br />

FLASH content: Die ersten 24 Bytes des FLASH-<br />

Speichers werden im Fenster Flash<br />

content angezeigt.<br />

4.11 Konfiguration von <strong>FLASHit</strong> – Target System (Zielsystem)<br />

Obwohl <strong>FLASHit</strong> den größten Teil der benötigten Daten selbst ermittelt, kann es vorkommen, dass eine Reihe von<br />

Parametern manuell eingestellt werden müssen.<br />

Über das Menü<br />

Config/Target and program configuration und die<br />

Registerkarte Target System können diverse Einstellungen<br />

zum Zielsystem vorgenommen werden.<br />

Target CPU<br />

<strong>FLASHit</strong> erkennt in der Regel die Ziel-CPU automatisch.<br />

Ist Target Reset/Automatic gewählt, versucht <strong>FLASHit</strong>, das<br />

Target automatisch zurückzusetzen.<br />

Mit User defined kann das Resetverhalten von <strong>FLASHit</strong><br />

manuell eingestellt werden (Define).<br />

Flash memory<br />

<strong>FLASHit</strong> unterstützt in dieser Version nur die<br />

OnChipFLASH-Speicher der <strong>NXP</strong>Controller<br />

Basic address:<br />

Die Basis-Adresse des FLASH-Speichers definiert die<br />

Adresse, an der <strong>FLASHit</strong> den FLASH-Speicher verwendet.<br />

Normalerweise ist diese Adresse = 0x00000000<br />

11-08 Seite 11 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4.12 Konfiguration von <strong>FLASHit</strong> - Programmiersequenz<br />

Über das Menü Config/Target and program configuration und die Registerkarte Program sequence können<br />

Einstellungen zum Programmierablauf vorgenommen werden. <strong>FLASHit</strong> arbeitet die Parameter 0p bis 8 sequentiell ab.<br />

Die mit fetter Schrift im Configuration-Fenster gekennzeichneten Parameter sind die „<strong>FLASHit</strong>-Default-<br />

Einstellungen“.<br />

0r. Ram Upload<br />

Mit der Option Ram Upload wird eine ausgewählte Datei in<br />

das interne RAM der MCU geladen.<br />

1. Erasing Flash<br />

Hier kann zwischen dem Chip-Erase-Modus (der FLASH-<br />

Speicher wird vor dem Download komplett gelöscht) und<br />

dem Sector-Erase-Modus gewählt werden. Im Sector-<br />

Erase-Modus analysiert <strong>FLASHit</strong> die HEX-Datei, die in das<br />

Zielsystem geladen werden soll. Dabei werden nur die<br />

Sektoren gelöscht, in denen das Programm gespeichert<br />

werden soll. Ist die Option Erase Flash nicht markiert, wird<br />

der FLASH-Speicher vor dem Download nicht gelöscht. Dies<br />

ist sinnvoll für den Fall, dass mehrere HEX-Files<br />

hintereinander zu speichern sind. Die Option Ask before<br />

erase löst (nur bei Sector-Erase) vor dem Löschen des<br />

FLASH-Speichers eine Nachfrage aus.<br />

2. Programming file into flash<br />

Diese Option muss angewählt sein, um eine Datei in den<br />

FLASH-Speicher des Zielsystems zu übertragen.<br />

Mit <strong>FLASHit</strong> können neben HEX-Dateien (*.hex / *s19) auch<br />

Binärdateien in den FLASH-Speicher des Zielsystems<br />

geschrieben werden.<br />

Dazu muss unter Config/Target and program configuration die Option Program file into flash/Load Bin markiert<br />

sein. <strong>FLASHit</strong> wird bei dieser Einstellung die in das FLASH zu speichernde Datei nicht mehr interpretieren. HEX-<br />

Dateien werden jetzt nicht (!) mehr als HEX-Datei behandelt, sondern als Binärdateien! Mit dieser Option besteht<br />

z. B. die Möglichkeit, Daten, die aus einem Zielsystem ausgelesen wurden, oder Bitmaps, Textdateien usw. in ein<br />

Zielsystem zu „flashen“.<br />

Die Startadresse im Zielsystem, an der die Binärdatei gespeichert werden soll, kann hier ebenfalls eingestellt werden.<br />

3a. Build checksum (CRC)<br />

Mit der Option Build Checksum kann <strong>FLASHit</strong> veranlasst werden, über den Inhalt des FLASH-Speichers eine<br />

Prüfsumme zu bilden.<br />

Im Bereich „Calculation area of checksum“ können die Adressbereiche, über die die Prüfsumme gebildet werden soll,<br />

eingestellt werden.<br />

ADD32 (Add Bytes) benötigt ca. 2 Sec/256 Kbyte (niedrige Sicherheitsstufe).<br />

CRC16 (Cyclic Redundancy Check) benötigt ca. 16 Sec/256 Kbyte (höchste Sicherheitsstufe). Da sich der<br />

Systembereich im linearen Adressraum befindet (rotes Feld), muss dieser Bereich bei der Checksummenbildung<br />

ausgeblendet werden.<br />

Hinweis: In Anhang 7.4 Sourcen der Prüfsummen-Funktion werden die verwendeten Verfahren dargestellt.<br />

3b. Compare checksum with<br />

Vergleich einer festen Prüfsumme mit der ermittelten Prüfsumme oder mit einer über den Uploadfile erstellten CRC.<br />

Ferner kann ein CRC-Check über einen bestimmten Bereich des Uploadfiles vorgenommen werden<br />

(Upload file area).<br />

11-08 Seite 12 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

4. Write dword (32 Bit)<br />

Durch Auswahl dieser Option besteht die Möglichkeit, in die<br />

einstellbare Adresse des FLASH-Speichers ein „dword“<br />

(4 Byte) zu schreiben. Dafür muss die gewählte Adresse<br />

des FLASH-Speichers vor dem Beschreiben gelöscht<br />

werden.<br />

5a. Write User serial number into flash<br />

Hier kann <strong>FLASHit</strong> veranlasst werden, automatisch eine<br />

Seriennummer zu generieren und an eine festgelegte<br />

Adresse (At address) zu speichern. In den Eingabefeldern<br />

Prefix und Number wird entschieden, wie die<br />

Seriennummer aussieht. Mit der Option Increment... wird<br />

festgelegt, ob bei jedem erfolgreichen Speichern der<br />

Seriennummer das Feld Number um 1 erhöht<br />

(inkrementiert) wird. In den beiden Vorschaufeldern wird<br />

angezeigt, wie die folgenden Nummern aussehen. Ist die<br />

Option Write number into logfile markiert, werden alle<br />

vergebenen Seriennummern in einer<br />

Log-Datei abgespeichert. Der Name für die Log-Datei setzt<br />

sich aus dem Präfix der Seriennummer und dem Anhang<br />

*.txt zusammen (z. B.: hse1.txt).<br />

5b.Increment number after successful writing<br />

5c. Write number into logfile<br />

6. Reset target<br />

Mit der Option Software reset wird im Zielsystem ein Software-Reset nach dem Download ausgelöst. Mit der Option<br />

Hardware reset erzeugt <strong>FLASHit</strong> auf der DTR-Leitung der COM-Schnittstelle ein „Bootstrap-Signal“ und auf der RTS-<br />

Leitung ein „Reset-Signal“ (siehe 7.5). Dadurch besteht die Möglichkeit, das Zielsystem zurückzusetzen und in den<br />

Bootstrap-Modus zu schalten, wenn dies auf der Zielhardware entsprechend berücksichtigt wurde (siehe 7.5 und 7.6).<br />

7. Start RS232 Terminal<br />

Mit der Option Start RS232 Terminal wird nach einem Reset des Zielsystems ein Terminalprogramm gestartet, das<br />

die Daten, die Ihre Applikation über die RS232-Schnittstelle überträgt, anzeigt (die richtige Baudrate muss eingestellt<br />

sein!): Rx term Minimal-Terminalprogramm im Statusfenster<br />

Smal term Externes Terminalprogramm (hse-Tool)<br />

Ext. term Externes Terminalprogramm<br />

8. Exit <strong>FLASHit</strong> after upload sequence<br />

Mit dieser Option wird festgelegt, ob und wie <strong>FLASHit</strong> nach einem Upload automatisch beendet wird.<br />

Konfigurationsdaten Laden oder Speichern<br />

Unter dem Menü File/Open configuration können vorher<br />

gespeicherte Einstellungen geladen,<br />

unter Save configuration gespeichert und<br />

unter Save configuration as... mit einem neuen Namen<br />

versehen werden.<br />

11-08 Seite 13 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

5 Spezialfunktionen<br />

<strong>FLASHit</strong> bietet über den Menüpunkt Special Functions eine Reihe von zusätzlichen Tools.<br />

5.1 FLASH-Speicher auslesen<br />

FLASH-Speicher auslesen und wahlweise in eine *.bin- oder<br />

*.hex-Datei abspeichern<br />

Size:<br />

Anzeige der Größe des FLASH-Speichers<br />

top address:<br />

Anzeige der obersten Speicheradresse des gewählten<br />

FLASH-Speichers<br />

end address<br />

Auslese-Endadresse<br />

start address:<br />

Auslese-Startadresse<br />

11-08 Seite 14 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

5.2 Inhalt einzelner Adressen auslesen<br />

Über die Auswahl<br />

Target-memory viewer können einzelne Adressen aus<br />

dem internen FLASH-Baustein der MCU ausgelesen<br />

werden.<br />

Wenn der Marker add address by 16 gesetzt ist, werden<br />

nach jedem Betätigen des Schalters Read from target die<br />

je darauf folgenden Bytes angezeigt.<br />

Mit Erase view window wird die Anzeige gelöscht (nicht die<br />

Daten im FLASH-Speicher!).<br />

5.3 Checksumme generieren<br />

Gemäß den Einstellungen, die unter dem Menü<br />

Config/Target and program configuration auf der<br />

Registerkarte Program sequence vorgenommen wurden,<br />

kann unter diesem Menüpunkt die entsprechende<br />

Prüfsumme ermittelt werden.<br />

5.4 Debug-Logfile speichern<br />

5.5 Software-Reset auslösen<br />

<strong>FLASHit</strong> logt während einer Session „Debug-Infos“ mit. Bei<br />

einem Fehler werden die Log-Daten automatisch in die<br />

Datei debugmemo.txt nach dem Beenden von <strong>FLASHit</strong><br />

gespeichert.<br />

Mit der Auswahl des Menüs<br />

Special Function/Save debug logfile as... werden die<br />

geloggten Daten in ein beliebiges Verzeichnis gespeichert<br />

(für den Fall, dass kein Fehler entstanden ist). Anhand<br />

dieser Log-Datei ist eine genaue Fehleranalyse möglich.<br />

Hier kann im Zielsystem mittels des Softwarebefehls<br />

(Go_CMD) ein „Softwarereset“ ausgelöst werden.<br />

Hinweis: Der Software-Reset kann nicht zur Kontaktaufnahme (Booten) des Targets verwendet werden! Er kann nach<br />

dem Upload eine Applikation im Target starten.<br />

11-08 Seite 15 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

5.6 Hardware-Reset auslösen<br />

Mit der Auswahl des Menüpunktes<br />

Generate hardware reset... erzeugt <strong>FLASHit</strong> auf der<br />

DTR-Leitung der COM-Schnittstelle ein „Bootstrap-Signal“<br />

und auf der RTS-Leitung ein „Reset-Signal“ (siehe 7.5).<br />

Dadurch besteht die Möglichkeit, das Zielsystem<br />

zurückzusetzen und in den Bootstrap-Modus zu schalten,<br />

wenn dies auf der Ziel-Hardware entsprechend<br />

berücksichtigt wurde (siehe 7.5 und 7.6).<br />

Im Dialog Hardware Reset kann die Form des Reset-<br />

Impulses angepasst werden.<br />

Die hier vorgenommenen Einstellungen haben jedoch<br />

keinen Einfluss auf die automatischen Reset-Mechanismen<br />

von <strong>FLASHit</strong>.<br />

11-08 Seite 16 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

5.7 Kommandozeilen-Funktionen<br />

Die Funktionalität von <strong>FLASHit</strong> kann komplett von außen über Kommandozeilen-Parameter (Skripte) gesteuert<br />

werden. Auf Groß- und Kleinschreibung muss geachtet werden! Mit dem Tool CmdLine<br />

(siehe 6.4 Kommandozeilen-Generator CmdLine) können die entsprechenden Skripte automatisch erzeugt werden.<br />

Es besteht somit die Möglichkeit, mit den Kommandozeilen <strong>FLASHit</strong> aus einer eigenen Applikation heraus aufzurufen<br />

und zu steuern, wobei die Desktop-Oberfläche abgeschaltet werden kann.<br />

Beispiel:<br />

1. Über ein Icon auf dem Windows-Desktop soll <strong>FLASHit</strong> gestartet werden.<br />

2. Eine bestimmte Datei soll geladen werden.<br />

3. Baudrate und COM-Port sollen festgelegt sein.<br />

4. Die Datei soll in den FLASH-Speicher des Zielsytems programmiert werden.<br />

5. Nach erfolgreichem Upload beendet sich <strong>FLASHit</strong> selbst.<br />

Gehen Sie folgendermaßen vor:<br />

- Legen Sie eine neue <strong>FLASHit</strong>-Verknüpfung auf dem Windows-Desktop an.<br />

- Benennen Sie das neu angelegte Icon, z. B. out.hex.<br />

- Rufen Sie über das Kontextmenü den Eigenschaftendialog auf, und wählen Sie die Registerkarte Verknüpfung.<br />

- Tragen Sie im Eingabefeld Ziel Folgendes ein:<br />

c:\programme\flashit_<strong>NXP</strong>.exe COM=1 BAUD=57600 HEX-FILE=e:\projekt\out.hex AUTOSTART EXIT<br />

Ergebnis:<br />

Nach einem Doppelklick auf Ihr Programm-Icon out.hex wird <strong>FLASHit</strong> gestartet und die<br />

Datei e:\projekt\out.hex wird mit einer Baudrate von 57.600 über COM1 zum Zielsystem übertragen und dort in<br />

den FLASH-Speicher programmiert. <strong>FLASHit</strong> beendet sich selbst.<br />

Hinweis: Einen Überblick über die Kommandozeilen-Funktionen liefert Kapitel 7.2.<br />

Prioritäten in der <strong>FLASHit</strong>-Konfiguration<br />

Alle vorgenommenen Parameter-Einstellungen (z. B. Baudrate, COM-Port usw.) von <strong>FLASHit</strong> werden in der Datei<br />

flashit_<strong>NXP</strong>.ini abgespeichert.<br />

Die jeweils gültigen <strong>FLASHit</strong>-Parameter (Actual-Config)<br />

setzen sich zusammen aus:<br />

- den „alten Daten“ aus der Datei flashit_<strong>NXP</strong>.ini.<br />

(Old-Config)<br />

- eventuellen „Parametern“, die beim Start von <strong>FLASHit</strong><br />

übergeben werden, z. B. aus einem anderen Programm<br />

heraus (Command-Line-Config). Diese Parameter haben<br />

Priorität vor den Parametern, die in der Datei<br />

flashit_<strong>NXP</strong>.ini abgespeichert wurden.<br />

- den Einstellungen, die direkt auf dem Desktop<br />

(Desktop-Config) von <strong>FLASHit</strong> vorgenommen wurden,<br />

diese haben Vorrang vor allen anderen Parametern.<br />

5.8 Konfiguration laden oder speichern<br />

Mit Save configuration können alle vorgenommenen<br />

Einstellungen gespeichert werden.<br />

Mit Open configuration... können Einstellungen geladen<br />

werden.<br />

11-08 Seite 17 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

6 Das <strong>FLASHit</strong>-Paket<br />

Die nachfolgend beschriebenen Tools, die zum <strong>FLASHit</strong>-Paket gehören, sind eigenständige Programme, die<br />

entweder von <strong>FLASHit</strong> direkt oder extern gestartet werden können.<br />

6.1 RS232-Terminal<br />

RS232-Terminal ist ein universelles Terminal-Programm,<br />

mit dem die Ausgaben, die die Applikation auf dem Target<br />

über die RS232-Schnittstelle sendet, protokolliert werden<br />

können.<br />

Hinweis: RS232-Terminal kann direkt oder von <strong>FLASHit</strong><br />

aus gestartet werden.<br />

Über das Menü File können die üblichen Funktionen<br />

gestartet werden.<br />

Über das Menü Display kann die Anzeigenart eingestellt<br />

werden<br />

Hex format:<br />

Alle Daten werden im Hex-Format angezeigt.<br />

ASCII format:<br />

Alle Daten werden im ASCII-Format angezeigt.<br />

Hex+ASCII format:<br />

Alle Daten werden im ASCII- und Hex-Format angezeigt.<br />

Transmit:<br />

Im Transmit-Fenster kann ein String zum Senden<br />

vorbereitet werden. Mit dem Transmit-Schalter wird der<br />

String über die RS232-Schnittstelle gesendet.<br />

Tx window:<br />

Über den Schalter TX window wird ein Fenster geöffnet, in<br />

dem die eingegebenen Zeichen „live“ über die RS232-<br />

Schnittstelle gesendet werden.<br />

11-08 Seite 18 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Mit Clear Rx-Window kann das Empfangsfenster gelöscht<br />

werden.<br />

Unter dem Menü Connected kann die COM-Verbindungsart<br />

eingestellt werden.<br />

Über das Menü Line feed kann der Zeilenvorschub der Daten im Terminal-Fenster eingestellt werden, wobei die<br />

Zeilenumbrüche für receive (Empfangen) und transmit (Senden) getrennt einstellbar sind.<br />

Line feed at CR:<br />

Zeilenvorschub über einen „Carriage Return“<br />

Line feed at LF:<br />

Zeilenvorschub über einen „Line feed“<br />

Line feed at traffic break:<br />

Zeilenvorschub über ein Ausbleiben von Daten<br />

Add CR:<br />

Dem gesendeten Text wird ein „Carriage Return“<br />

angehängt.<br />

Add LF:<br />

Dem gesendeten Text wird ein „Line feed“ angehängt.<br />

Add CR+LF:<br />

Dem gesendeten Text wird ein „Carriage Return“ und ein<br />

„Line feed“ angehängt.<br />

Add none:<br />

Dem gesendeten Text wird kein „Carriage Return“ und kein<br />

„Line feed“ angehängt.<br />

Über das Menü Setup können die üblichen COM-Port-<br />

Einstellungen vorgenommen werden.<br />

Target-Reset über Terminal<br />

Über das Menü Control target kann ein Hardware-Reset<br />

des Targets ausgeführt werden. Voraussetzung hierfür ist<br />

die Verschaltung der entsprechenden Anschlüsse der<br />

RS232-Schnittstelle gemäß unserem Schaltungsvorschlag<br />

(siehe Anhang 7.6 Reset- und Bootstrap-Interface)<br />

11-08 Seite 19 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

6.2 CRC-Builder<br />

Der Checksum builder ist ein universelles Programm, mit dem die Checksumme eines HEX-Files bestimmt werden<br />

kann.<br />

Über den Menüpunkt File wird eine HEX-Datei ausgewählt.<br />

In FLASH size wird die FLASH-Speicher-Größe eingestellt.<br />

CRC-Builder legt die Start- und Endadresse gemäß den<br />

Einstellungen unter FLASH size fest. Es muss lediglich der<br />

interne Bereich des Ziel-Controllers unter Begin of<br />

uncalculated area und End of uncalculated rea festgelegt<br />

werden, da dieser Bereich bei der Berechnung der<br />

Checksumme ausgeklammert wird.<br />

Mit Calculate wird die Berechnung gestartet.<br />

Die Checksumme liegt als Ergebnis dann als ADD32-und<br />

CRC16-Wert vor.<br />

Hinweis: CRC-Builder kann nur direkt gestartet werden.<br />

CRC-Builder kann durch Kommandozeilenparameter<br />

gesteuert werden.<br />

Befehl<br />

EXIT<br />

Funktion<br />

Das Programm wird nach der Berechnung beendet.<br />

A1= definiert die Start-Adresse der CRC-Berechnung<br />

A2= definiert die Start-Adresse des nicht zu berücksichtigenden<br />

Bereichs<br />

A3= definiert die End-Adresse des nicht zu berücksichtigenden<br />

Bereichs<br />

A4= definiert die End-Adresse der CRC-Berechnung<br />

FS= definiert die Flash-Size (0=auto, 1=64 k, 2=128 k, 3=256 k,<br />

4=512 k, 5=1 M, 6=2 M, 7=4 M)<br />

FP=<br />

HEX-FILE=<br />

definiert den Dateninhalt eines gelöschten Flash-Bausteins<br />

(Fill-Pattern)<br />

definiert die Datei, über die die CRC berechnet wird<br />

Hex-File = j:\hexfiles\128kRandom.hex<br />

CRC16 = 0x51EF<br />

ADD32 = 0x00EDFE42l<br />

Error Code = 000<br />

Start-Adr = 0x08000000<br />

BegInt-Adr = 0x000000<br />

EndInt-Adr = 0x000000<br />

End-Adr = 0x0801FFFF<br />

Beispiel von Result_CRC.txt<br />

Beim Beenden des CRC-Builders wird eine Ergebnisdatei<br />

(Result_CRC.txt) generiert. Die Datei befindet sich unter<br />

Windows XP in C:\Doku..Einstellungen\All<br />

users\Anwendungsdaten\Flashit<br />

und unter Windows 7 in C:\PrgramData\<strong>FLASHit</strong>.<br />

Fehlercode<br />

Bedeutung<br />

0 Fehlerfreie Ausführung<br />

14 Datei konnte nicht gelesen werden.<br />

36 Die Größe des Flash-Bausteines ist unbekannt.<br />

171 Die Datei enthält Daten, die außerhalb des Flashs<br />

liegen.<br />

175 Datei nicht gefunden<br />

Der CRC-Builder gibt einen Rückgabe-Wert (Return-Code)<br />

an das aufrufende Programm zurück. Der Return-Code<br />

gliedert sich in zwei Bereiche: die CRC16-Prüfsumme (Bit<br />

0..15) und den Fehlercode (Bit 16..31).<br />

11-08 Seite 20 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

6.3 IO-Check<br />

Mit IO-Check wurde ein Schnittstellentest-Tool in das <strong>FLASHit</strong>-Paket integriert, mit dem das Funktionieren des COM-<br />

Ports (Grundlage zum Arbeiten mit <strong>FLASHit</strong>) gecheckt werden kann.<br />

Hinweis: IO-Check kann direkt oder von <strong>FLASHit</strong> aus gestartet werden.<br />

Beim Aufruf der IO-Check-Funktion werden alle installierten<br />

COM-Ports daraufhin überprüft, ob ein Zugriff über die<br />

Windows API-Funktion<br />

(API=Application Programming Interface) möglich ist.<br />

Anschließend wird der direkte Zugriff auf die PIO-Bausteine<br />

(PIO-Modus) geprüft.<br />

IO-Check zeigt, welche COM-Ports für <strong>FLASHit</strong> verwendet<br />

werden können.<br />

<strong>FLASHit</strong> kann nur die COM-Ports verwenden, auf die über<br />

die API zugegriffen werden kann.<br />

Ferner lassen sich mit IO-Check die einzelnen Port-<br />

Leitungen manuell ein- und ausschalten.<br />

Nebenbei kann auch der LPT1-Port getestet werden.<br />

Zugriffsarten<br />

Der Zugriff auf die COM-Schnittstelle über die API ist nur<br />

möglich, wenn der Port vor dem Programmstart frei war.<br />

Zum „Beobachten“ eignet sich der PIO-Modus. Zum<br />

Funktionstest eignet sich der API-Modus. Der PIO-Modus<br />

kann nur für Standard-COM-Ports verwendet werden und<br />

nicht an COM-Ports, die z. B. über<br />

USB-Schnittstellen gebildet werden (USB-RS232-Adapter).<br />

Loop test/Leitungstest:<br />

Über den Schalter Test öffnet sich ein Protokollfenster, in<br />

dem die Ergebnisse des automatischen Tests beschrieben<br />

werden.<br />

Über das Menü File/Save protocol as... kann das Ergebnis<br />

der Prüfung gespeichert werden.<br />

Es wird eine physikalische Prüfung der einzelnen Leitungen<br />

und der Signallaufzeiten durchgeführt.<br />

Hierzu ist ein Prüfstecker erforderlich, der am COM-Port<br />

angeschlossen sein muss (siehe links unten).<br />

Beispiel für ein Leitungstest-Protokoll:<br />

COM1: Start Loop Test (API-Modus)<br />

TxD -> RxD Loop ok. Delay = 1,6 ms<br />

DTR -> DSR Loop ok. Delay = 5,6 ms<br />

DTR -> DCD Loop ok. Delay = 0,9 ms<br />

RTS -> CTS Loop ok. Delay = 4,4 ms<br />

RTS -> Ri Loop ok. Delay = 0,5 ms<br />

Die angegebenen Zeiten sind ungefähre Werte und<br />

abhängig von der Rechnerleistung. Bei COM-Ports, die über<br />

einen USB-Schnittstellenadapter betrieben werden, können<br />

die Signallaufzeiten erheblich länger sein.<br />

11-08 Seite 21 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Manuelle Kontrolle der Portleitungen<br />

-Signale (Input)<br />

Die Farben der Symbole geben die logischen Pegel an. Das<br />

heißt der logische Pegel „1“ kann je nach Computer-Fabrikat<br />

ca +5 V bis ca +12 V betragen. Entsprechend die negativen<br />

Pegel: ca –5 V bis ca –12 V.<br />

-Ausgänge (Output)<br />

Durch das Anklicken der -Symbole kann ein Signal auf<br />

den entsprechenden Port gesetzt werden.<br />

Auch hier wird keine exakte Spannung, sondern der<br />

logische Pegel gezeigt.<br />

WARNUNG:<br />

Die Modifizierung der Ausgänge kann u. U. Hardware (PC und/oder extern angeschlossene<br />

Geräte) zerstören!<br />

Steuerleitungen des Druckeranschlusses<br />

Die Steuerleitungen des ersten Standard-Druckers (Adresse 0x378) können manuell beeinflusst und beobachtet<br />

werden.<br />

WARNUNG:<br />

Die Modifizierung der Ausgänge kann u. U. Hardware (PC und/oder extern angeschlossene<br />

Geräte) zerstören!<br />

11-08 Seite 22 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

6.4 Kommandozeilen-Generator (CmdLine)<br />

Zur Vereinfachung des Umgangs mit der Kommandozeilen-Funktion von <strong>FLASHit</strong> wird das Programm CmdLine auf<br />

der CD mitgeliefert, mit dessen Hilfe automatisch<br />

- eine Kommandozeile und ein ICON und<br />

- ein C-Source-Code (für den Aufruf aus eigenen Applikationen heraus) generiert werden kann.<br />

Hinweis: CmdLine kann nur direkt gestartet werden.<br />

Auf einfache Weise können hier verschiedene Einstellungen vorgenommen werden. Bei dem hier gezeigten Beispiel<br />

wurde die Upload-Hex-Datei (HEX-FILE=J:\Hexfiles\canopen.hex) gewählt,<br />

der automatische Start des Uploads (AUTOSTART) veranlasst,<br />

der FLASH-Speicher-Löschmodus „Sector Erase“ (ERASE MODE=SECTOR) eingestellt,<br />

das automatische Beenden von <strong>FLASHit</strong> (EXIT) gewählt,<br />

der Comport (COM=1) verwendet und<br />

die Baurate (Baud=57600) eingestellt.<br />

Die fett markierten Menüs zeigen an, dass darin Einstellungen vorgenommen wurden.<br />

Die Reihenfolge der einzelnen Befehle spielt keine Rolle!<br />

Direkter Start von <strong>FLASHit</strong> über die eingestellte Kommandozeile.<br />

Erstellung einer Verknüpfung mit <strong>FLASHit</strong> und einer eingestellten Kommandozeile.<br />

Aufruf von <strong>FLASHit</strong> aus einem Visual C++-Code.<br />

Aufruf von <strong>FLASHit</strong> aus einem Borland C-Code.<br />

11-08 Seite 23 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

<strong>FLASHit</strong> liefert „Return-Codes“ zurück, die von CmdLine angezeigt werden.<br />

Mit der folgenden Programmzeile kann der „Error Code“ aus Return-Value extrahiert werden (siehe 7.1).<br />

uiErrorCode = (unsigned int) ( ulReturnValue >> 8 );<br />

Mit der folgenden Programmzeile kann der „Short Code“ aus Return-Value extrahiert werden.<br />

cShortCode = (char)( ulReturnValue & 0x0F );<br />

Short-Code entspricht den unteren 4 Bit von Return-Value.<br />

0 Kein Fehler<br />

1 Fehler im Hexfile<br />

2 Fehler im Zielsystem<br />

3 Flash wurde nicht gefunden<br />

4 Flash-Typ bisher nicht unterstützt<br />

5 Fehler beim Löschen des Flash-Bausteins<br />

6 Fehler beim Programmieren des Flash-Bausteins<br />

7 Prüfsummen-Fehler<br />

8 Fehler im Programmablauf von <strong>FLASHit</strong><br />

andere Fehler von Windows<br />

Zusätzlich generiert <strong>FLASHit</strong> einen „Return-Code-File“ (result.txt) für die Auswertung durch andere Applikationen.<br />

Hinweis: Um mit CmdLine arbeiten zu können, muss es sich im <strong>FLASHit</strong>-Verzeichnis befinden!<br />

Alle Änderungen vorbehalten!<br />

Eine erfolgreiche Arbeit wünscht<br />

das hse-electronics-Team<br />

11-08 Seite 24 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>ARM</strong><br />

<strong>Cortex</strong> <strong>M3</strong><br />

Error Number<br />

Smal return<br />

Code<br />

<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

7 Anhang<br />

7.1 Statusmeldungen (Errorcodes)<br />

Versions<br />

Message<br />

Description<br />

Beschreibung<br />

File, Modul, Libarys Not found<br />

E010 8 E010: Can't find file: *.mod<br />

E011 8 E011: Modul file was not found<br />

Ѵ E014 1 E014: Can't open upload file<br />

Ѵ E015 8 E015: No FLASH data found<br />

Ѵ E016 E016: Can't generate Binray-Temp-File<br />

Ѵ E017 E017: Can't open Binray-Temp-File<br />

Ѵ E018 E018: Can't generate Binray-File<br />

Ѵ E019 E019: Can't generate Intel-hex-file<br />

E020 8 E020: Library unit not found<br />

E023<br />

E023: Wrong in flashitx.lib<br />

Ѵ E024 E024: Instruction file not found<br />

Ѵ E025 E025: Data base FLASHdat.LIB not found<br />

Ѵ E026 E026: Ini-File is write protected<br />

Modul-File not found<br />

Modul nicht gefunden<br />

File is missing<br />

Datei fehlt<br />

Access to upload file is not possible<br />

Der Upload file konnte nicht geöffnet werden<br />

FLASH data missing<br />

Es fehlen Daten zum Flashen<br />

Access to temp file (readout.bin) not possible<br />

Temporäre Datei readout.bin konnte nicht erstellt werden<br />

Read access to temp file not possible<br />

Temporäre Datei readout.bin konnte nicht geöffnet werden<br />

Access to bin file not possible<br />

Binäre-Ziel-Datei konnte nicht geöffnet werden<br />

Access to hex file not possible<br />

Intel-Hex-Ziel-Datei konnte nicht geöffnet werden<br />

<strong>FLASHit</strong>x.lib not found<br />

Flashit.lib konnte nicht geöffnet werden.<br />

Error in Library x<br />

Fehler in Bibliothek x<br />

PDF files not found<br />

Die Datei doku/Anleitung.pdf fehlt<br />

File FLASHdat.LIB not found<br />

Die Datei FlashDat.lib wurde nicht gefunden<br />

Flashit.ini is write protection<br />

Die Ini-Datei ist schreibgeschützt<br />

Programmcycle<br />

E030 8 E030: Modul-file is too big!<br />

Ѵ E031 8 E031: No memory for FlashLib<br />

Ѵ E032 8 E032: Not enough memory<br />

Ѵ E033 1 E033: Error in Hex-File: Line is too long!<br />

Ѵ E034 1 E034: Wrong file format. Function abort<br />

Ѵ E035 8 E035: Write mode n unknown<br />

Ѵ E036 1 E036: Size of FLASH is unknown. Abort<br />

Ѵ E038 6<br />

E038: Can't write User-Serial-Number [..] at log. address<br />

...<br />

Ѵ E039 1 E039: Mirror address is unknown<br />

File size is too big.<br />

Ein Modul ist zu groß<br />

No memory to read Flashitx.lib<br />

Kein dynamischer Speicher verfügbar um Flashdat.lib zu<br />

laden<br />

No memory to read Flashitx.lib<br />

Kein Speicher für das virtuelles Flash<br />

Hex format error<br />

Aktuelle Zeile im Intel-Hex-File ist zu lang<br />

Hex format error<br />

Unbekanntes Datenformat der Hex-Datei<br />

Flash write mode is not supported<br />

Flash-Write-Methode unbekannt<br />

Size of embedded flash is not found<br />

Größe des Flashspeichers ist unbekannt<br />

Error in embedded flash.<br />

User-Serial-Number konnte nicht geschrieben werden.<br />

Undefined size of embedded flash<br />

Größe des Flashspeichers ist unbekannt<br />

11-08 Seite 25 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Not supported<br />

Ѵ E040 8 E040: Sorry this CPU is not enabled at your version<br />

Ѵ E042 E042: Internal error call hse<br />

Ѵ E043 E043: Wrong Date (1)<br />

Ѵ E046 8 E046: Please contact hse-elctronics<br />

Ѵ E047 8 E047: Function in demo not available<br />

Ѵ E048 8 E048: Contact hse-elctronic<br />

Target CPU (step) is unknown<br />

CPU nicht freigeschaltet (nur bei limitierter Version)<br />

<strong>FLASHit</strong> access error<br />

Interner Fehler<br />

Date is out of format<br />

Datum kann nicht korrekt ermittelt werden.<br />

User access error<br />

Fehler der eine Kontaktaufnahme zu hse erforderlich macht<br />

Licence restriction<br />

Funktion ist in der Demoversion nicht verfügbar.<br />

Upload data access error<br />

Fehler der eine Kontaktaufnahme zu hse erforderlich macht<br />

Dataformat Error<br />

E051 8 E051: Try to write odd number of data!<br />

Ѵ E052 1 E052: Upload-file is no Intel-Hex format!<br />

Ѵ E053 1 E053: Overwrite Address<br />

Ѵ E056 E056: Data outside of FLASH at Address x<br />

Ѵ E058 1 E058: Checksum error in Hexfile line<br />

Ѵ E059 1 E059: Wrong blocklenght in Hexfile line<br />

E060<br />

E060: No Debug/Toolstick Adapter found<br />

Try to write odd number of data<br />

Es wird versucht eine ungerade Anzahl von Bytes zu<br />

schreiben.<br />

Upload file format error<br />

Die Upload-Datei entspricht nicht dem Intel-Hex Format<br />

Multiple define of data in Embedded upload file<br />

Fehler im Hexfile<br />

Address of embedded file is out of FLASH memory<br />

Daten außerhalb des Speicherbereiches<br />

Checksum error in Hexfile line<br />

Prüfsummenfehler in Hexfile Zeile<br />

Wrong blocklenght in Hexfile line<br />

Anzahl der Daten stimmt nicht mit Länge der Hex-Zeile<br />

überein<br />

No Debug/Toolstick Adapter found<br />

Toolstickadapter nicht gefunden<br />

Target Error<br />

E101 2 E101: Can't load modul<br />

E102 2 E102: Booting was not possible %d<br />

E103 2 E103: No correct answer from target<br />

Ѵ E104 2 E104: Communication with target failed<br />

E109 2 E109: Target-bus length unknown!<br />

Ѵ E110 2 E110: Target crashed - rebooting...<br />

Ѵ E111 2 E111: No response from target<br />

Ѵ E113 2 E113: Can't analyse contents of target FLASH<br />

E114 2 E114: Can't load buffer<br />

E116 3 E116: FLASH-Read-Test failt<br />

Can't load modul<br />

Fehler beim Laden eines Moduls ins Target<br />

Target booting was not possible<br />

Target konnte nicht gebootet werden<br />

Target does not answer correct<br />

Das Target antwortet nicht korrekt.<br />

Target gives an unknown response<br />

Das Taget meldet eine unbekannte CPU-Kennung.<br />

Unknown bus mode<br />

Busbreite des Target-Systems konnte nicht erkannt werden<br />

Target crashed while erasing<br />

Target ist beim Sektor-Löschen abgestürtzt und wird neu<br />

gestartet.<br />

Target does not answer correct<br />

Target antwortet nicht richtig<br />

Can't analyse contents of target FLASH<br />

Die Analyse des Inhaltes des Target Flashes war nicht<br />

möglich.<br />

Can't load buffer<br />

Ein Bufferinhalt konnte nicht ins Target geladen werden<br />

FLASH-Read-Test failt<br />

Der Flash-Lese-Test ergab ein ungültiges Ergebnis<br />

11-08 Seite 26 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Flashmemory Error<br />

E130 6 E130: Timeout while writing FLASH!<br />

E131 6 E131: While writing FLASH (DQ7)<br />

E132 6 E132: No. %d in modul Write_Buffer!<br />

E133 6 E133: No acknowledge while writing FLASH!<br />

E134 6 E134: Abort at Adr. %08lXh, while Timeout-Error!<br />

Ѵ E135 6 E135: Abort at Adr. %08lXh, Error%d!<br />

Ѵ E136 E136: Erase mode (Chip/Sector) unknown<br />

E137 1 E137: Wrong page size<br />

Ѵ E138 6 E138: Flash type is not found<br />

E140 5 E140: FLASH-Erase abort while timeout!<br />

E141 5 E141: Sector-Erase failt!<br />

E142 5 E142: Sector-Erase abort while timeout!<br />

Ѵ E145 5 E145: FLASH-Erase abort after x s from flash<br />

E146 5 E146: Chip-Erase not possible<br />

Ѵ E150 7 E150: Checksum compare error<br />

E151 5 E151: Internal flash is not supported<br />

Ѵ E153 8 E153: Abort at Adr. %08lXh, Error%d!<br />

Error in embedded flash.Timeout<br />

Fehler beim Schreiben des Flashbausteines. Timeout<br />

Error in embedded flash<br />

Fehler beim Schreiben: Flashbaustein meldet Fehler<br />

Error n in embedded flash<br />

Fehler beim Schreiben: Flash-Speicher meldet Fehler n<br />

Target does not answer<br />

Fehler beim Schreiben: Es kommt keine Antwort von Target<br />

Programming stop at address x<br />

Abbruch beim Schreiben an Adresse x wegen Timeout<br />

Programming stop at address x<br />

Abbruch beim Schreiben an Adresse x wegen Fehler n<br />

Erase mode (Chip/Sector) unknown<br />

Löschmethode unbekannt<br />

Wrong page size<br />

Blocklänge nicht zulässig<br />

No data about embedded flash<br />

Keine Daten über den FLASH-Speicher verfügbar<br />

Target does not answer: Timeout<br />

Fehler beim Löschen des Flashbausteines: Timeout<br />

Error at erasing target flash<br />

Es trat ein Fehler beim Löschen des Flashes auf<br />

Target does not answer: Timeout<br />

Fehler beim Löschen des Flashbausteines: Timeout<br />

FLASH Erasing was canceled after x sec by target flash<br />

Flash hat nach x Sek einen Fehler erkannt<br />

Mode Chip-Erase not possible<br />

Diese CPU kennt kein Chip-Erase<br />

CRC of target flash does not match<br />

Vorgegebene Checksumme stimmt nicht mit Flashinhalt<br />

überein<br />

Not support flash found<br />

Dieses interne Flash wird nicht unterstützt<br />

Error while writing a "Word/DWord" at address x<br />

Fehler beim Schreiben eines "Word/DWord" an Adresse x<br />

Input Error<br />

E170 8 E170: Odd address is not possible<br />

Ѵ E171 8 E171: Address combination is not possible (A1>A4)<br />

Ѵ E172 8 E172: Command line: Pfad to hex-file does not exist<br />

E173 8 E173: Address combination is not possible A(n)>A(n+1)<br />

To enter an odd address is not allowed<br />

Ungerade Adresseingabe ist nicht erlaubt<br />

Address combination is not allowed<br />

Adresskombination nicht erlaubt<br />

The upload file path of command line, does not exist<br />

Die Upload-Datei, ist nicht vorhanden<br />

Address combination is not allowed<br />

Adresskombination nicht erlaubt<br />

Ѵ E175 1 E175: Hexfile not found<br />

Upload file not found<br />

Upload Datei nicht gefunden<br />

E176 8 E176: Do not mapp ROM1 to seg 1<br />

Bus setting of SYSCON.15 is wrong<br />

Bus Konfiguration SYSCON.15 ist falsch<br />

Ѵ E177 8 E177: Command line: Pfad to RAM-file does not exist<br />

The upload file path of command line, does not exist<br />

Die Datei ist nicht vorhanden<br />

Ѵ E200 4 E200: sizeof(FLASHdat.LIB) too big<br />

File FLASHdat.LIB size too big<br />

Die Datei FLASHdat.LIB ist zu gross<br />

Ѵ E201 E201: Hex-Download Abort, lost Sync<br />

Error while readout target FLASH memory.<br />

Beim Auslesen des Flashes ist ein Fehler aufgetreten<br />

Ѵ E202: 8 E202: Lenght too high Path of upload file is too long<br />

11-08 Seite 27 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

Der Upload Pfad ist zu lang<br />

COM-Access<br />

Ѵ E301 Error Baudrate not possible<br />

Baudrate can not be set<br />

Baudrate kann nicht eingestellt werden<br />

RAM-Access<br />

E410 2 E410: RAM-access test failed<br />

E420 2 E420: RAM data line test failed<br />

E430 2 E430: RAM addr line test failed<br />

E440 2 E440: RAM-cell test failed<br />

E450<br />

E450: RAM upload failed, Ex<br />

Ѵ E451 2 E451: Upload failed, CRC is wrong<br />

E452 2 E452: RAM-Data compare error<br />

Ѵ E453 2 E453: RAM CRC check failed<br />

Ѵ E455 2 E455: can not open file<br />

E456<br />

E456: Data will destroy system area<br />

Ѵ E457 E457: Error Vector not possible<br />

Access to RAM failt<br />

RAM-Zugriffstest ist fehlgeschlagen<br />

Access to RAM failt<br />

RAM-Test Fehler in Datenleitung<br />

Access to RAM failt<br />

RAM-Test Fehler in Adressleitung<br />

Access to RAM failt<br />

RAM-Test Fehler bei Zellen Test<br />

Error x while RAM upload<br />

Fehler x beim RAM upload<br />

CRC error while RAM upload<br />

CRC Fehler während RAM Upload<br />

Read back compare<br />

RAM-Rücklese-Daten stimmen nicht mit Upload Daten<br />

überein<br />

Read back CRC error<br />

RAM-CRC stimmt nicht mit Upload CRC überein<br />

RAM-Upload file access error<br />

RAM-Upload Datei kann nicht geöffnet werden<br />

Data will overwrite iRAM, SFR<br />

Versuch ins iRAM oder SFR zu schreiben<br />

The jump vector is not possible<br />

Das Sprungziel ist nicht möglich<br />

Problem with Licence<br />

Ѵ E814 E814: Licence not valid (version)<br />

Ѵ E815 E815:Licence not valid (timeout)<br />

Ѵ E816 E816: Licence not valid (timeout)<br />

Ѵ E817 E817: Licence not valid (timeout)<br />

Ѵ E818 E818: Licence wrong (error)<br />

Ѵ E819 E819: Empty USB-Key<br />

Ѵ E820 E820: Null nicht erlaubt<br />

Licence does not match to program version<br />

Lizenz passt nicht zur Programm Version<br />

Validity periode expried<br />

Gültigkeitszeitraum abgelaufen<br />

Validity periode expried<br />

Gültigkeitszeitraum abgelaufen<br />

Validity periode expried<br />

Gültigkeitszeitraum abgelaufen<br />

Tiping error<br />

Tippfehler<br />

USB-Key is empty (no licence data)<br />

USB-Dongle enthält keine Lizenz-Daten<br />

Tiping error<br />

Tippfehler<br />

Problem with Licence-Dongle<br />

Ѵ E900 E900<br />

Ѵ E934 8 E934: USB-Dongle is broken!<br />

No licence found / Demo version<br />

Keine Lizenz gefunden / Demo Version<br />

USB-Dongle is broken<br />

USB-Dongle ist gebrochen<br />

11-08 Seite 28 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

7.2 Unterstützte Controller (Auszug):<br />

<strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M3</strong> <strong>ARM</strong>7<br />

LPC1100L LPC 1300 LPC 2100 LPC2300<br />

LPC1111FHN33 LPC1311FHN33 LPC2101FBD48 LPC2361FBD100<br />

LPC1112FHN33 LPC1313FBD48 LPC2102FBD48 LPC2362FBD100<br />

LPC1113FBD48 LPC1313FHN33 LPC2102FHN48 LPC2364FBD100<br />

LPC1113FHN33 LPC1342FHN33 LPC2103FBD48 LPC2364FET100<br />

LPC1114FA44 LPC1343FBD48 LPC2103FHN48 LPC2364HBD100<br />

LPC1114FBD48 LPC1343FHN33 LPC2104FBD48 LPC2365FBD100<br />

LPC1114FHN33 LPC2105FBD48 LPC2366FBD100<br />

LPC1700 LPC2106FBD48 LPC2367FBD100<br />

LPC11C00 LPC1751FBD80 LPC2106FHN48 LPC2368FBD100<br />

LPC11C12FBD48 LPC1752FBD80 LPC2109FBD64 LPC2368FET100<br />

LPC11C14FBD48 LPC1754FBD80 LPC2114FBD64 LPC2377FBD144<br />

LPC11C22FBD48 LPC1756FBD80 LPC2119FBD64 LPC2378FBD144<br />

LPC11C24FBD48 LPC1758FBD80 LPC2124FBD64 LPC2387FBD100<br />

LPC1759FBD80 LPC2129FBD64 LPC2388FBD144<br />

LPC11U00 LPC1763FBD100 LPC2131FBD64<br />

LPC11U12FBD48 LPC1764FBD100 LPC2132FBD64 LPC2400<br />

LPC11U12FHN33 LPC1765FBD100 LPC2132FHN64 LPC2420FBD208<br />

LPC11U13FBD48 LPC1765FET100 LPC2134FBD64 LPC2420FET208<br />

LPC11U14FBD48 LPC1766FBD100 LPC2136FBD64 LPC2460FBD208<br />

LPC11U14FET48 LPC1767FBD100 LPC2138FBD64 LPC2460FET208<br />

LPC11U14FHN33 LPC1768FBD100 LPC2138FHN64 LPC2468FBD208<br />

LPC1768FET100 LPC2141FBD64 LPC2468FET208<br />

LPC1200 LPC1769FBD100 LPC2142FBD64 LPC2478FET208<br />

LPC1224FBD48 LPC1774FBD144 LPC2144FBD64<br />

LPC1224FBD64 LPC1774FBD208 LPC2146FBD64 LH7-series<br />

LPC1225FBD48 LPC1776FBD208 LPC2148FBD64 LH75401N0Q100C0<br />

LPC1225FBD64 LPC1776FET180 LPC2157FBD100 LH75411N0Q100C0<br />

LPC1226FBD48 LPC1777FBD208 LPC2158FBD100 LH79520N0Q000B1<br />

LPC1226FBD64 LPC1778FBD144 LPC2194HBD64 LH79524N0F100A1<br />

LPC1227FBD48 LPC1778FBD208 LH79525N0Q100A1<br />

LPC1227FBD64 LPC1778FET180 LPC2200<br />

LPC1778FET208<br />

LPC2210FBD144<br />

LPC1785FBD208<br />

LPC2212FBD144<br />

LPC1786FBD208<br />

LPC2214FBD144<br />

LPC1787FBD208<br />

LPC2220FBD144<br />

LPC1788FBD144<br />

LPC2220FET144<br />

LPC1788FBD208<br />

LPC2290FBD144<br />

LPC1788FET180<br />

LPC2292FBD144<br />

LPC1788FET208<br />

LPC2292FET144<br />

LPC2294HBD144<br />

11-08 Seite 29 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

7.3 Kommandozeilen-Funktionen im Überblick<br />

Commands<br />

Befehle<br />

Description<br />

Beschreibung<br />

Adjustments<br />

Einstellungen<br />

Examples<br />

Beispiele<br />

INI_FILE<br />

COM<br />

BAUD<br />

BASIC-ADDR<br />

RDOUT-BEG<br />

RDOUT-TOP<br />

FILTER<br />

HEX-FILE<br />

BIN-FILE<br />

BIN-OFFSET<br />

FILELOAD<br />

RAM-FILE<br />

RAM-OFFSET<br />

RAM-UPBASE<br />

ICONSIZE<br />

EXPERTVIEW<br />

EXPRESSVIEW<br />

USN_Prefix<br />

USN_Number<br />

USN_Adress<br />

USN_INC<br />

USN_Log<br />

Project<br />

Starts <strong>FLASHit</strong> with project file (*.ini).<br />

<strong>FLASHit</strong> mit Projekteinstellungen (*.ini) starten<br />

INI_FILE=c:\demo.ini<br />

INI_FILE="c\program<br />

files\test.ini"<br />

Target-Connection<br />

Defines COM-Port number<br />

Definiert COM-Port Nummer<br />

1, 2, ..., 99 COM=2<br />

Defines baudrate 9600,19200,38400,<br />

Definition der Baudrate<br />

57600,115200<br />

BAUD=38400<br />

Target defines<br />

Flash basic address 0x000000 -<br />

Basis Adresse des Flash-Speichers.<br />

0xFFFFFFFF<br />

BASIC-ADDR=0x00000000<br />

Beginn of Readout<br />

niedrigste Auslese-Adresse<br />

RDOUT-BEG=0x00000000<br />

End of Readout<br />

höchste Auslese-Adresse<br />

RDOUT-TOP=0x0001FFFF<br />

Flash Upload<br />

Defines filter for file view<br />

Definiert den Filter für die Hexfile-Anzeige<br />

*.hex, *.h86, *.s19<br />

FILTER=*.H86<br />

Defines a path and file name for upload<br />

HEX-FILE=c:\new\out.hex<br />

Fullpath<br />

Pfad-Angabe zum Upload-Hexfile<br />

HEX-FILE="c:\new 1\out.s19"<br />

Defines a path and file name for upload<br />

HEX-FILE=c:\new\out.bin<br />

Fullpath<br />

Pfad-Angabe zum Upload-Binary-File<br />

HEX-FILE="c:\new 1\out.jpg"<br />

Load Bin-File with offset into Flash<br />

Lädt Binär-Datei mit Offset-Adresse in den FLASH-Speicher<br />

BIN-OFFSET=0x0000000<br />

Loading mode (bin/Intel-/Mot.-Hex)<br />

Datei Lademethode<br />

BIN, HEX<br />

FILELOAD=HEX<br />

RAM Upload<br />

Defines a path and file name for RAM upload<br />

Pfad-Angabe RAM Uploaddatei<br />

Fullpath<br />

RAM-File="c:\Test\RAM.hex"<br />

Offset for RAM upload<br />

Offset für Speicherung ins RAM<br />

RAM-OFFSET=0x2000000<br />

Set offset source<br />

0 = Hexfile base<br />

Gibt die Quelle der Offset-Adresse an<br />

address<br />

RAM-UPBASE=1<br />

1 = User defines<br />

Visible<br />

Starts <strong>FLASHit</strong> as an icon<br />

Startet FLASHIt als Icon<br />

ICONSIZE<br />

Start full view<br />

Startet <strong>FLASHit</strong> mit voller Oberfläche<br />

EXPERTVIEW<br />

Start smal view<br />

Startet FLASHIt mit reduzierter Oberfläche<br />

EXPRESSVIEW<br />

User Serial Number (USN)<br />

Defines the prefix of the USN<br />

Definiert den Präfix der USN<br />

max. 10digits<br />

USN_Prefix=Version:<br />

Defines the value of the USN<br />

Definiert die Wert der Seriennummer<br />

max. 10digits<br />

USN_Number=123<br />

Defines the start-adress of the USN<br />

Startadresse ab der die USN ins Flash schrieben wird<br />

max. 10digits USN_Adress=0x0803FFF0<br />

Defines autoincrement of the USN<br />

Auto-Iinkrementierung der USN<br />

USN_INC<br />

Safes the USN into a file<br />

Speicherung der USN<br />

USN_Log<br />

11-08 Seite 30 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

SEQUENCE<br />

ERASE-MODE<br />

AskUseBeforeErase<br />

CHECKSUM=ADD<br />

CHECKSUM=CRC16<br />

CMPCHK<br />

SOFTRESET<br />

HARDRESET<br />

AutoEraseSec<br />

AutoWriteWord<br />

EXIT<br />

RETURN<br />

AUTOSTART<br />

WORK_DIR<br />

Program sequency / Programm-Schritte<br />

Clear Readout/Write protection<br />

Readout/Write Protection löschen<br />

RAM upload<br />

RAM Upload<br />

Erasing Flash<br />

FLASH-Speicher löschen<br />

Programming file into flash<br />

Datei in den FLASH-Speicher programmieren<br />

Build checksum (CRC)<br />

Checksumme bilden<br />

Compare checksum with<br />

Checksumme vergleichen mit einem festen Wert<br />

Write dword (32 bit) at address<br />

Ein dword an Adresse schreiben<br />

Write User serial number into flash (USN)<br />

Automatisch generierte Seriennummer schreiben (USN)<br />

Increment USN-number after successful writing<br />

USN-Nummer Inkrementieren nach erfolgreichem Schreiben<br />

Write USN into logfile<br />

USN in log Datei speichern<br />

Reset target<br />

Target reseten<br />

Start RS232 Terminal<br />

RS232-Terminalprogramm starten<br />

Exit <strong>FLASHit</strong> after upload sequence<br />

<strong>FLASHit</strong> beenden<br />

Set Readout/write Protection<br />

Setzen der Readout/Write Protection<br />

Program setting<br />

Defines SECTOR- or CHIP- NO-erase before programming<br />

Definition des Lösch-Modus<br />

Stops and ask user before sector erase<br />

Abfrage ob der Anwender Änderungen durchführen will<br />

Calculates a 32 bit add up Checksum after download<br />

Als Prüfsumme wird die 32bit Summe aller Bytes verwendet<br />

Calculates a CRC16 checksum after download<br />

Als Prüfsumme wird die CRC16-Methode verwendet<br />

Compares Checksum with value<br />

Definiert den Vergleichswert der Prüfsumme<br />

Generates a software reset after successful programming<br />

Definiert die Reset-Methode Software-Reset<br />

Generates a hardware reset after successful programming<br />

Definiert die Reset-Methode Hardware-Reset<br />

Erases sector at address<br />

Definiert den Sektor mit der Adresse zum Löschen<br />

Writes a dword at address x<br />

Schreibt ein 32bit Wert, an die Adresse x<br />

Program control<br />

Exits <strong>FLASHit</strong> after successfull program sequence<br />

Beendet <strong>FLASHit</strong> nach erfolgreicher Sequenz<br />

Exits <strong>FLASHit</strong> allways after program sequence<br />

Bendet <strong>FLASHit</strong> in jedem Fall. Bei Fehler siehe Returncode<br />

Starts automaticaly program sequence<br />

<strong>FLASHit</strong> startet automatisch die Sequenz<br />

Path to work directory (ini, result)<br />

Pfad zur ini-, result, Datei<br />

0p<br />

0r<br />

SEQUENCE=0p<br />

SEQUENCE=0r<br />

1 SEQUENCE=1<br />

2 SEQUENCE=1;2;6;8<br />

3a<br />

3b<br />

SEQUENCE=1;2;3a;8<br />

SEQUENCE=1;2;3a;3b;8<br />

4 SEQUENCE=4;8<br />

5a<br />

5b<br />

5c<br />

SEQUENCE=1;2;5a;8<br />

SEQUENCE=1;2;5a;5b;8<br />

SEQUENCE=1;2;5a;5b;5c;8<br />

6 SEQUENCE=1;2;6;8<br />

7 SEQUENCE=1;2;7<br />

8 SEQUENCE=1;2;6;8<br />

sp<br />

SECTOR, CHIP, NO<br />

0, 1<br />

Fullpath<br />

SEQUNCE=0p;1;2;sp<br />

ERASE-MODE=SECTOR<br />

AskUseBeforeErase=0<br />

AskUseBeforeErase=1<br />

CHECKSUM=ADD<br />

CHECKSUM=CRC16<br />

CMPCHK=0x002345<br />

SOFTRESET<br />

HARDRESET<br />

AutoEraseSec=0x08007FF0<br />

AutoWriteWord=<br />

0x08007FF0,0x12345678<br />

EXIT<br />

RETURN<br />

AUTOSTART<br />

WORK_DIR=j:\ini<br />

WORK_DIR="c:\program<br />

files\flashit"<br />

11-08 Seite 31 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

7.4 Sourcen der Prüfsummen-Funktion<br />

ADD32 (Add Bytes)<br />

unsigned int ChecksumADD32( unsigned long ulA1, unsigned long ulA2,<br />

unsigned long ulA3, unsigned long ulA4 )<br />

{<br />

unsigned int uiChecksumADD32 = 0;<br />

unsigned long ulAddress;<br />

// address range<br />

for (ulAddress = ulA1; ulAddress >=1;<br />

ucData >>=1;<br />

}<br />

}<br />

return( uiCRC6 );<br />

}<br />

11-08 Seite 32 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

7.5 Reset- und Bootstrap-Signale<br />

Reset- und Bootstrap-Signal auf der COM-Schnittstelle Signal nach der Schaltung in 7.6<br />

7.6 Reset- und Bootstrap-Interface<br />

Prinzipschaltung (!) zur Anpassung Ihrer Hardware an das Reset-Konzept von <strong>FLASHit</strong><br />

Das Reset- und Bootstrap-Interface kann komplett<br />

aufgebaut bei hse-electronics erworben werden.<br />

Alle Änderungen vorbehalten!<br />

Keine Gewähr auf Vollständigkeit!<br />

11-08 Seite 33 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

8 HEXit das HEX-File Analyse-Tool<br />

HEXit das universelle Tool zum Analysieren und Bearbeiten von<br />

Intel Hex-, Motorola S-Record- und Binär-Dateien<br />

Die Situation ist nicht selten, dass<br />

nach dem Compiler-Durchlauf<br />

keine Fehler ausgegeben werden<br />

und auch der Debugger sich<br />

nicht beschwert. Auf dem<br />

Zielsystem jedoch funktioniert<br />

nichts mehr.<br />

Um solchen Problemen auf den<br />

Grund zu gehen, analysiert Hexit<br />

die Hex- oder Binärdatei auf<br />

Speicher-Belegung<br />

Adressverteilung<br />

Verteilung von Codes/-Daten<br />

mehrfach belegte Adressen.<br />

Das Ergebnis wird grafisch<br />

dargestellt. So lassen sich<br />

Konflikte schnell erkennen.<br />

Im eingangs genannten<br />

Problem-Beispiel könnte sich<br />

z.B. herausstellen, dass der<br />

Reset-Vektor nicht belegt<br />

worden ist, oder dass der<br />

eingestellte Adressbereich<br />

nicht dem Hardware-Design<br />

entspricht. mehr…<br />

HEXit Features:<br />

Formatwandlung von Intel Hex-, Motorola S-Record- und Binär-Dateien in das jeweils andere Format<br />

Prüfsummenbildung über Hex/Bin-Dateien<br />

Prüfsumme in die geprüfte Datei schreiben<br />

Splitten von Hex/Bin-Dateien z.B. zur Anpassung an den internen/externen Flashspeicher einer MCU<br />

Linken mehrerer Intel Hex-, Motorola S-Record- und Binär-Dateien<br />

Datengenerator zur Erzeugung beliebiger Zahlen, Zahlenrampen oder Zufallszahlen<br />

C-Include-Wandler zum Einbinden von Binär-Dateien in C-Sourcen<br />

Grafische Analyse, von Intel Hex-, Motorola S-Record- oder Binär-Dateien auf:<br />

Speicherbelegung und mehrfach belegte Adressen<br />

Verteilung von Adress- und Programmcodes/Daten<br />

Datenstrukturen (durch Zuordnung der einzelnen Byte-Werte in Farb-Werte)<br />

Filter ermöglichen eine übersichtliche grafische Darstellung aller Daten<br />

Histogramm-Darstellung<br />

Batch Betrieb zur Steuerung der HEXit-Funktionen über Batch-Anweisungen<br />

Windows-Versionen bis Windows 7 werden unterstützt<br />

Bestellen<br />

HEXit können Sie direkt bei hse-electronics oder bei einem unserer Vertriebspartner bestellen.<br />

Weitere Informationen und Demo-Versionen erhalten Sie auf unserer Website: http://www.hse-electronics.de.<br />

11-08 Seite 34 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx


<strong>FLASHit</strong> 9- <strong>NXP</strong> <strong>ARM</strong> <strong>Cortex</strong>-<strong>M0</strong>/<strong>M3</strong>, <strong>ARM</strong>7 <strong>Manual</strong><br />

9 Project Engineering<br />

Wenn der Projektumfang die Grenzen der eigenen Kapazität sprengt,<br />

dann heißt die Lösung hse-electronics<br />

Das bieten wir:<br />

Komplett-Entwicklung durch hse-electronics:<br />

In Zusammenarbeit mit Ihnen wird ein Projekt-Konzept entwickelt.<br />

Wir übernehmen dann je nach Wunsch die weitere Bearbeitung wie:<br />

Analyse vorhandener Ressourcen (z.B. Soft-und Hardware)<br />

Erstellung des Feinkonzeptes (auf Wunsch nach dem „V-Modell“)<br />

Planung und Entwicklung der Hardware (Aufbau von Prototypen und Entflechtung von Platinen)<br />

Konzeption und Realisierung der Software unter Berücksichtigung der „Misra-Regeln“<br />

Entwurf und Umsetzung von Testmethoden<br />

Unterstützung bei der Zertifizierung des Projektes<br />

Fundierte Kenntnisse:<br />

Hardwarenahe Programmierung von 8-16-32-Bit-Microcontrollern.<br />

Programmiersprachen C, C++, Assembler<br />

Windows-Programmierung<br />

Umgang mit den gängigen C und Assembler-Compilern von „Tasking“, „Keil“ und „Codegear (Borland)“.<br />

Unterstützung bei der Zertifizierung von Industriebussystemen, wie z.B. CANopen, DeviceNet<br />

Konzeption und Erstellung von Prototypen (Leiterplattenentflechtung, Auswahl der Bauelemente….)<br />

Know-How-Transfer:<br />

In Kommunikation mit Ihrem Entwicklerteam schieben wir Projekte, oder auch nur einzelne Entwicklungsschritte, an,<br />

schulen und beraten nach Bedarf.<br />

Realisierung auch vor Ort:<br />

Wir übernehmen die verantwortliche Durchführung eines Projektes bei Ihnen im Haus und integrieren ihre<br />

Entwicklungsressourcen in das Projekt.<br />

Support:<br />

Natürlich stehen wir über die Entwicklungsphase hinaus stets tatkräftig zur Verfügung: Von der telefonischen Anfrage,<br />

bis zur gezielten Weiterentwicklung bereits bestehender Systeme, ist eine kontinuierliche und kompetente Betreuung<br />

sichergestellt.<br />

Eine kleine Auswahl von realisierten Projekten des hse-electronics-Teams können auf unserer Website einsehen<br />

werden. mehr…<br />

11-08 Seite 35 2011-08-d-flashit-manual-<strong>NXP</strong>-04.docx

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!