Ich habe jetzt mal ausprobiert, in wie weit man mit Linux auf den XMC2Go
zugreifen kann. Segger bietet ja unter
http://www.segger.com/jlink-software.html ja eine CLI Software für Linux
an. Ich habe die .tgz 32 bit Software ausgewählt. Die Eingabe der
Seriennummer umgeht man, in dem man "I do not have a serial number
because I own an eval board with J-Link on-board. How can I download
J-Link software for it?" auswählt.
Laut README.txt im Archiv muss man die Datei "99-jlink.rules" nach
/etc/udev/rules.d/ kopieren. Neustart...
Jetzt kann man mit JLinkExe auf den XMC2Go zugreifen.
1
klaus@LittlX:~/JLink_Linux_V480h_i386$ ./JLinkExe
2
SEGGER J-Link Commander V4.80h ('?' for help)
3
Compiled Feb 28 2014 21:50:35
4
DLL version V4.80h, compiled Feb 28 2014 21:50:32
5
Firmware: J-Link Lite-XMC4200 Rev.1 compiled Jan 10 2014 20:31:33
Info: FPUnit: 4 code (BP) slots and 0 literal slots
9
J-Link>erase
10
Erasing device (Unspecified)...
11
Erasing done.
12
J-Link>g
Das Geblinke geht munter weiter... oder missverstehe ich "erase"? Das
"device" Kommando vor "erase" scheint wichtig zu sein, ohne wird erase
nicht angenommen.
Die Seite http://www.segger.com/jlink-flash-download.html Abschnitt
"Download into flash memory for development purposes" am Ende der Seite
beschreibt, wie man mit JLinkExe flashen kann. Leider scheint dazu ein
funktionierendes Reset-Kommando nötig zu sein. Ich habe es jetzt mal
ohne probiert:
1
J-Link>loadbin xmc2go.bin 0x10001000
2
Loading binary file... [xmc2go.bin]
3
Writing bin data into target memory @ 0x10001000.
4
J-Link>g
5
J-Link>verifybin xmc2go.bin 0x10001000
6
Loading binary file xmc2go.bin
7
Reading 1472 bytes data from target memory @ 0x10001000.
8
Verify failed @ address 0x10001098.
9
Expected C0 read 40J-Link>g
Obwohl eine Fehelmeldung kommt, blinkt es nach wie vor. Entweder wird
gar nichts geflashed oder es liegt ein anderes Problem vor. Das binary
xmc2go.bin habe ich aus dem XMC2Go_Testprogram_V1.1.elf mittels
Dann mache ich mal mit meinem Monolog weiter: Also, mit DAVE geht
flashen und Debuggen. Unter Linux nach wie vor kein Erfolg. Erase und
loadbin bringen keine Fehlermeldung, verändern aber auch nicht den Flash
Inhalt. Habe jetzt mal Segger angeschrieben.
"device" (als Befehl oder Kommandozeilenoption --device) ist für
JLinkExe notwendig und gibt den µC-Typen an.
device xmc1100-64 müsste es beim XMC2Go sein.
Hi Klaus,
also, ich steige mal in den "Monolog" (inzwischen sind ja auch andere
dabei) ein...
1) Der J-Link Commander muss das Device kennen, damit er die
Flash-Programmierung durchführen kann. "SW-DP" ist kein gültiger
Device-Name...
Eine Liste von gültigen Device-Namen findest Du hier:
http://www.segger.com/jlink_supported_devices.html
2) Die Infineon XMC-Serie ist etwas "speziell", besonders was Reset ("r"
Kommando) angeht. Damit dieser funktioniert, muss ebenfalls das Device
bekannt sein.
3) Auf dem XMC 2Go ist meines Wissens nach ein ein XMC1100 mit 64KB
Flash verbaut.
Korrektes Device wäre also "XMC1100-0064"
Wir (SEGGER) empfehlen aber generell, dem J-Link schon beim Connect das
Device mitzuteilen.
Demnach sollte Dein Aufruf für den J-Link Commander, wie folgt aussehen:
./JLinkExe -device XMC1100-0064 -if SWD -speed 4000
Funktionieren nun:
Reset ("r")
loadbin
erase
?
Kurzes Feedback wäre nett.
Gruß,
Alex
SEGGER - Alex schrieb:> Wir (SEGGER) empfehlen aber generell, dem J-Link schon beim Connect das
Hi Alex,
schoen dass Du hier hilfst. So bin ich darauf aufmerksam geworden, dass
ihr Manuals anbietet um freie Software fuer das JLink zu erstellen.
Respekt!
Nun spiele ich mit dem Gedanken, mir ein JLink zuzulegen, um per JTAG zu
programmieren und vielleicht mal etwas zu debuggen. Ich brauch normal
keinen Debugger ausser meinem Hirn ;-) Folglich hab ich mich mit der
Thematik noch nicht auseinandergesetzt.
Meine Vorgaben sind allerdings recht strikt:
Auf mein System (Gentoo Linux, 64bit) kommt nichts vorkompiliertes, d.h.
Source Code und bauen oder es kommt NICHT drauf. Ich installier keinen
Licence key und tipp keine Aktivierungscodes oder eine Seriennummer ein.
Wenn ich schon etwas ehrlich kaufe, dann will ich 'ne Leistung dafuer,
nicht Pflichten und Kryptospielchen.
Ich brauche keine IDE, Kommandozeile reicht.
Targets: ARM, sonst nichts.
Nun variiert die Preisspanne der JLink in eurem Webshop beachtlich. Ich
denke der JLink BASE waere die richtig Wahl fuer mich?
Mit der Software bin ich vermutlich (bei meinen Vorgaben) bei OpenOCD
richtig!? Und das JLink BASE braucht dann nicht doch wieder irgendwo
eine Seriennummer, einen Aktivierungscode oder aehnlich im Protokoll
versteckt?
Hallo Alex,
SEGGER - Alex schrieb:> ./JLinkExe -device XMC1100-0064 -if SWD -speed 4000>> Funktionieren nun:> Reset ("r")> loadbin> erase
ja, das wars. Flashen, Reset, Erase usw. funktioniert. Super, Danke!
Es ist schon toll, wenn man so unkompliziert Support bekommt. Ich war
(bis jetzt) kein JLink Benutzer und bin erst durch das XMC2Go darauf
gekommen. Funktioniert gut (wenn man weiß, wie). Es ist schon toll, dass
ihr auch Linux Support liefert. Das ist nicht selbstverständlich!
Danke, Klaus
Welche Adresse hast du den bei dem Befehl loadbin angegeben? Wenn ich 0
angebe scheint er dies zu tun und meldet OK, jedoch geht danach nichts
mehr.
Stecke ich es wieder aus/ein dann ist wieder die original Anwendung
drauf.
irgendwie wars dann doch zu viel stress den xmc zum laufen zu bringen.
man kann den sensor auch abbrechen und per i2c zb mit einem arduino due
interfacen. Hier ein rudimentaerer sketch:
https://github.com/Roboy/MagneticSensor3D