Forum: Compiler & IDEs ARM ADuC702x //Einsteigerprobleme


von Christoph M. (christoph137)


Lesenswert?

Hallo zusammen,
bin ganz neu in Sachen ARM.

Habe von olimex das board ADuC-P7026 und das JTAG Interface ARM-USB-OCD.

Habe nun schon verschiedene Entwicklungsumgebungen ausprobiert, bekomme 
das Ding aber nicht zum Laufen.

Bei OpenOCD+eclipse bekomme ich die Meldung:
Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test 
logic, too
Ist das Normal? Wenn ja, was muss ich jetzt machen? Sind die Daten schon 
auf den µC übertragen?

Mit WinARM kann ich das dort enthaltene Projekt ADuC7026_blink auch 
fehlerfrei mit make übersetzen. Bin mir aber nicht im Klaren, was ich 
nun machen muss.

Bin dankbar für jeden Hinweis.
Gruß Christoph

von Martin Thomas (Gast)


Lesenswert?

Die srest/test-logic Meldung ist nur eine Warnung. Kann dennoch 
funktionieren, kommt aber auf die restliche Konfiguration an. Wie sieht 
die openocd-configuration aus v.a. die reset_config Zeile? OpenOCD 
unterstützt meines Wissens bisher die Programmierung des internen Flash 
bei ADI ARM7 nicht. Man kann aber eine Programm zum Test aus dem 
internen RAM laufen lassen, muss dann aber auch das Programm für den 
entsprechenden Speicherbereich linken und evtl. noch den 
Interrupt-Vektor"remappen".

Die Controller haben einen vorinstallierten Bootloader. Es gibt 
Varianten mit TWI und welche mit UART Bootloader. Für UART gibt es eine 
Software von ADI und Martin Maurers lpc21isp, die beide dazu genutzt 
werden können Daten ins Flash zu übertragen. Für TWI gibt es auch ein 
Programm - Quelle aber grade vergessen.

Das Beispiel aus WinARM habe ich zwar verbrochen (besser gesagt: aus 
einem anderen Beispiel an GNU-Tools angepasst), aber nicht selbst 
getestet. Habe aber positive Testberichte erhalten. Im Makefile 
einstellen, welches Format das load-image haben soll (ihex=hex-Datei 
oder binary="bin-Datei"), dann diese Datei mittels Bootloader+passender 
Software zum Controller übertragen. Sollte das Eis brechen.

Martin Thomas

von Christoph M. (christoph137)


Lesenswert?

Hallo Martin,

danke für die schnelle Antwort.


Martin Thomas wrote:
> Die srest/test-logic Meldung ist nur eine Warnung. Kann dennoch
> funktionieren, kommt aber auf die restliche Konfiguration an. Wie sieht
> die openocd-configuration aus v.a. die reset_config Zeile?

Ich versuchs zur Zeit mit folgender Konfiguration:

  #daemon configuration
  telnet_port 4444
  gdb_port 3333

  #interface
  interface ft2232
  ft2232_device_desc "Amontec JTAGkey A"
  ft2232_layout jtagkey
  ft2232_vid_pid 0x0403 0xcff8
  jtag_speed 0
  #use combined on interfaces or targets that can't set TRST/SRST 
separately
  reset_config trst_and_srst srst_pulls_trst

  #jtag scan chain
  #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, 
IDCODE)
  jtag_device 4 0x1 0xf 0xe

  #target configuration
  daemon_startup reset
  #target <type> <startup mode>
  #target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
  target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
  target_script 0 reset h2294_init.script
  run_and_halt_time 0 30
  working_area 0 0x40000000 0x40000 nobackup

  #flash configuration
  flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum
  flash bank cfi 0x80000000 0x400000 2 2 0



> OpenOCD
> unterstützt meines Wissens bisher die Programmierung des internen Flash
> bei ADI ARM7 nicht. Man kann aber eine Programm zum Test aus dem
> internen RAM laufen lassen, muss dann aber auch das Programm für den
> entsprechenden Speicherbereich linken und evtl. noch den
> Interrupt-Vektor"remappen".

OK - das hört sich nicht so einfach an.


>
> Die Controller haben einen vorinstallierten Bootloader. Es gibt
> Varianten mit TWI und welche mit UART Bootloader.

der hat UART.

> Für UART gibt es eine
> Software von ADI und Martin Maurers lpc21isp, die beide dazu genutzt
> werden können Daten ins Flash zu übertragen. Für TWI gibt es auch ein
> Programm - Quelle aber grade vergessen.


werd es mir mal ansehen.

>
> Das Beispiel aus WinARM habe ich zwar verbrochen (besser gesagt: aus
> einem anderen Beispiel an GNU-Tools angepasst), aber nicht selbst
> getestet. Habe aber positive Testberichte erhalten.

ok - danke. (nice to know)

> Im Makefile
> einstellen, welches Format das load-image haben soll (ihex=hex-Datei
> oder binary="bin-Datei"),

Wie finde ich heraus welches Format ich benötige?

> dann diese Datei mittels Bootloader+passender
> Software zum Controller übertragen. Sollte das Eis brechen.
>

... das hoffe ich auch.

> Martin Thomas


Christoph

von Martin Thomas (Gast)


Lesenswert?

Bei der OpenOCD-konfiguration passt leider so ziemlich garnichts. Habe 
hier kein Board mit ADI-ARM hier zum damit herumspielen, also nur ein 
paar Hinweise. Besser im OpenOCD support-forum fragen (bei sparkfun), 
vielleicht hat schon jemand zumindest für "RAM-debugging" etwas 
Fertiges.

>...
>  ft2232_device_desc "Amontec JTAGkey A"
>  ft2232_layout jtagkey
>  ft2232_vid_pid 0x0403 0xcff8
>...
Dürfte kaum zum Olimex-Adapter passen. Vgl. 
http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_configuration

>...
>  reset_config trst_and_srst srst_pulls_trst
>...
Auf dem Olimex-Board erkenne ich weder den Anschluss für SRST noch für 
TRST, hier dürfte eher "none" hingehören. Vgl. OpenOCD Dokumentation

>...
>  target_script 0 reset h2294_init.script
>...
reset-Skript für LPC2000-Serie?.

>...
  working_area 0 0x40000000 0x40000 nobackup
>...
Soweit erinnert, ist in diesem Bereich beim ADuC gar kein RAM. Vgl. 
Datenblatt.

>...
  #flash configuration
  flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum
  flash bank cfi 0x80000000 0x400000 2 2 0
>...
Passt auch nicht. Sind Einstellungen für internes Flash eines LPC2000 
und externes Flash

> Wie finde ich heraus welches Format ich benötige?
Das Tool von ADI (ARMWSD wenn recht erinnert) kann zumindest 
Intel-Hex-Format einlesen (also objcopy output-Format ihex).


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.