www.mikrocontroller.net

Forum: Compiler & IDEs sdk4arm OpenOCD Flash Problem


Autor: Andi D. (kid-d)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen !

Erstmal zu meiner Toolchain und Hardware:

sdk4arm von Amontec (Eclipse etc...)
JTag-Interface: JTAGkey tiny ebenfalls von Amontec
OpenOCD
und ein von Keil stammendes Eval Board MCB 2368 auf dem ein LPC 2368 von 
NXP sitzt.

Zum Problem:

Ich habe nach dem Tutorial von J.Lynch alles eingerichtet. Ich erhalte 
meine .hex ebenso wie die .bin die ich fürs Flashen via JTAG benötige.
Das flashen mit der .hex funktioniert ohne Probleme.
Bei JTAG funktioniert es anscheinend nur wenn davor mittels .hex 
geflasht wurde. Kann also nicht mehrfach nacheinander mit JTAG flashen.
Getestet hab ich das ganze mit dem LCD Display. Wenn ich versuche 
mehrfach mit JTAG zu flashen zeigt mir das LCD display nicht das an was 
es sollte sondern entweder noch das alte oder Zeichen die gar nicht da 
sein sollten welche sich aber nach jedem Druck auf Reset irgendwo 
andershin verlagern oder verschwinden...Oder die Anzeige ist erst nach 
mehrfachem flashen korrekt -.-
und ist dann auch nicht stabil, was heissen soll, wenn ich den Strom 
wegnehme ist die Anzeige wieder verändert.Das Flashen mit JTAG scheint 
den
Kontroller also in einen nicht stabilen zustand zu versetzen. Nehme ich 
das bei make all erzeugte hex file geht alles einwandfrei.Das Problem 
muss also irgendwo mit den Einstellungen von OpenOCD zu tun haben. Ich 
weiß aber leider nicht genau was es sein könnte, da ich Anfänger bin.
hier noch das was in der Console erscheint:
Flash Programming with OpenOCD...
'c:\Programme\amontec\sdk4arm\ocd\openocd\bin\'openocd.exe -f 'c:\Programme\amontec\sdk4arm\ocd\openocd\bin\'jtagkey-flash-eigene.cfg # program the onchip FLASH here
Info:    openocd.c:84 main(): Open On-Chip Debugger (2007-01-31 12:00 CET)
Warning: embeddedice.c:175 embeddedice_build_reg_cache(): EmbeddedICE version 7 detected, EmbeddedICE handling might be broken
Warning: arm7_9_common.c:683 arm7_9_assert_reset(): srst resets test logic, too
Info:    target.c:223 target_init_handler(): executing reset script 'flash.script'
Info:    configuration.c:50 configuration_output_handler(): dcc downloads are enabled
Info:    configuration.c:50 configuration_output_handler(): waiting for target halted...
Info:    configuration.c:50 configuration_output_handler(): target halted
Info:    configuration.c:50 configuration_output_handler(): target state: halted
Info:    configuration.c:50 configuration_output_handler(): target halted in ARM state due to debug request, current mode: User
Info:    configuration.c:50 configuration_output_handler(): cpsr: 0x60000090 pc: 0x0000020c
Info:    configuration.c:50 configuration_output_handler(): flash 'lpc2000' found at 0x00000000
Info:    configuration.c:50 configuration_output_handler(): erased sectors 0 through 26 on flash bank 0 in 0s 140625us
Info:    configuration.c:50 configuration_output_handler(): wrote file main.bin to flash bank 0 at offset 0x00000000 in 0s 203125us
Warning: arm7_9_common.c:683 arm7_9_assert_reset(): srst resets test logic, too
Flash Programming Finished.

alle files die ich benutze liegen im Anhang in einer RAR. Die 
interessanten files dürften: jtagkey-flash-eigene.cfg ; flash.script und 
das makefile sein

Danke schonmal im Vorraus für eure hilfe.

MFG Andi

Autor: Andi D. (kid-d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falscher Thread oder weiß wirklich keiner was ? :(

Autor: Kai Hofmann (avrickeler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andi,

nehme Deinen Thread nochmal auf, da ich auch Probleme mit OpenOCD habe.

Hast Du mittlerweile mal die neueste Version von GNUARM probiert?
Hat sich Dein Problem mittlerweile gelöst?

Mein Problem mit dem LPC2378 (Olimex und Wiggler) ist, dass ich mit 
OpenOCD (Version r247-20071230.exe) kein Programm lauffähig 
draufgeflasht bekomme. Es ist egal, ob ich ein ELF, BIN oder HEX benutze 
(beinahe gleiche Debug-Outputs wie bei Andi beschrieben).

Ebenfalls ist es Wurst ob ich als
jtag_speed 0
oder
 jtag_speed 15

angebe.

Ich bin von den Skripten von Martin Thomas ausgegangen und habe diese 
nur etwas verändert (war für 'ne ältere OpenOCD-Version).
Ich kann auch von Insight aus den Chip flashen. Jedoch ist das Resultat 
immer gleich: LPC2378 macht nix, tut nix und landet laut Insight 
"irgendwo" im Code). Wenn ich das Hex-File mit Flash Magic flashe, läuft 
das Ding normal hoch. Davor hatte ich den mit OpenOCD geflashten Code 
über "Flash Magic" verglichen ...und : Verify findet keinen Fehler.????
 <- bitte helft mir!

Da wird doch beim Startup der Code gar nicht erst an Adresse 0 
angesprungen, oder?

Noch ein Hinweis am Rande:
Ich benutze ansonsten als Debugger den IOne / WinIdea von ISystem. Der 
schreibt leider nicht die Initialisierungswerte für globale Variablen 
ins Flash (sollten ja hinter .etext stehen), von dem aus ja später die 
.data-Section die daten kopiert bekommt. Also Vorsicht mit WinIdea, 
initialisierten globalen Variablen und ELF-Dateien - mit Hex kann dat 
Dingen auch richtig flashen aber halt nicht mehr debuggen ;-). -> 
Workaround: globale Variablen im Code nachinitialisieren.


P.S.: Danke an alle in den Foren, die mit Fragen und Antworten mir den 
Einstieg in die ARM-Prog leichter gemacht haben. Thx an Martin Thomas.

Grüße

Kai

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.