**Mise à jour de BBV sous Linux** Ce tuto est basé sous Ubuntu (ou Débian). ====== Installer Avrdude ====== Pour installer AVRdude: sudo apt-get install avrdude ====== Téléchargement de la mise à jour ====== Une fois fait, il faut télécharger la dernière version du code sur le page [[Téléchargements]]. ====== Trouver le port sur lequel BBV est connecté. ====== Connecter le BBV à votre pc via la port micro-USB présent sur la carte. {{https://www.warre.fr/wp-content/uploads/2022/01/BBV-usb.jpg}} Une fois fait, taper en ligne de commande la commande dmesg à la fin, vous devez avoir de listé sur quel port le BBV a été connecté: [193308.879880] usb 3-1.1: new full-speed USB device number 5 using xhci_hcd [193308.981659] usb 3-1.1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64 [193308.981685] usb 3-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [193308.981695] usb 3-1.1: Product: USB Serial [193308.992258] ch341 3-1.1:1.0: ch341-uart converter detected [193308.993516] usb 3-1.1: ch341-uart converter now attached to ttyUSB0 guillaume@guillaume-Latitude-7285:~$ Ici, nous lisons "ttyUSB0", le port de connexion est donc : /dev/ttyUSB0. Cela peut changer et être ttyUSB1 ou 2 ou 3... Attention: utilisez bien un câble mini-USB de données!! de nombreux câbles fournis avec les outils rechargeables (comme les lampes de vélo de Décath') ne possèdent que de 2 fils (5v et Gnd) il en manque 2, un vrai câble usb contient 4 fils :) ====== Mise à jour ====== - Nous avons donc repéré le port de connexion (dans cet exemple /dev/ttyUSB0) - Nous avons récupérés le fichier de mise à jour. (Dans cet exemple nous prendrons la version 3.2: BBV_V3.2.ino.hex) avrdude -v -p atmega328p -c arduino -P /dev/ttyUSB0 -b 115200 -D -U flash:w:./BBV_V3.2.ino.hex:i Vous devriez avoir une sortie ressemblant à cela: guillaume@guillaume-Latitude-7285:~$ avrdude -v -p atmega328p -c arduino -P /dev/ttyUSB0 -b 115200 -D -U flash:w:./BVV_V3.2.ino.with_bootloader.hex:i avrdude: Version 6.3-20171130 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "/etc/avrdude.conf" User configuration file is "/home/guillaume/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : arduino Overriding Baud Rate : 115200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : Arduino Description : Arduino Hardware Version: 3 Firmware Version: 4.4 Vtarget : 0.3 V Varef : 0.3 V Oscillator : 28.800 kHz SCK period : 3.3 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: reading input file "./BVV_V3.2.ino.with_bootloader.hex" avrdude: writing flash (32768 bytes): Writing | ################################################## | 100% 1.86s avrdude: 32768 bytes of flash written avrdude: verifying flash memory against ./BVV_V3.2.ino.with_bootloader.hex: avrdude: load data flash data from input file ./BVV_V3.2.ino.with_bootloader.hex: avrdude: input file ./BVV_V3.2.ino.with_bootloader.hex contains 32768 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 1.47s avrdude: verifying ... avrdude: 32768 bytes of flash verified avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: safemode: Fuses OK (E:00, H:00, L:00) avrdude done. Thank you. ====== Erreur possibles ====== * La qualité du câble comme dit plus haut :) Vous pouvez avoir des erreurs de ce type : avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1e avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x98 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x80 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x06 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x98 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x66 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x86 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x98 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x66 Cela correspond en général à un problème de vitesse de port série. Dans la commande ci-dessus j'ai mis 115200 bauds mais vous pouvez faire des tests avec les vitesses. - 9600 - 19200 - 38400 - 57600 - 115200