PatDef.fr

Accueil du site > Electronique embarquée > gnuarm - gcc - gdb - eclipse - openocd > Configuration de Eclipse pour travailler avec openOCD

Configuration de Eclipse pour travailler avec openOCD

Ou comment configurer le trio Eclipse - gdb - openOCD ?

lundi 7 avril 2008, par patrick Deflandre

Eclipse constitue un formidable environnement de développement pour l’électronique embarquée. Mais il n’est pas si simple d’obtenir un environnement de travail efficace pour débugger une application embarquée. Voici la configuration que j’ai retenu pour le moment...

Eclipse est un environnement de développement généraliste qui peut aussi bien servir à développer une application tournant sous un OS comme Linux qu’une application sans noyaux sur une cible de type micro-contrôleur.

Dans le premier cas un serveur gdb est intégré au noyau, alors que dans le second il faudra utiliser une sonde jtag et son interface serveur gdb/jtag (par exemple openOCD).

Les contraintes étant très différentes, il est nécessaire de paramétrer un minimum Eclipse de façon à déclarer comment Eclipse devra utiliser gdb.

Dans le cas d’une cible microcontrôleur à base d’un at91sam7x, j’ai retenu pour les éléments suivants :

Configuration pour charger un programme en Flash

’Initialize’ commands


target remote localhost:3333
# set debug remote 1
set remotetimeout 90
monitor soft_reset_halt

monitor halt
monitor sleep 10
monitor wait_halt

monitor mww 0xfffffd44 0x00008000       # disable watchdog
monitor mww 0xfffffd08 0xa5000001       # enable user reset
monitor mww 0xfffffc20 0x00000601       # CKGR_MOR : enable the main oscillator
monitor sleep 10
monitor mww 0xfffffc2c 0x000b1c01         # CKGR_PLLR: 96 MHz
monitor sleep 10
monitor mww 0xfffffc30 0x00000007       # PMC_MCKR : MCK = PLL / 2 = 48 MHz
monitor sleep 10
monitor mww 0xffffff60 0x00480100       # MC_FMR: flash mode (FWS=1,FMCN=72)

monitor arm7_9 dcc_downloads enable
monitor at91sam7 gpnvm 0 2 set   #map the flash as boot device, so we can program it
monitor flash probe 0
monitor flash write_image ./Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.elf 0x0 elf

monitor soft_reset_halt
monitor sleep 1000

’Run’ commands


continue

Configuration pour debugguer un programme en Flash

’Initialize’ commands


target remote localhost:3333
set remotetimeout 90
#mem 0x00200000 0x00204000 rw 8 nocache

monitor soft_reset_halt
monitor armv4_5 core_state arm

set remote memory-write-packet-size 1024
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 1024
set remote memory-read-packet-size fixed

monitor arm7_9 force_hw_bkpts enable

’Run’ commands


continue

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