www.mikrocontroller.net

Forum: Compiler & IDEs OpenOCD in Version 0.3.0


Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich bin ganz neu in der ARM-Welt und habe (wie sicherlich viele..) 
einige Startprobleme.

OpenOCD mit der FDTI-Lib gibt es nicht mehr als exe, man muss es sich 
selbst kompelieren. Und nun laufen unter 0.3.0 die Konfigurationskripte 
nicht mehr, es kommen viele Hinweise, dass Befehle deprecated sind.

at91sam7s256-armusbocd-flash.cfg
#define our ports
telnet_port 4444
gdb_port 3333

#commands specific to the Amontec JTAGKey
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 2
jtag_nsrst_delay 200
jtag_ntrst_delay 200

#reset_config <signals> [combination] [trst_type] [srst_type]
reset_config srst_only srst_pulls_trst

#jtag_device <IR length> <IR capture> <IR mask> <IDCODE instruction>
jtag_device 4 0x1 0xf 0xe

#daemon_startup <'attach'|'reset'>
#daemon_startup reset

#target <type> <endianess> <reset_mode> <jtag#> [variant]
target arm7tdmi little run_and_init 0 arm7tdmi_r4

#run_and_halt_time <target#> <time_in_ms>
run_and_halt_time 0 30

# commands below are specific to AT91sam7 Flash Programming
# ---------------------------------------------------------

#target_script specifies the flash programming script file
target_script 0 reset script.ocd

#working_area <target#> <address> <size> <'backup'|'nobackup'>
working_area 0 0x40000000 0x4000 nobackup

#flash bank at91sam7 0 0 0 0 <target#>
flash bank at91sam7 0 0 0 0 0

Und das spuckt OpenOCD aus:
Open On-Chip Debugger 0.3.0-in-development (2009-10-04-16:53) svn:2796
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
jtag_speed: 2
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
OLD SYNTAX: DEPRECATED - translating to new syntax
jtag newtap CHIP TAP -irlen 4 -ircapture 0x1 -irvalue 0xf
Example: STM32 has 2 taps, the cortexM3(len4) + boundaryscan(len5)
jtag newtap stm32 cortexm3 ....., thus creating the tap: "stm32.cortexm3"
jtag newtap stm32 boundary ....., and the tap: "stm32.boundary"
And then refer to the taps by the dotted name.
NEW COMMAND:
Runtime error, file "D:\Workspace\FirstARMProject/configs/config.cfg", line 24:
    bad option "arm7tdmi": must be one of count, create, current, names, number, or types

Die Seite berlios.de ist nicht erreichbar, sonst finde ich keine 
Beispiele zu OpenOCD in der aktuellen Version.

Hat jemand vll ein Beispiel für mich oder kann mir irgendwie mit der 
Sache helfen?

Autor: OpenOCD Nutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die hälfte des Skripts kannst du dir sparen. In dem openocd verzeichnis 
gibt es jetzt Konfiguartionsdateien für die entsprechenden Boards bzw. 
Controller:

#define our ports
telnet_port 4444
gdb_port 3333

#commands specific to the Amontec JTAGKey
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_khz 2
jtag_nsrst_delay 200
jtag_ntrst_delay 200


source [ find board/deinboard.cfg ] 
#falls kein board drin ist
#source [ find target/deincontroller.cfg ]

zum Flashen kannst du den befehl benutzen:
reset halt
flash write_image erase MeinProgramm.elf
resume 
shutdown
init

Ein Blick in die Hilfe schadet nie und spart meistens viel Zeit und 
Ärger.

Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Ich habe etwas "rumgegoogelt" und auch in der Doku geschaut und konnte 
schließlich mit folgendem Skript flashen:
#define our ports
telnet_port 4444
gdb_port 3333

#commands specific to the Amontec JTAGKey
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG TINY A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0004

#speed
jtag_khz 3000

reset_config srst_only srst_pulls_trst

jtag newtap at91sam7s cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3f0f0f0f

target create at91sam7s.cpu arm7tdmi -endian little -chain-position at91sam7s.cpu -variant arm7tdmi

at91sam7s.cpu configure -event reset-init { 
  #mww 0xffffff64 0x5a000004 # clear lock bit 0 -only use if flash bank known to be locked
  #mww 0xffffff64 0x5a002004 # clear lock bit 1 -only use if flash bank known to be locked
  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)
  sleep 100
  halt
  sleep 10
  arm7_9 dcc_downloads enable
  sleep 10
  poll
  flash probe 0
  flash write_bank 0 D:/Workspace/FirstARMProject/build/main.bin 0x0
  sleep 10
}

at91sam7s.cpu configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x4000 -work-area-backup 0 

#flash bank <driver> <base_addr> <size> <chip_width> <bus_width> <target_number> [<target_name> <banks> <sectors_per_bank> <pages_per_sector> <page_size> <num_nvmbits> <ext_freq_khz>]
flash bank at91sam7 0 0 0 0 0 0 0 0 0 0 0 0 18432

#gdb_memory_map enable
#gdb_flash_program enable

#arm7_9 dbgrq enable

# speed up memory downloads
#arm7_9 dcc_downloads enable

init
reset init
reset run
shutdown

Debuggen funktioniert auch (fast).

Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ehm.. ist für den AT91SAM7S kein Skript dabei oder sehe ich es nicht?

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.