Hallo!
Aufgrund der relativ großen Verbreitung des Evalbots im Forum hoffe ich
auf Hilfe:
Ich würde gerne den ICDI (onboard JTAG) deaktivieren und über den
separaten 50mil-Header (J4) mit meinem Segger J-Link EDU programmieren.
Dazu habe ich einen Adapter vom 20-poligen ARM-JTAG-Stecker auf die
kleine 10-polige Version auf dem Evalbot gebaut. Scheinbar ist dieser
auch "üblich".
Ich habe verbunden
VTref
GND
TDO
TDI
TMS
TCK
nTRST (also Target-Reset!)
nicht verbunden sind
RTCK
RESET
DBGRQ
5V-Supply
Leider kann ich den uC nicht programmieren. Weiß jemand, ob ich das ICDI
irgendwie zusätzlich lahmlegen muss? Reicht es generell den System-Reset
zu verwenden? Bei den anderen Schaltungen ist natürlich der normale
Reset mit dran, aber der ist am Stecker nicht vorgesehen.
Doku von Segger:
http://www.segger.com/cms/admin/uploads/productDocs/UM08001_JLinkARM.pdf
Abschnitt 8.1 ist der normale 20-polige JTAG
Abschnitt 8.4 ist der normale 10-polige JTAG
Doku Evalbot:
http://focus.ti.com/lit/ug/spmu167/spmu167.pdf
Seite 20 unten links ist der Stecker
Vielen Dank!
Grüße
Robert
Hi Robert, das Evalbot ist doch eine ziemlich komplexe Kiste.
Die meisten hier im Forum sind sicherlich froh, wenn sie es überhaupt
mit dem ICD-USB schaffen den uC anzusprechen.
Jemanden zu finden, der sich mit deinem Externen IF UND dem Evalbozt
auskennt ist nicht sonderlich wahrscheinlich.
Was versprichst du dir denn von dem externen Link, was das ICD nicht
kann?
Hst du dir schon mal den Evalbot Schaltplan (ist von TI downloadbar) zu
Gemüte geführt?
so long
Remo
Hi Remo,
klar hab ich mir das Schematic schon angesehen. - Ist nämlich der zweite
Link in meinem Post.
Im Endeffekt habe ich es hinbekommen. Es lag an mehreren Dingen, die ich
leider nicht einzeln austesten konnte weil ich keine funktionierende
Referenz hatte um zu schauen ob es am Evalbot oder am Adapter lag:
- an den NRST muss auch der Reset vom J-Link dran
- ein Pullup an TDO hilft
- die "Dioden" D6 und D7 müssen bestückt werden um den Bot über den
Stecker "USB-Device" versorgen zu können und gleichzeitig das ICDI
ausgeschaltet zu lassen. Ab Werk ist meist D6 gebrückt, was dazu führt
dass der Bot nur über ICDI mit Strom versorgt werden kann und das ICDI
immer versorgt wird. Gewarnt wird vor der Modifikation da der
Anlaufstrom der Motoren wohl dafür sorgen kann dass die Spannung vom USB
aufgrund der Dioden zu stark einbrechen kann (ich messe nach den
Schottkys die ich genommen habe noch 4,52V - unter Last hab ich es nicht
getestet da ich die Motoren eh nicht verwende.
Warum ich das ganze mit dem L-Link betreiben will? - Weil der
Flash-Vorgang mit dem ICDI schnarch-langsam ist. Zum Löschen braucht es
ca. 20s, zum Schreiben weitere 20s. Der Takt wird auf maximal 800kHz
gestellt (aufgrund des 16MHz Quarzes?). Zudem ist uVision während des
Programmierens nicht "responsive" (keine Rückmeldung von Applikation),
ein Verhalten, was ich vorher auch nicht kannte und irgendwie scheinbar
mit dem Target zusammen hängt (oder der langen Programmierdauer).
Einen 128kB großen STM32F107RBT6 flashe ich hingegen mit dem J-Link mit
10MHz innerhalb von ca. 2-3s! Bedauerlicherweise scheint sich der Bot
aber mit dem J-Link auch nicht schneller als mit dem ICDI flashen zu
lassen (auch insgesamt 40s - hab mitgezählt)... Der Takt wird scheinbar
auf 9,6MHz eingestellt.
Nebenbei: Ich empfinde den Evalbot als nicht so "komplex". Sicher, er
ist vollgestopft mit Features, aber jede einzelne Komponente für sich
ist schön einzeln verständlich. Lustig wird nur alles gleichzeitig
sinnvoll zu nutzen.
Grüße
Robert
Hi,
Robert, kannst du mal n Schaltplan von dem Adapter Posten?
Was du jetzt genau da machen musstest, das mit dem dioden bestücken habe
ich auch schon mal gelesen.
Hintergrund, Ich habe für meinen J-Link, Eclipse eingerichtet, und
wollte mir jetzt nicht die mühe machen das alles über das TI ICDI zu
machen, zumal
ich gerade nicht wüsste wo ich n GDB der für herbekomme außer vllt das
geht mit OpenOCD. Aber selbst das will ich mir nicht antun.
Danke
MfG
Tec
Hi Tec,
einen Schaltplan gibts nicht. Ich habe mir einfach ein Programmierkabel
gebastelt (100mil-Seite gecrimpt, 50mil-Seite gelötet). Die Kabel gibts
ja auch bei Farnell, Digikey & Co zu kaufen. Die Verbindungen sind
VCC <-> VTref
GND
TDO
TDI
TMS
TCK
nRST <-> Reset
Aus einer alten CF-Karte oder PCMCIA-Karte bekommt man gut die
50mil-Buchse. Zudem sind die mit einer Platine verlötet und eignen sich
dadurch mechanisch besser zum Anlöten von Kabeln als eine nackte Buchse.
Die Dioden die ich genommen habe sind MBRS140 im SMB Gehäuse. Die hatte
ich halt gerade da (1A, schon etwas üppig dimensioniert aber so hält
sich der Spannungsabfall auch unter Last in Grenzen).
Einfach den 0-Ohm von D6 entfernen (nen Klumpen Lötzinn um beide
Kontakte gleichzeitig zu lösen oder halt ne Zange) und dann die
Schottkys einlöten.
Grüße
Robert
@Tec: im Evalbot Schaltplan und in der Bestückungszeichnung sind die
beiden Dioden enthalten. Da kannst du die richtige Polarität der Dioden
nachsehen. Nur der Vollständigleit halber: Die Bestückungszeichnung
gehört zu einer älteren Version und stimmt nicht in allen Punkten mit
dem aktuellen Evalbot überein. Bei den Dioden ist sie aber zumindest
richtig.
Wenn man das USB Unterspannungsproblem vermeiden möchte, dann kann man
auch Stiftleisten auflöten und mit normalen Jumpern auswählen welche
Versorgungsrichtung man gerade haben möchte.
Auf der Embedded World in Nürnberg hatte TI auf dem Stand ein evalbot
mit den Dioden und eines ohne im Einsatz. Beide schienen problemlos zu
funktionieren. Weiss jemand ob das USBuntersopannungsproblem dazu führt,
dass das ganze Evalbot einen reset ausführt, oder ob nur die USB
Schnittstelle betroffen ist? Denn das gleichzeitige anfahren des Motors
und das Nutzen des USB Anschlusses ist ja ein eher unwahrscheinlicher
Betriebszustand, dann könnte man das ganze Problem ignorieren.
so long
Remo
HI
Danke, ich dachte du hattest ne Platine gemacht, da du was von nem
Pullup an
TDO sagtest, Ich dachte jetzt der wäre, auf dem Board an dem ICDI nicht
dran
Im Plan ist ja nur n Treiber drauf. Aber gut, werde das bei gelegenheit
mal Prüfen.
@Robert, Grundsätzlich finde ich die Idem mit dem Evalbot I-Net Radio
super.
Bei mir wird noch die Wecker Implementation wichtig sein. hab dazu aber
gerade keine Zeit.
MfG
Tec
@Tec:
Der TDO-Pullup ist eben auch nicht auf dem Board. Ich hatte den einfach
am 100-mil Stecker testweise in die Steckplätze von VTref und TDO
gesteckt.
Wecker im Sinne einer Eieruhr ist noch eine gute Idee für ein
Küchenradio.
Dazu sollten wir aber hier Beitrag "Projekt: Internetradio/mp3-Player mit TI Evalbot / ARM-WebRadio von Watterott"
weitermachen.
Grüße
Robert
Eine eigene Frage?
Dieser Thread ist über 15 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.