« SE3 PSE Binome2023-9 » : différence entre les versions
Ligne 45 : | Ligne 45 : | ||
[[File:SE3-pad-no-boot-Bonningre.png|thumb|center|600px|Lecture du Bootloader par ISP]] | [[File:SE3-pad-no-boot-Bonningre.png|thumb|center|600px|Lecture du Bootloader par ISP]] | ||
Avec un programmateur ISP je lis la partie de l'atmega qui contient le bootloader, elle est apparement vide | Avec un programmateur ISP je lis la partie de l'atmega qui contient le bootloader, elle est apparement vide et on peux voir que les fuses sont 0x52 0x99 et 0xFF (avec le calculateur de fuse pour atmega32u4 on constate que ce n'est pas les valeurs qu'il faut pour notre projet) | ||
=8 Avril 2024, DFU et Bootloader= | =8 Avril 2024, DFU et Bootloader= |
Version du 8 avril 2024 à 14:31
4 Mars 2024
Découverte du sujet
11 Mars 2024, Manette
Ajout de deux boutons qui permettent d'obtenir une manette style Master System et de 4 leds qui peuvent servir d'indicateur de vies ou autre...
Le PCB est routé, les coins sont arrondis pour une meilleure prise en main.
Fichier GERBER de la manette: Fichier:SE3-pad-bonningre-GERBER.zip
18 Mars 2024, AVR
J'utilise le Makefile fournit pour les TP MicroP pour compiler le code puis le mode DFU de l'atmega8u2 pour envoyer le code dans la carte en USB avec 'dfu-programmer'
25 Mars 2024, LUFA
Aujourd'hui travail sur le programme avec la bibliothèque LUFA, les fichiers sont sur le GIT du projet : GIT
3 Avril 2024, PCB
Le PCB est arrivé, je soude les composants nécessaires pour faire fonctionner l'atmega et une led pour le tester.
La led connectée au 5v s'allume mais impossible de détecter l'atmega en USB (mode DFU) avec la commande 'lsusb'
Je test au multimètre que les différents pins 5V sont bien alimentés, les pins Reset et HWB sont aussi bien pullup à 5V (GND quand boutons respectifs appuyés) et la continuité sur les pins D- et D+ de l'USB est bien presente.
Peut-être que l'atmega32u4 n'a pas le bootloader avec DFU USB de préinstallé (ou que les fuses internes ne sont pas correctement configurées pour notre crystal), je soude le connecteur ISP pour essayer de le programmer via cette interface
Avec un programmateur ISP je lis la partie de l'atmega qui contient le bootloader, elle est apparement vide et on peux voir que les fuses sont 0x52 0x99 et 0xFF (avec le calculateur de fuse pour atmega32u4 on constate que ce n'est pas les valeurs qu'il faut pour notre projet)
8 Avril 2024, DFU et Bootloader
Grace à l'aide de monsieur Redon le problème est résolue et la carte est bien reconnue en USB, nous somme parvenu a programmer la manette par ISP mais pour plus de simplicité il faut installer le bootloader USB.
Pour les commandes utilisant une arduino comme programmeur ISP il faut indiquer -c stk500v1
au lieu de -c arduino
sinon on obtient un erreur et l'atmega n'est pas programmé.
Pour commencer il faut utiliser la commande suivante pour modifier les fuses (avec une arduino comme programmeur ISP), ca permet de faire comprendre a l'atmega32u4 qu'on utilise un crystal 8Mhz et qu'il faut pouvoir passer en DFU avec le bouton HWB :
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m -U efuse:w:0xF7:m
Ensuite il faut télécharger le bootloader USB sur le site microchip : Bootloader DFU AVR (tableau Embedded Software) et le flasher avec la commande suivante (toujours par ISP avec l'arduino) :
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U flash:w:ATMega32U4-usbdevice_dfu-1_0_0.hex
On débranche le programmateur ISP et on branche la manette en USB, elle apparait avec lsusb :
On peut ensuite modifier le makefile du code Lufa en changeant le type de MCU et la fréquence (8Mhz), et programmer la manette directement par USB avec la commande make dfu
. Pour repasser en DFU il suffit de maintenir le bouton HWB pendant un reset.
Tout les composants sont soudés :