Forum: Mikrocontroller und Digitale Elektronik MSP430: IAR Kickstart + Olimex USB-JTAG-Tiny Adapter


von Blackbird (Gast)


Lesenswert?

Hallo,


hier habe ich das OLIMEX MSP430F1611-Development-Board mit dem 
USB-JTAG-Tiny-Adapter, ebenfalls von OLIMEX. Verwenden will ich die EW 
IAR Kickstart version für den MSP430.

Leider bekomme ich die Kickstart-version nicht dazu, den 
USB-Jtag-Adapter zu erkennen. Mit den passenden Treibern von OLIMEX 
(1.010 bzw. 1.012) mit Beschreibung und den Installationsanleitungen 
u.a. von TI (z.B. slau138g.pdf) habe ich auch schon mehrfach versucht, 
ohne Ergebnis.
Im Debug-Mode wird der Adapter nicht erkannt.

Hat irgendeiner diese Kombination oder verwendet jemand die EW IAR 
Kickstart-Version mit dem OLIMEX-USB-JTAG-Tiny-Adapter?

Blackbird

von George (Gast)


Lesenswert?

Habe selben diesen Adapter erfogreich eingebunden:

1. Treiber installieren
2. mitgelieferte dll's in das ...\IAR\MSP430\bin Verzeichnis kopieren
3. im Menü projects-options den FET-Debugger anwählen und TI-USB-FET 
auswählen!!!

Beim ersten Start kommt eventuell der Hinweis das die Firmware nicht 
aktuell ist. Die Frage ob aktualisiert werden soll mit ja beantworten. 
Damit wird die aktuelle Firmware welche u.a. vorher in den bin-Ordner 
kopiert wurde auf den Adapter gebrannt.

Link zu den Treibern und der Beschreibung:

http://elmicro.com/files/olimex/olimex_msp430_usb_drivers_1010.zip

Viel Spaß!

von Blackbird (Gast)


Lesenswert?

Wow! Es funktioniert!
George, besten Dank, Dein Posting hat mir sehr geholfen.

Es waren meine Fehler und meine Interpretation der verschiedenen 
Anleitungen, die zu diesem Problem geführt haben:
Ich hatte nicht nur die DLLs, sondern alles kopiert. Und mich gewundert, 
daß das Subdir WinXP heißt und nicht Driver (EW IAR).

Jetzt habe ich (nach der Installation von IAR, dem Auspacken der Treiber 
und der USB-Adapter-Installation) NUR die OLIMEX-Treiber-DLLs des 
MSP430-USB-1-010 -Verzeichnisses UND die eine DLL (FTD2XX.dll) des 
Driver-Verzeichnisses gemeinsam in das ...\430\bin -Verzeichnis kopiert.

Nach dem Starten von IAR war alles da.

Eine Frage bleibt aber noch:
Ich verwende das OLIMEX-MSP430F1611-Board, IAR kennt aber diesen 
Prozessor nicht in der msp430.h. Der MSP430F169 hat ja die gleiche 
Hardware, kann ich mit diesem Header arbeiten?
Gibt es die Haeder-Files für den F1611 oder passen die Header-Files 
msp430x16x.h und io430x16x.h vom F169?


Blackbird

von Christian R. (supachris)


Lesenswert?

Die msp430x16x.h ist für die F168, F169, F1611, F1612, passt also.

von Blackbird (Gast)


Lesenswert?

Es gibt Unterschiede bezüglich der Flash- und RAM-Größe. Gefunden habe 
ich noch nichts in den beiden Header-Files.
Wo stellt man das ein?

Blackbird

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nicht in der Headerdatei, sondern über die Projektverwaltung. Dort gibt 
es die Einstellung, welches Target verwendet werden soll.

Im Workspace-Fenster Rechtsklick auf den Projektnamen, dann "Options" 
auswählen.

Im nun erscheinenden Fenster "Options for node <projektname>" im Baum 
"Category" "General Options" auswählen und rechts davon auf dem 
Karteireiter "Target" unter "Device" den gewünschten Prozessor 
auswählten.

Et voilà!

von Christian R. (supachris)


Lesenswert?

Das interessiert nur den Linker. Anhand der Einstellung in den 
Projektoptionen wird das passende Linker File ausgewählt und der Linker 
verteilt dann den Code entsprechend in die Sektionen.

von Blackbird (Gast)


Lesenswert?

@Rufus,
Das habe ich schon gemacht, aber dann kommt beim Linken die 
Fehlermeldung "Fatal Error[Pe035]: #error directive: "Failed to match a 
default incude file" D:\Program Files\IAR Systems\Embedded Workbench 
4.0\430\INC\msp430.h 141 ", weil eben diese Header-Datei für den F1611 
nicht vorhanden ist.

Wähle ich aber als Device den F169 aus (den gibt es im msp430.h, den 
F1611 jedoch nicht), dann kommt beim download in den Controller die 
Warnung "Chosen derivate (MSP430F169) and actual hardware (MSP430F1611) 
do not match".
Die kann ich ignorieren und dann lädt er auch und debuggen geht auch. 
Aber irgendwann komme ich an die Grenzen des RAMs oder des Flash und 
dann hätte ich schon gerne die passenden Einstellungen.


@Christian, wo finde ich die Linker-Files?


Blackbird

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mit der Kickstart-Version 3.42a kann die Headerdatei "msp430x16x.h" 
verwendet werden und an der von mir beschriebenen Stelle der F1611 
eingestellt werden, ohne daß es die beschriebenen Fehler gibt.

(Habe in einem Beispielprojekt eben jenes statt des bislang von mir 
verwendeten F157 eingestellt und es lässt sich ohne Genöle übersetzen - 
den Download/das Debuggen kann ich aus verständlichen Gründen nicht 
ausprobieren)

von Christian R. (supachris)


Lesenswert?

Man muss nur die msp430x16x.h includieren, dann klappt das. Wenn man wie 
oben beschrieben das Projekt für den MSP430F1611 einrichtet, sucht der 
Linker das passende Script in:

C:\Programme\IAR Systems\Embedded Workbench 4.0\430\config

heraus. Das ist für den 1611 auch da. Hab schon mehrfach Progs für den 
1611 mit der Kickstart gemacht, ging immer.

Allerdings nehme ich jetzt nur noch Eclipse + GCC.

von Blackbird (Gast)


Lesenswert?

Danke für eure Hinweise.

Habe mal nachgesehen und probiert:
Setze ich per Device-Setting den MSP430F169 wird der header 
"msp430x16x.h" vom header "msp430.h" includiert und nicht per Hand. Dann 
kommt diese Warnung beim Download, weil dieser header den F1611 nicht 
kennt.

Setze ich im Device-Setting den MSP430F1611 und includiere den 
"msp430x16x.h" von Hand, dann kommt die Warnung nicht mehr.
Weil das config-File für den F1611 vorhanden ist, wie Christian schrieb.

Nur eben nicht im globalen Header "msp430.h", aber dort kann ich es ja 
noch ergänzen.

@Christian, später will auch ich umsteigen auf eine komplette Tool Chain 
mit Ecplipse + GCC + GDB. Ecplipse + GCC tun schon, nur habe ich noch 
ein ähnliches Problem mit dem USB-JTAB-Adapter.
Wenn ich Zeit habe, werde ich es mal versuchen zu lösen.


Blackbird

von Christian R. (supachris)


Lesenswert?

Man muss ja auch die msp430x16x includieren, und nicht diese generelle. 
Wenn man nur die msp430.h includiert, geht der code nur im IAR zu 
kompilieren. In allen Beispielen von TI ist immer die richtige .h drin.

Geht denn der JTAG nicht mit dem gdb-proxy? Laut Olimex soll es ja gehn.

Welcher USB-Controller ist da überhaupt drin? Der Silabs oder der FTDI?

Vielleicht kann man das Teil ja mal nachbauen....der original TI 
Debugger ist ja noch aufwendiger...

von Blackbird (Gast)


Lesenswert?

<Man muss ja auch die msp430x16x includieren, ...>

Das habe ich jetzt auch gemacht.

<Welcher USB-Controller ist da überhaupt drin?>

SiLabs

<Geht denn der JTAG nicht mit dem gdb-proxy? Laut Olimex soll es ja 
gehn>

"Target Server open failed" ... "Could not initialize device interface" 
sagt mir GDB beim Launching.

Da habe ich aber noch nicht weiter gesucht, weil das eine MSP430-Projekt 
kleiner als 4k Code-Größe haben wird und für andere Entwickler nur 
vorbereitet werden soll. Deshalb bin ich erst einmal auf die 
Kickstart-Version von IAR ausgewichen; die Handhabung ist für die 
"Nicht-Software-Entwickler" besser geeignet. Wenn mehr Code produziert 
werden sollte, können sie immer noch auf die Vollversion von IAR 
umsteigen.

Für mich selber hatte ich CCE vorgesehen, parallel zur 
Kickstart-version.

Sobald Zeit dafür da ist, werde ich versuchen, den 
OLIMEX-USB-JTAG-Tiny-Adapter an CCE anzubinden.


Blackbird

von Christian R. (supachris)


Lesenswert?

Hast du denn die msp430.dll und alle zugehörigen Dateien auch ins bin 
Verzeichnis des mspgcc getan?

von Blackbird (Gast)


Lesenswert?

Nein ...
Was bin ich doch blöd ....

Hab' sie reinkopiert und schon funktioniert es!

Besten Dank nochmal für Deine Geduld.

Wenn ich "umsteige" von CCE (weil: max. Codegröße ist 8kByte) auf 
Eclipse + mspgcc, dann weiß ich wo ich suchen muß.


Blackbird

von Christian R. (supachris)


Lesenswert?

Klar, mittlerweile kenn ich die Sonnenfinsternis recht gut :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.