Forum: Mikrocontroller und Digitale Elektronik SAM-ICE & Programmer's Notepad


von Ch D. (chrisu) Benutzerseite


Lesenswert?

Hi,
Ich habe bis jetzt immer für das at91sam7s256-ek board mit IAR-Workbench 
Programme geschrieben und dann mit dem IAR-debugger direkt 
übertragen(SAM-ICE).
Jetzt will ich aber GNUARM und Programmer's Notepad benutzen(compilen 
funzt schon..). Doch wie kann  ich jetzt mit dem SAM-ICE flashen? Ich 
habe schon viel gegoogelt aber kein simples cmdline-tool gefunden. Gibt 
es da sowas?
mfg chrisu

von mthomas (Gast)


Lesenswert?

Bei JLINK kann ich leider nicht direkt weiterhelfen aber mglw. dennoch 
nützlich:
OpenOCD unterstützt lt. Dokumentation JLINK als "interface", die 
Unterstützung muss allerdings einkompiliert sein. Keine Ahnung, ob das 
bei den verfügbaren Binärpaketen gemacht ist (baue OpenOCD immer selbst 
jedoch ohne JLINK Unterstützung).
SAM-ICE ist ein "kastriertes" JLINK speziell für Atmel AT91. OpenOCD 
kann als "Kommandozeilen-Flashtool" verwendet werden und damit auf als 
external tool in PN. Habe das selbst erfolgreich mit anderen Adaptern 
(auf FT2232-Basis) gemacht (PN ruft make mit Parameter program, 
program-target im Makefile enthält Aufruf von OpenOCD mit "passenden" 
Parametern).

von Karlheinz (Gast)


Lesenswert?

Zum Flashen verwende ich SAM-BA von ATMEL. Ist nicht das tollste Tool, 
aber erfüllt seinen Zweck.

von Ch D. (chrisu) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
Danke für die Antworten.

Karlheinz schrieb:
> Zum Flashen verwende ich SAM-BA von ATMEL. Ist nicht das tollste Tool,
> aber erfüllt seinen Zweck.

Also muss ich da "upload file" verwenden oder wie mach ich das mit 
SAM-BA?
Bei upload-file erwartet er dummerweise eine *.bin datei, mein GNUARM 
spuckt aber nur *.hex und *.elf aus. Ist das egal?

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Kann mir jemand einen Tip geben wie ich eine hex oder elf file mit 
sam-ba ins flash loade?

von Jürgen S. (starblue) Benutzerseite


Lesenswert?

Normalerweise wird bei den GNU-Tools objcopy benutzt, um bin/hex/srec 
auszugeben. Evtl. kannst du das Makefile leicht umstricken, so dass bin 
herauskommt.

Evtl. kann objcopy das auch konvertieren.

von Karlheinz (Gast)


Lesenswert?

Die Hex-Datei muß vorher in eine Binärdatei konvertiert werden. Einfach 
mal im Netz nach einen HexToBin-Konverter suchen.

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Danke, das konvertieren klappt... aber insgesamt ist das doch schon ein 
bisschen umständlich. Erstmal mit Notepad schreiben und Compilieren, 
dann hexTobin converten, dann mit SAM-BA flashen..
Ich bleib bei free Version von IAR.
mfg chrisu

von Karlheinz (Gast)


Lesenswert?

Vielleicht kommt die EVA-Version von Keil für dich in Frage. 32 KByte 
Zielcode ist schon was. Und du kannst direkt aus der Umgebung mit dem 
SAM-ICE flashen.

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Ja, hört sich gut an, aber die läuft nach ein paar Monaten ab und dann 
muss man die neu installieren...

>The tools are time-limited and cease to run a few months after installation.
>If your tools have expired, install the latest release of the Evaluation
>Tools to reset the expiration date

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Hi,
Ich bin es wieder. Ich habe es jetzt geschafft OpenOCD so einzurichten 
das ich damit flashen kann. Ich wollte jetzt eine kleine Batch Datei 
schreiben womit ich flashen kann(manuell funktioniert es ja schon). Es 
muss OpenOCD geöffnet werden, dann muss per telnet (127.0.0.1 4444) das 
flash script gestartet werden(script flash.script).
So hab ich es versucht:
1
start C:\Programme\OpenOCD\0.3.1\bin\OpenOCD.exe
2
start C:\WINDOWS\I386\telnet 127.0.0.1 4444
3
script flash.script

jetzt wird leider das flash script in telnet nicht ausgeführt. Wie macht 
man das richtig? sollte ja eigentlich nicht so schwierig sein da es 
manuell(alles per cmd öffnen...) ja super klappt.

vielen dank schonmal,
mfg chrisu

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Ansatz:
openocd -f flash.script

Ansonsten kann man auch nur mit Skripten aus den OpenOCD-Bordmitteln 
ausprobieren:
1
openocd -f interface/jlink.cfg -f target/stm32.cfg -c init -c "reset halt" -c "flash write_image erase project.elf" -c "verify_image project.elf" -c "reset run" -c shutdown

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Hi,
danke, jetzt hab ich es endlich geschafft. Ich kann nun den at91sam7s256 
mit Programmer's notepad Programmieren und flashen.
mfg chrisu

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.