Forum: Compiler & IDEs OpenOCD AT91SAM7S256


von B. L. (blan)


Lesenswert?

hi,

ich wollte jetzt endlich mal meine Olimex Entwicklerplatine mit einem 
AT91SAM7S256 ausprobieren. Ich benutze für JTAG einen Wiggler und 
OpenOCD. Ich hab mich an die Anleitung gehalten: 
http://www.mikrocontroller.net/articles/AT91SAM7S_mit_OpenOCD_programmieren

Ich kann mich über Telnet wunderbar verbinden allerdings glaube ich 
stimmt irgendwas nicht ganz.

Meine OpenOCD-Config:
1
telnet_port 4444
2
gdb_port 3333
3
4
#interface
5
interface parport
6
parport_port 0x378
7
parport_cable wiggler
8
jtag_speed 0
9
reset_config srst_only
10
11
jtag_device 4 0x1 0xf 0xe
12
13
target arm7tdmi little reset_halt 0 arm7tdmi
14
daemon_startup reset
15
16
flash bank at91sam7 0 0 0 0 0

Die Ausgabe von OpenOCD sieht nach dem start so aus:
1
...
2
Info:    jtag.c:1305 jtag_examine_chain(): JTAG device found: 0x3f0f0f0f
3
(Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)
( ich habe den config-output nicht mitkopiert )

Soweit ist noch alles okay. Wenn ich jetzt wie in der Anleitung 
beschrieben die Befehle in Telnet eingebe bekomme ich nicht die gleiche 
Ausgabe:
1
Trying 127.0.0.1...
2
Connected to localhost.
3
Escape character is '^]'.
4
Open On-Chip Debugger
5
> halt
6
requesting target halt...
7
target state: halted
8
target halted in Thumb state due to debug request, current mode: Supervisor
9
cpsr: 0x40000033 pc: 0x0000020a
10
> resume
11
target state: running
12
> reset
13
> flash info 0
14
Cannot identify target as an AT91SAM
15
#0: at91sam7 at 0x00000000, size 0x00000000, buswidth 0, chipwidth 0
16
Cannot identify target as an AT91SAM

Warum bin ich im Supervisior -Modus und warum kann er das Target nicht 
als AT91SAM identifizieren?

Hat das vielleicht was mit diesem JTAGSEL zutun - ich hab das auf der 
Platine nähmlich nicht gefunden?

blan

von B. L. (blan)


Lesenswert?

hi,

also ich hab bischen an der openOCD config rumgespielt und nun wird der 
chip wohl erkannt. folgende ausgabe bekomm ich:
1
> flash info 0
2
#0: at91sam7 at 0x00100000, size 0x00040000, buswidth 4, chipwidth 0
3
        #0: 0x00000000 (0x40000 256kB) erase state unknown, protection state unknown
4
5
at91sam7 information: Chip is AT91SAM7S256
6
cidr: 0x270d0940, arch: 0x0070, eproc: ARM7TDMI, version:0x000,  flashsize: 0x00040000
7
master clock(estimated): 19716kHz 
8
pagesize: 256, lockbits: 16 0x0002, pages in lock region: 64 
9
securitybit: 0, nvmbits: 0x0

was mich momentan noch wundert ist das "erase state unknown" und das 
"protection state unknown".

außerdem funktionieren einige befehle einfach nicht - kann mir jemand 
sagen warum?
1
> flash erase 0 0 15
2
Command erase not found
3
> flash write_binary 0 blink.elf 
4
Command write_binary not found
5
> flash write 0 blink.elf
6
Command write not found

jemand eine idee?

Danke!

von B. L. (blan)


Lesenswert?

hallo,

also das beschreiben mit einer älteren version funktioniert jetzt 
scheinbar - zumindest laut aussage von openOCD. allerdings wollen die 
beispiel-programme nicht laufen. kann mir jemand ein code schicken, der 
bei ihm 100% funktioniert. toll wär auch noch eine kleine beschreibung 
wie ich das auf den arm lade. ich brauch das hier wirklich drigend für 
eine präsentation.

Danke!

von Chris (Gast)


Lesenswert?

mmmh, wäre wirklich schön hättest du noch geschrieben welche 
Änderungen du an der Config vorgenommen hast... grml

Ich hänge jetzt nämlich am gleichen Problem!

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.