Forum: Mikrocontroller und Digitale Elektronik OpenOCD und Olimex Board SAM7-LA2


von !!!Hilffeee (Gast)


Lesenswert?

Hi Community,

hat irgendwer schon mal das Olimex Board SAM7-LA2 mittels openocd (r717) 
erfolgreich geflasht. Ich kann zwar mittels jtag erfolgreich den 
Prozessor kontaktieren, die Prozessor ID und das externe flash wird 
allerdings nicht erkannt (der Prozessor ist ein ATMEL at91sam7a2).

Für Links, Scripts und/oder Konfigurationsfiles wäre ich äußerst 
dankbar.

Tschüss

von gerhard (Gast)


Lesenswert?

hallo,
der at91sam7a2 wird meinermeinung nach nicht von openocd unterstützt. 
schau mal in den source code (modul at91sam7.c).

p.s.: warum versteifst du dich auf einen chip der von atmel bereits 
abgekündigt ist?

gruss
gerhard

von Bri (Gast)


Lesenswert?

Ich hab das Board erfolgreich mit OpenOCD geflashed:

Beitrag "Olimex SAM7-LA2 (AT91SAM7A2) Adressbereich Flash/RAM"

von Bri (Gast)


Lesenswert?

Hier hab ich auch noch was dazu geschrieben:

Beitrag "Re: AT91SAM7A2 Simple Timer Problem mit Interrupt"

von !!!Hilffeee (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

das Board wird im Shop leider noch verkauft. 
(http://shop.embedded-projects.net/index.php?cat=c9_ARM-Boards.html&page=2 
--> unten). Olimex gibt auf Anfrage nur den Verweis, kommerzielle 
Debugger einzusetzen.
Der Grund war die Vielzahl der Schnittstellen (CAN, Ethernet, usw). 
SAM-BA von Atmel unterstützt den Prozessor leider auch nicht mehr.

Bri, Deine Postings kenne ich und habe es (bislang mit wenig Erfolg 
damit versucht). Ich habe dabei folgende Konfiguration im Einsatz:
ARM-USB-TINY, beide von Olimex.
OpenOCD_r717, Yagarto neueste Version.
Die JTAG Verbindung zum Device klappt. Beim Ausführen des Scripts oder 
beim Aufbauen einer telnet-Verbindung, danach mit flash info 0 bekomme 
ich immer die Fehlermeldung: Cannot identify target as AT91SAM.

#define ports
telnet_port 4444
gdb_port 3333
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG TINY  A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0004
jtag_speed 0
jtag_nsrst_delay 300
jtag_ntrst_delay 300
reset_config srst_only srst_pulls_trst
jtag_device 4 0x1 0xf 0xe
daemon_startup reset
target arm7tdmi little run_and_init 0 arm7tdmi_r4
run_and_halt_time 0 30
target_script 0 reset sam7flash.script
flash bank at91sam7 0 0 0 0 0

Das Script lautet folgendermaßen:
wait_halt
armv4_5 core_state arm
mww 0xFFE00000 0x40003EBD # AMC_CS0 - FLASH 1MB
mww 0xFFE00004 0x404030A9 # AMC_CS2 - RAM low 2MB
mww 0xFFE00008 0x404030A9 # AMC_CS2 - RAM high 2MB
mww 0xFFE00024 0x00000004 # AMC_MCR 1MB
mww 0xFFE00020 0x00000001 # AMC_RCR force remap
sleep 1000
mww 0xFFEC0004 0x18070004  # disable PLLClockmanager CM

mww 0xFFEC0010 0x762D800A # PLL Divider = 10 ==> Coreclock = 6Mhz*10/2 = 
30 Mhz
mww 0xFFEC0000 0x23050004 # enable PLL

####################Flash Part
at91sam7 gpnvm 0 2 set
arm7_9 dcc_downloads enable
#flash write_bank 0 main.bin 0x0 # program the onchip flash
#sleep 10
#reset run   # reset processor
#sleep 10
#shutdown    # stop

Nach telnet localhost 4444: Verbindungsaufabau. Reset über Jtag 
anscheinend ist ein SW Reset nicht möglich, nur über den Resettaster.

Siehe Logfile im Anhang.

Viele Grüße

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.