PatDef.fr

Accueil du site > Electronique embarquée > Atmel - at91sam7x > Mapping mémoire at91sam7x - bis

Mapping mémoire at91sam7x - bis

Ou comment programmer un at91sam7x tout neuf avec openocd

vendredi 25 janvier 2008, par patrick Deflandre


Lorsque l’on reçoit un at91sam7x tout neuf, il est configuré par défaut comme ayant le boot loader SAM-BA actif. Autrement dit, la ROM est mappée à l’adresse 0x0 par l’intermédiaire du GPNVM bit 2 mis à 0.

Pour pouvoir programmer une première fois le composant, on peut donc utiliser le protocole SAM-BA sur la liaison série de DBGU, ou alors utiliser le JTAG, en prenant la précaution de mette le bit 2 du GPNVM à 1.

La commande sous openOCD est :


at91sam7 gpnvm 0 2 set

On pourra donc les commandes suivantes pour la programmation sous openOCD :


#arrêter le contrôleur, et le placer dans un état connu
halt
mww 0xfffffd44 0x00008000        # désactiver le watchdog
mww 0xfffffd08 0xa5000001        # autoriser le reset
mww 0xfffffc20 0x00000601        # CKGR_MOR : utiliser l'oscillateur

# je travail avec une carte ayant un quartz a 8 MHz
# il faut adapter à la configuration particulière de votre outil
mww 0xfffffc2c 0x000b1c01  # CKGR_PLLR: 96 MHz
mww 0xfffffc30 0x00000007        # PMC_MCKR : MCK = PLL / 2 = 48 MHz
mww 0xffffff60 0x00480100        # MC_FMR: flash mode (FWS=1,FMCN=72)

#placer la flash à l'adresse 0x0
at91sam7 gpnvm 0 2 set  

# charger
arm7_9 dcc_downloads enable
flash probe 0
flash write_image ./Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.elf 0x0 elf

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