PatDef.fr

Accueil du site > Electronique embarquée > gnuarm - gcc - gdb - eclipse - openocd > OpenOCD et sondes Olimex arm-jtag ou arm-usb-ocd

OpenOCD et sondes Olimex arm-jtag ou arm-usb-ocd

mercredi 22 août 2007, par patrick Deflandre


Première chose à faire, télécharger les sources depuis le site openocd, de préférence en utilisant la dernière version SVN car beaucoup plus récente et corrigeant plein de bugs.

Pour charger cette version, il faut créer un répetoire cible (par exemple /openocd/openocd_svn), puis saisir la commande :


svn checkout http://svn.berlios.de/svnroot/repos/openocd/trunk

Puis on procède à la configuration :


cd ~/openocd/openocd_svn/trunk
./bootstrap
mkdir ~/openocd/openocd_yyyymmdd
cd ~/openocd/openocd_yyyymmdd
../openocd_svn/trunk/configure --enable-parport --enable-parport_ppdev --enable-ft2232_libftdi

et à la compilation, suivi de l’installation


make
make install

On retrouve alors un exécutable dans le répertoire /usr/local/bin qui se nomme openocd.

Reste alors à configurer notre fichier openocd.cfg. En voici un exemple pour une carte à base de at91sam7x256 :


### daemon configuration
########################
telnet_port 4444
gdb_port 3333

### interface : wigler olimex
#############################
#interface parport
#parport_port 0
#parport_cable wiggler
#jtag_speed 0

### interface : arm-usb-ocd olimex
##################################
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG"
ft2232_layout olimex-jtag
ft2232_vid_pid 0x15ba 0x0003
jtag_speed 3


### 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
#daemon_startup attach
jtag_nsrst_delay 100
jtag_ntrst_delay 100

### target <type> <startup mode>
### target arm7tdmi <reset mode> <chainpos> <endianness> [variant]
target arm7tdmi little run_and_halt 0 arm7tdmi
run_and_halt_time 0 30

### flash configuration
### flash bank <driver> <base> <size> <chip_width> <bus_width> <variant> <target#>
flash bank at91sam7 0 0 0 0 0

### zone de travail pour la gestion d'une flash cfi
### je pense que cette zone ne sert pas a autre chose
### mais je n'en suis pas sur...
working_area 0 0x00200000 0x4000 nobackup

### cfi options
### flash bank cfi <base> <size> <chip_width> <bus_width> <target#>

Il ne reste plus qu’à lancer openocd

openocd

Puis à se connecter en Telnet

telnet localhost 4444

Enfin, voici les commandes indispensables :

- help pour obtenir la liste des commandes sous telnet
- exit pour sortir de la session telnet
- et Ctrl-C pour quitter openocd si nécessaire.


Suivre la vie du site RSS 2.0 | Contactez-moi | Plan du site | SPIP