mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OpenOCD mit AT91SAM7S256-EK und Wiggler


Autor: Thomas L. (santos10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche auf mein selbstgebautes Demoboard mit einem AT91SAM7S256
das Beispielprogramm AT91SAM7S-USART_USB_SAM7S von Martin Thomas auf den
µC rüberzuflashen. Ich benutze einen selbstgebauten Wiggler und Openocd.
Im cmd habe ich folgendes eingegeben:
openocd-pp -f openocd_at91sam7s_flash_wiggler.cfg

Als Ausgabe erhalte ich:

make program

Programming with OPENOCD
openocd_go_flash.cmd
Open On-Chip Debugger (2008-03-22 12:00 CET) svn: r520
URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/
Info:    jtag.c:1329 jtag_examine_chain(): JTAG device found: 0x3f0f0f0f
(Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)
Warning: jtag.c:902 jtag_add_reset(): requested reset would assert trst
Info:    target.c:240 target_init_handler(): executing reset script
'openocd_at91sam7s_flash.script'
Warning: arm7_9_common.c:972 arm7_9_halt(): target was already halted
Warning: arm7_9_common.c:972 arm7_9_halt(): target was already halted
Info:    options.c:50 configuration_output_handler(): dcc downloads are
enabled
Info:    options.c:50 configuration_output_handler(): flash 'at91sam7'
found at 0x00100000
Info:    options.c:50 configuration_output_handler(): Command write not
found
Warning: jtag.c:902 jtag_add_reset(): requested reset would assert trst

Ich verstehe nicht, was 'Command write not found' bedeutet. Was bedeutet
dies?

Autor: Thomas L. (santos10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Wiggler Datei ist:

#
# Flash AT91SAM7S memory using openocd
# and a Wiggler-type JTAG-interface
#
# created by Martin Thomas
# based on information from Dominic Rath
#

#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface parport
parport_port 0x378
parport_cable wiggler
jtag_speed 0

#use combined on interfaces or targets that can't set TRST/SRST
separately
reset_config srst_only 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_init 0 arm7tdmi
run_and_halt_time 0 30

# flash-options AT91
target_script 0 reset openocd_at91sam7s_flash.script
working_area 0 0x00200000 0x4000 nobackup
flash bank at91sam7 0 0 0 0 0

# Information:
# erase command (telnet-interface) for complete flash:
# flash erase <num> 0 numlockbits-1 (can be seen from output of flash
info 0)
# SAM7S64 with 16 lockbits and bank 0: flash erase 0 0 15
# set/clear NVM-Bits:
# at91sam7 gpnvm <num> <bit> <set|clear>
# disable locking from SAM-BA
# flash protect 0 0 1 off

# For more information about the configuration files, take a look at:
# http://openfacts.berlios.de/index-en.phtml?title=O...

------------------------------------------------------------------------ 
------
openocd_at91sam7s_flash.script

#
# The following command wills be executed on
# reset (because of run_and_init in the config-file)
# - halt target
# - init ecr
# - flash content of file main.bin into target-memory
# - shutdown openocd
#
# created by Martin Thomas
# http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects
# based on information from Dominic Rath
#

halt
sleep 10
wait_halt

# Init - taken form the script openocd_at91sam7_ecr.script
mww 0xfffffd44 0x00008000  # disable watchdog
mww 0xfffffd08 0xa5000001  # enable user reset
mww 0xfffffc20 0x00000601  # CKGR_MOR : enable the main oscillator
sleep 10
mww 0xfffffc2c 0x00481c0e   # CKGR_PLLR: 96.1097 MHz
sleep 10
mww 0xfffffc30 0x00000007  # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz
sleep 10
mww 0xffffff60 0x003c0100  # MC_FMR: flash mode (FWS=1,FMCN=60)
# arm7_9 force_hw_bkpts enable  # program resides in flash

# AT91SAM7 flash command-"batch"
arm7_9 dcc_downloads enable
flash probe 0
flash write 0 main.bin 0x0
#flash write_image main.hex
sleep 10
reset run
sleep 10
shutdown

Wo liegt der Unterschied zwischen 'flash write' und 'flash_write' image
?
Ich weiß echt nicht weiter und habe im Netz noch keine Hinweise finden
können. Würde mich auf eine Antwort freuen.

Thomas

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Beispiele wurden mit einer alten Version von OpenOCD getestet. Die 
OpenOCD-Entwickler haben sich dazu entschlossen aufzuräumen und einige 
Anweisungen wurden ersetzt. Somit funktionieren viele ältere Beispiele 
nicht mehr mit aktuellen OpenOCD Versionen. Weiteres im Abschnitt 
"Deprecated/Removed Commands" in der OpenOCD-Dokumentation. Falls nicht 
woanders zu finden: Dok. für SVN706 z.Zt auf "meinem" Server 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm...

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.