samedi 17 mars 2018

USBasp sous LINUX


USBasp sous LINUX

 

J'ai récemment acheté un programmateur USBasp. Ce modèle.
Il est livré avec un adaptateur directement enfichable sur le connecteur 6 points présent sur les UNO, NANO, etc.
La pin 1 est normalement indiquée sur la carte ARDUINO.
Le brochage de l'adaptateur est le suivant (attention : vue de dessus) :



Le détrompeur se trouve à gauche donc.

1. Les fonctionnalités

Ce programmateur permet de flasher le bootloader ARDUINO.
Il permet également de flasher une application ARDUINO en se passant du bootloader. Dans ce cas, le bootloader est écrasé et on récupère les quelques Ko qu'il occupait, ceci au bénéfice de l'application.

2. Mise en œuvre sous UBUNTU

Mise en place de la règle udev :
Pour autoriser l'écriture sur le device USB, créer un fichier /etc/udev/rules.d/99-USBasp.rules

# USBasp - USB programmer for Atmel AVR controllers

SUBSYSTEM=="usb", ATTR{product}=="USBasp", ATTR{idProduct}=="05dc", ATTRS{idVendor}=="16c0", MODE="0666"

Ensuite, dans un terminal :

/etc/init.d/udev restart

3. Utilisation

Dans l'IDE ARDUINO, choisir dans le menu Outils/Programmateur : USBasp
Dans le menu Croquis / Téléverser avec un programmateur

Pour revenir à la situation "normale", avec bootloader et téléversement par l'USB, choisir dans le menu Outils/Graver la séquence d'initialisation.

Voilà c'est tout ...
Essayé aujourd'hui sur une ARDUINO NANO

3. Rérérences

J'ai également posté ce tutoriel sur le forum ARDUINO.CC


2 commentaires:

  1. Bonjour, je cherche à savoir si je peux utiliser un programmateur USBasp pour recharger le bootloader de ma plateforme MKR wifi 1010. Sur cette plateforme il n'y pas de connecteur ISCP, par contre les 6 connections sont accessibles (MISO, VCC, SCK, MOSI Reset et GND) sur le bornier de la plateforme. Qu'en pensez-vous ? AIREL

    RépondreSupprimer
    Réponses
    1. Il n'est pas du tout évident qu'un bootloader SAMD21 puisse se reprogrammer par le bus SPI. Je dirais plutôt non.
      En cherchant "MKR wifi 1010 bootloader" sur google on trouve par exemple : https://forum.arduino.cc/index.php?topic=697097.0
      Sinon, poser la question sur le forum ARDUINO :
      https://forum.arduino.cc/index.php?board=33.0

      Supprimer