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
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ß!
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
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à!
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.
@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
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)
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.
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
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...
<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
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