Debug par JTAG et ST-LINK des Cortex M3 sur STM32

Transcription

Debug par JTAG et ST-LINK des Cortex M3 sur STM32
Debug par JTAG et ST-LINK
des Cortex M3 sur STM32
ELEC344/381 (ROSE)
Février 2013
Pedro TERRA
Charles THIN
JTAG: un standard
Join Test Action Group
IEEE 1149.1 Standard Test Access Port and
Boundary-Scan Architecture
Principe : contrôle en lecture et écriture de
l'interface d'un chip (i.e., de toutes ses pins)
Sources : jtagprogrammer.com, xjtag.com, fpga4fun.com
2
JTAG : vocabulaire et matériel
Signaux
TDI : Test Data In
TDO : Test Data Out
TCK : Test Clock
TMS : Test Mode Select
TRST : Test Reset, optional
Registres (dont IR)
BSR : (Boundary Scan) (pins)
IDCODE
BYPASS (1 bit)
Instructions
BYPASS : chip ignoré
EXTEST : test externe, connecté à BSR
SAMPLE/PRELOAD : préchargement de BSR
IDCODE : lecture de l'IDCODE
BYPASS
IDCODE
BSR
INSTR
3
JTAG : fonctionnement
●
●
●
Machine à états
Transitions sur TMS
Mise à l'état "test logic reset" :
TMS haut 5 cycles
Routine :
● Chargement de l'Instruction
Register (IR)
● Puis du Data Register (DR)
(dans le cas de BSR et
IDCODE)
4
ST-LINK
STM8 et STM32
Utilise les interfaces
JTAG/SWD et SWIM
pour parler avec le
MCU et USB pour
parler avec le
ordinateur.
5
ST-LINK: OpenOCD
C'est un software libre qui permet qu'on utilise
l'interface JTAG.
Il faut configuré le OpenOCD pour savoir quel
sonde et quel MCU il utilise.
.../share/openocd/scripts/interface/st-link-v1.cfg
.../share/openocd/scripts/target/stm32.cfg
6
ST-LINK: openocd.cfg
# port configuration
telnet_port 4444
gdb_port 3333
# jtag interface
source [find interface/stlink-v1.cfg]
source [find target/stm32.cfg]
7
Merci
sources:
ST-LINK (images)
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/CD00282490.pdf
JTAG (images)
http://www.xjtag.com/support-jtag/jtag-high-level-guide.php
http://www.xjtag.com/support-jtag/jtag-technical-guide.php
Autres infos:
SWD
http://www.arm.com/files/pdf/Low_Pin-Count_Debug_Interfaces_for_Multi-device_Systems.pdf
http://www.lpcware.com/content/blog/introduction-cortex-serial-wire-debugging-part-one
OpenOCD
http://openocd.sourceforge.net/
8

Documents pareils

XJIO-PCI

XJIO-PCI XJEase comprend un test d'interconnexion avancé pour vérifier automatiquement les courts-circuits et les circuits ouverts sur les réseaux autour de votre chaîne JTAG. Le test et la programmation de...

Plus en détail

Introduction au JTAG 1 - Le bus JTAG - ISIL-Electro

Introduction au JTAG 1 - Le bus JTAG - ISIL-Electro alternance de 1 et de 0. Ensuite, il recopie les 10 premiers bits reçus (4) (l’instruction destinée au circuit suivant, qui est visible sur la ligne TDO2). Ainsi, lorsque l’on valide, par un front ...

Plus en détail