avr:linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
avr:linux [2013/08/28 10:11] – sdolt | avr:linux [2013/09/10 12:11] – sdolt | ||
---|---|---|---|
Line 11: | Line 11: | ||
|avrdude|Programmateur| | |avrdude|Programmateur| | ||
|binutils-avr|Outils binaire| | |binutils-avr|Outils binaire| | ||
+ | |avarice|Connecteur GDB pour JTAG ICE mkII| | ||
Installation sous Debian et dérivé : | Installation sous Debian et dérivé : | ||
< | < | ||
- | sudo apt-get install gcc-avr gdb-avr avr-libc avrdude avrdude-doc binutils-avr | + | sudo apt-get install gcc-avr gdb-avr avr-libc avrdude avrdude-doc binutils-avr |
</ | </ | ||
Line 69: | Line 70: | ||
</ | </ | ||
+ | ===== Déboguage ===== | ||
+ | Debug-wire est une norme de communication basée sur le one-wire permettant une programmation basique ainsi que le déboguage de la série ATtiny. | ||
+ | ==== Initialisation ==== | ||
+ | |||
+ | Pour l' | ||
+ | des fusibles de configurations à l'aide du STK500 | ||
+ | <note important> | ||
+ | |||
+ | Exemple pour l' | ||
+ | < | ||
+ | avrdude -p t85 -c stk500 -P / | ||
+ | </ | ||
+ | |||
+ | ==== Câblage du JTAGICE mkII pour debug-wire ==== | ||
+ | |||
+ | Il faut brancher trois câble : | ||
+ | ^STK500 PORTB^JTAGICE^ | ||
+ | |PB5|6-nSRST| | ||
+ | |VTG|4-VTREF| | ||
+ | |GND|2-GND| | ||
+ | |||
+ | ==== Compilation et programmation ==== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | < | ||
+ | avr-gcc -g -mmcu=attiny85 -o main.elf main.c | ||
+ | objcopy -O ihex -R .eeprom main.elf main.hex | ||
+ | avrdude -c jtag2dw -P usb -p t85 -U flash: | ||
+ | </ | ||
+ | |||
+ | Si l' | ||
+ | |||
+ | ==== Déboguage ==== | ||
+ | |||
+ | Pour débuguer, il faut tout d' | ||
+ | < | ||
+ | avarice -2 -w -P attiny85 --jtag usb :4242 | ||
+ | </ | ||
+ | Puis, dans un autre terminal, on lance avr-gdb: | ||
+ | < | ||
+ | avr-gdb main.elf | ||
+ | </ | ||
+ | |||
+ | Dans l' | ||
+ | < | ||
+ | target remote :4242 | ||
+ | </ | ||
+ | |||
+ | ==== Commande GDB ==== | ||
+ | |||
+ | ^Commande^Effet^ | ||
+ | |continue|Continue jusqu' | ||
+ | |break main.c: | ||
+ | |break initADC|Met un point d' | ||
+ | |print variable|Affiche la variable si le programme est à l' | ||
+ | |set variable hello = 12|Met la variable hello à la valeur 12| | ||
+ | |||
+ | Tutoriel : [[http:// | ||
+ | Info : | ||
+ | |||
+ | ===== Désactivation de DebugWire ===== | ||
+ | |||
+ | Avec le mode debugWire, on ne peux pas lire les fusibles. Seulement écrire la valeur de hfuse. Pour cela | ||
+ | il faut désactiver la vérification et le mode sécurisé de avrdude avec les options -u -V | ||
+ | |||
+ | Exemple : Pour un attiny85, pour passer de debugWire à SPI avec une horloge interne à 16MHz (PLL) : | ||
+ | |||
+ | < | ||
+ | avrdude -u -V -c jtag2dw | ||
+ | </ | ||
+ | ===== Liens utiles ===== | ||
+ | |||
+ | ^Description^Liens^ | ||
+ | |Calculateur de fusible|[[http:// |
avr/linux.txt · Last modified: 2013/09/18 12:53 by sdolt