Forum: Mikrocontroller und Digitale Elektronik Flashen von ARM-Controllern via J-Link/J-Trace über Kommandozeile


von VH (Gast)


Lesenswert?

Hallo,

ich habe über die Entwicklungsumgebung IAR EWARM V6.3 ein 
Mikrocontrollerprogramm für Cortex-M3 Controller geschrieben und würde 
diese gerne mittels Kommandozeilenbefehl über JTAG flashen. 
Angeschlossen ist das ganze mittels JTAG über einen J-Link Debugger von 
Analog Devices. Momentan sieht das so aus, dass ich IAR öffnen muss und 
dann auf den Button "Download & Debug" klicken muss und dann über "Go" 
das Programm starte. Den Vorgang möchte ich aber über ein Skript 
automatisieren und finde leider keinerlei Hinweisse dazu über welche 
Kommandozeilenbefehle ich das bewerktstelligen kann.
Ich hoffe, dass jemand ein paar Tipps für mich hat. Bin schon sowohl 
SEGGER- als auch IAR-Dokumente durchgegangen, habe aber leider nichts 
dazu gefunden.

Gruß
VH

von Thomas W. (diddl)


Lesenswert?

Für den Jlink gibt es Tools. Zum flashen brauchst du glaub ich jFlash.

von VH (Gast)


Lesenswert?

Ja, aber ich möchte diese Tools über die Kommandozeile ansteuern, sprich 
dabei ein ELF-File laden und ausführen und DAZU finde ich eben keine bis 
kaum Infos..

von ArmAnfänger (Gast)


Lesenswert?

Das geht mit der Software "J-Link Commander" und dem Befehl "loadbin".

UNGEFÄHR so:

Jlink.exe < skript.txt

Inhalt der skript.txt:
power on
si 1
loadbin xxxxx.hex
r
g
qc

von gerhard (Gast)


Lesenswert?

hallo vh,
zuerst musst du dir in der workbench deinen code in einer dateiformat 
erezugen lasen, welches typischerweise zum flash benutzt wird (motorola 
oder intel-hex-datei):
options => output converter => generate additional output => output 
format auswählen.

wie schon erwähnt kannst du j-flash benutzen, welches auch über die 
kommandozeile steuerbar ist. um j-flash nutzen zu können, muss dei 
nj-link eine entpsrechende lizenz aufweisen.

alternativ kannst du auch openocd einsetzen. das ist ein 
open-source-tool welches meines wissens auch den j-link unterstützt.
infos zu openocd findest du u.a. unter:
http://sourceforge.net/projects/openocd/
hier ein link zu einem forum über openocd
https://forum.sparkfun.com/viewforum.php?f=18

gruss
gerhard

von ArmAnfänger (Gast)


Lesenswert?

ArmAnfänger schrieb:
> Jlink.exe < skript.txt

Sorry, das "<" muss auf eden Fall weg.

von gerhard (Gast)


Lesenswert?

@armanfänger
wusste gar nicht dass das flash programmieren über den j-link commander 
auch möglich ist, danke für den tip!
btw: mit loadbin kann nur eine binär-datei geladen werden!

gruss
gerhard

von VH (Gast)


Lesenswert?

Hallo ArmAnfänger

ArmAnfänger schrieb:
> Das geht mit der Software "J-Link Commander" und dem Befehl "loadbin".UNGEFÄHR 
so:Jlink.exe < skript.txtInhalt der skript.txt:power onsi 1loadbin xxxxx.hexrgqc

Danke für dein Posting.
Das ist ungefähr die Richtung mit der es klappen könnte.
Hab grad etwas rumprobiert, hab aber noch Probleme damit, dass ich einen 
AD mIDAS-Link verwende und der über den J-Link Commander anscheinend 
irgendeinen Grund zum meckern wegen dem Cortex-M3-Controller (ADUCM301) 
sieht. Über IAR klappt ja alles einwandfrei.
IAR 6.3 liefert mir ja als Ausgabe eine .out Datei. Muss ich diese 
unbedingt in ein .hex-File umwandeln für loadbin? Ich werd mal an dem 
"skript.txt" weiter rumdoktoren in der Hoffnung das es irgendwann 
klappt.

von gerhard (Gast)


Lesenswert?

>IAR 6.3 liefert mir ja als Ausgabe eine .out Datei. Muss ich diese
>unbedingt in ein .hex-File umwandeln für loadbin?
mit loadbin kann nur eine binär-datei geladen werden.
also beim output converter einfach binary einstellen und ggf. einen 
dateinamen eintragen.
>Ich werd mal an dem "skript.txt" weiter rumdoktoren in der Hoffnung das es 
>irgendwann klappt.
ich würde dir empfehlen statt "rumzudoktern" das manual des j-link zu 
studieren, kapitel J-Link Commander (Command line tool) ist sehr zu 
empfehlen wenn es um die bedienung/steuerung des j-link commander geht.

gruss
gerhard

von VH (Gast)


Lesenswert?

Andre Frage:
Kann ich durch eine Option bei IAR 6.31 anwählen, dass der Debugger ein 
Log-File mit den Command lines erstellt die er beim Klick auf "Download 
& Debug" ausführt? Für C-Compiler, Assembler und Linker gibt es ja die 
Option unter "List" > "Output list file" bzw. "Generate linker map file" 
- beim Debugger hab ich derartiges nicht gefunden. Gibt es da die 
Möglichkeit?

von gerhard (Gast)


Lesenswert?

>Kann ich durch eine Option bei IAR 6.31 anwählen, dass der Debugger ein
>Log-File mit den Command lines erstellt die er beim Klick auf "Download
>& Debug" ausführt?
options => Debugger => J-Link/J-Trace => Connection => Log communication

damit wird aber nur die koommunikation zw. c-spy und j-link geloggt.

gruss
gerhard

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.