|
||||||||||
C167 Tutorial -- Getting StartedWas wird für dieses Tutorial benötigt?
Anschluss des C167 Board an den RechnerDie Programmierung und Kommunikation zwischen C167 und dem PC erfolgt über die serielle Schnittstelle.Es ist darauf zu Achten, das das serielle Kabel auf der Rechnerseite an COM-Port 0 angeschlossen ist ( bei neueren Flashtool Versionen ist es egal an welcher Schnittstelle es angeschlossen wird) . Des Weiteren muss auf Seiten des Controllerboards das Kabel um unteren COM-Port angeschlossen werden. FlashToolMit Hilfe dieses Werzeuges werden die Compilierten Programme über dasserielle Kabel in den Flashspeicher des Microcontrollers kopiert. Nur somit ist es möglich unsere Software auf diesen Controller zu spielen. Es muss das FlashTool 3 verwendet werden (nicht die Version 16W). Zu Beginn müssen wir eine Verbindung zum Controller herstellen, dabei muss die vorhandene Hardware ausgewählt werden. ![]() Bevor wir auf Connect klicken, müssen wir den sogenannten Bootstrap aktivieren. Dies geschieht über folgende Schritte:
![]() Konnte sich das Programm mit dem Controller-Board richtig verbinden, so wird automatisch bei den FlashTools in den 2 Tab gewechselt (FlashInfo) ![]() Nun muss der Speicher gelöscht werden, dazu wird auf EraseAll geklickt, im weiteren Schritt wird der Download-Tab aktiviert ![]() Mit Hilfe des Button Open wird das entssprechende Hex-File, welches in den Controller kopiert werden soll ausgew¨ahlt. Das Hexfile ist eine binärdatei, welches nur der Controller verarbeiten kann, dies ist unser compiliertes Programm. BeispielDas folgende Beispiel soll die Programmierung darstellen. Der Controller soll bei Verbindung mittels der Seriellen Schnittstelle derGegenstelle ein ”HalloWelt“ schicken. Desweitern ist gefordert das bei einem ankommenden Zeichen (vom z.b. PC gesendet) der Controller den Hex-Wert zurücksendet. Wird das Zeichen ”1“ empfangen, so soll der Controller mit ”Hallo“ antworten. Bei jedem empfangenen Zeichen soll der Zustand der LED D3 (die mittlere LED) geändert werden. Als Entwicklungsumgebung wird Keil Vision 2 verwendet. IDEs wie Visual Studio und ähnliches sind dazu direkt nicht geeignet, da die Anbindung zu den Entsprechenden Linkern, Compiler und Librarys nur teilweise möglich ist. ![]() Um ein neues Projekt anzulegen muss auf Project und danach auf New Project geklickt werden. Dabei wird die Projektdatei angelegt, der wir einen Namen und Ort angeben müssen. In diesem Fall ”test“. Im folgenden Schritt geben wir unseren Controller an, es wird der Infineon - C167CR-LM verwendet. ![]() Nach der OK-Bestätigung, erscheint ein Fenster, welches mit Ja bestätigt werden muss. ![]() Hierbei werden spezielle Parameter und Einstellungen unseres Controllers in das Projektverzeichnis kopiert. Wenn dies nicht erfolgt, kann man nicht weiterarbeiten. Im jetzigen Schritt, wird angegeben, dass ein HEX-File erzeugt wird. Wie bereits erwähnt, wäre dies die Datei, die der Microcontroller ausführen kann. Dazu klicken wir im Linken Bereich mit der Rechten Maus Taste auf Target1 und wählen Options for Target. ![]() Dabei öffnet sich ein Fenster ![]() wir müssen uns nun durch alle Tabs durcharbeiten und prüfen, ob die Einstellungen gesetzt sind, wie auf den folgenden Bildern dargestellt. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Nun müussen wir ein vorhandenes Quellcodefile importieren. Dazu klicken wir im linken Bereich auf Target1, so dass sich die Baumstruktur ¨offnet. Nun klicken wir mit der rechten Taste auf Source Group1 und sehen dabei folgendes Fenster: ![]() önach dem Klick auf Add Files to Group Source Group1 können wir eine C Datei auswählen. Diese wird dann in das Projekt hinein genommen. Achtung, das Fenster bleibt so lange geöffnet, bis auf Close geklickt wurde (im gegensatz zu allen anderen Dialogen) Mögliche FehlerquellenStart167.A66Bei allen Tests hat sich gezeigt, dass die mitgelieferte Start167.A66 von Keil nicht korrekt arbeitet. Dies hat mit diverse Speichertimings,Speicherconfigurationen und Peripherie zu tun. Es ist deshalb grundsätzlich darauf zu achten, dass die von Phytec modifizierte Datei verwendet wird. Speicher Es ist darauf zu achten, dass bei den Options for Target im Reiter Target unter External Memory die richtigen Werte eingetragen sind. Es hat wie folgt auszusehen ![]() L166: WARNING 22 (CLASS RANGE NOT GIVEN) Tritt dieser Fehler auf, so sieht dies meistens wie folgt aus *** WARNING 22: CLASS RANGE NOT GIVEN IN INVOCATION LINE CLASS: NCONST *** WARNING 22: CLASS RANGE NOT GIVEN IN INVOCATION LINE CLASS: NCODE *** WARNING 22: CLASS RANGE NOT GIVEN IN INVOCATION LINE CLASS: NDATA so muss man unter Options for Target im Reiter L166 Locate bei User Classes folgendes NDATA(0x008000-0x00BFFF), NCODE(0x000000-0x003FFF), NCONST(0x000000-0x003FFF) eintragen. Falls nicht alle 3 Klassen im Warning auftreten, so muss man nur die angezeigten eintragen. QuellcodedateiDie Quellcodedatei ist hier verfügbar download |
||||||||||
![]() |
||||||||||
![]() |
||||||||||