Pages: [1]   Go Down
Author Topic: [RESOLU]UNO R2 mise à jour de l'ATmega8u2  (Read 3016 times)
0 Members and 1 Guest are viewing this topic.
IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2311
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je viens de comprendre l'origine de mes déboires avec ma platine sous Linux -> le firmware version rev 000 de l'AtMega8u2 est buggé sous Linux.
Le firmware est passé en version rev001 le 4 décembre 2010.
https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares

J'ai acheté ma platine chez Lextronic (UNO R2) début juin 2011, je viens de vérifier la version du firmware, c'est encore l'ancienne rev000.
Comme par hasard sur la version R2 le connecteur pour la programmation in situ de l'atmega8u2 est cablé alors qu'il ne l'est pas sur la R1. Ce qui veut dire qu'il existait un stock d'atmega8u2 déjà flashés et qui a été écoulé tel quel.

Les problèmes techniques je les accepte, ils sont inévitables, mais là c'est l'honnêteté intellectuelle que je mets en cause et ne suis pas le seul :
http://www.gr-slb.com/blog/2011/04/01/bug-arduino-uno-et-mega-2560-avec-la-complicite-de-lextronique/

Ma question est comment peut t-on faire la mise à jour parce les indications fournies par le projet arduino sont incomplètes:
http://arduino.cc/en/Hacking/DFUProgramming8U2

Elle concerne le circuit imprimés de la version 1 et il existe des différences entre la R1 et la R2 et comme par hasard ces différences sont juste là où avec leur méthode il faut faire des connexions, par exemple là où sur leur photo je vois un seul condensateur sur mon board j'en trouve 2 ce qui fait que je met en doute la totalité de leur procédure.
Je n'ai pas trouvé de procédure pour utiliser l'ISP (tant matériel que logiciel) et pourtant ils n'ont pas ajouté ce connecteur par hasard !

Merci pour vos solutions.
« Last Edit: September 08, 2011, 05:35:16 am by 68tjs » Logged

Forum Moderator
Toulouse / France
Offline Offline
Full Member
*****
Karma: 5
Posts: 243
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Voici une procédure en passant en mode DFU pour programmer le firmware du 8U2

Procédure pour Uno (R1) :


Step 1 :
Préparation matos

hard :
- Un uno et son cable usb
- Deux cordons male / male

soft :
Installation de dfu-programmer

-> sous debian et dérivés :

Code:
$ sudo apt-get install dfu-programmer

Récupération du firmware de l'Uno à partir de github :

https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/arduino-usbserial/

Cliquer sur "Arduino-usbserial-uno.hex" et télécharger la version "raw".



Step 2 :
brancher le uno sur l'usb
Placer et maintenir en place un cordon mâle/mâle et le maintenir entre un GND et la pin sup en haut à gauche du connecteur isp (reset 8U2)


Step 3:
brancher le second cordon male male à un GND et toucher un court instant le coté gauche du condensateur situé au dessus du strap reset (cf photo)


Step 4
débrancher les cordons, pas l'usb
lancer  les commander de prog

Ouvrir une console (gnome-terminal sous gnome ou konsole sous kde)
Se placer dans le répertoire où se trouve le fichier bootloader,  par défaut :

Code:
$ cd Téléchargements

Code:
$ sudo dfu-programmer at90usb82 erase
$ sudo dfu-programmer at90usb82 flash Arduino-usbserial-uno.hex

réponse attendue :
Validating...
4058 bytes used (99.07%)


Code:
$ sudo dfu-programmer at90usb82 reset

puis plug unplug usb/arduino



Note : testé avec dfu-programmer version 0.5.1 certaines versions antérieures peuvent ne pas fonctionner (ubuntu  >= 10.04 ok)

Bon courage,

Lionel
« Last Edit: September 07, 2011, 08:31:52 am by Snootlab » Logged

- Distributeur officiel Arduino - France

Forum Moderator
Toulouse / France
Offline Offline
Full Member
*****
Karma: 5
Posts: 243
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, je viens de comprendre que vos problèmes sont la la version R2...
je vais refaire des photos smiley

Edit : un peu plus tard....

Programmer le firmware du 8U2 en mode DFU

Procédure pour Uno R2 :

C'est une version CMS en photo mais les points concernés sont au même endroit pour le UNO R2 non CMS

Step 1 :
Préparation matos

hard :
- Un uno R2 et son cable usb
- Un cordon mâle / mâle
- Un cordon mâle / femelle

soft :
Installation de dfu-programmer

-> sous debian et dérivés :

Code:
$ sudo apt-get install dfu-programmer

Récupération du firmware de l'Uno à partir de github :

https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/arduino-usbserial/

Cliquer sur "Arduino-usbserial-uno.hex" et télécharger la version "raw".



Step 2 :
brancher le uno sur l'usb
et placer le cordon male femelle entre un GND et la pin sup en haut à gauche du connecteur isp (reset 8U2)
le laisser en place




Step 3:
brancher le second cordon male male à un GND et toucher un court instant le coté gauche du condensateur situé au dessus du strap reset (cf photo)


Step 4
débrancher les cordons, pas l'usb
lancer  les commander de prog

Ouvrir une console (gnome-terminal sous gnome ou konsole sous kde)
Se placer dans le répertoire où se trouve le fichier bootloader,  par défaut :

Code:
$ cd Téléchargements

Code:
$ sudo dfu-programmer at90usb82 erase
$ sudo dfu-programmer at90usb82 flash Arduino-usbserial-uno.hex

réponse attendue :
Validating...
4058 bytes used (99.07%)


Code:
$ sudo dfu-programmer at90usb82 reset

puis plug unplug usb/arduino



Note : testé avec dfu-programmer version 0.5.1 certaines versions antérieures peuvent ne pas fonctionner (ubuntu  >= 10.04 ok)

Bon courage,

Lionel
« Last Edit: September 07, 2011, 08:43:13 am by Snootlab » Logged

- Distributeur officiel Arduino - France

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2311
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci.
Je conclu que contrairement au document officiel la résistance de 10k est inutile, ça tombe bien parce que l'implantation a été revue au verso de l'Atmega8u et que les via ne sont plus au même endroit.

Je trouve quand même un peu gros que l'équipe arduino n'ai :
- pas mis la documentation à jour : les documents eagle sont toujours ceux de la première version: des pistes et des vias ont été déplacés et pas qu'un ou deux.
- livre des boards avec un régulateur en sot223 au lieu du Dpack, la différence entre les deux c'est juste une résistance thermique jonction-boitier de 15 d°/W au lieu de 6 , une bagatelle.
- livre toujours des anciennes versions 6 mois après une mise à jour du firmware sans faire de mise en garde sur l'utilisation avec Linux ou alors ils ne maîtrisent pas leur sous-traitant, tient je suis curieux de savoir dans quel pays il est le sous-traitant.

Bref je suis en colère, encore une fois j'accepte les problèmes techniques mais dans la transparence et l'honnêteté.

Encore merci, je vais attendre demain d'être plus calme pour faire la mise à jour.
Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 980
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
je vais attendre demain d'être plus calme pour faire la mise à jour.
smiley

Vu sur la FAQ
Quote
Who makes Arduino boards?

Most of the official Arduino boards are manufactured by SmartProjects in Italy. The Arduino Pro, Pro Mini, and LilyPad are manufactured by SparkFun Electronics (a US company). The Arduino Nano is manufactured by Gravitech (also a US company).

http://www.smartprj.com/catalog/

ci joint également le schéma de la Uno Rev2 récupéré sur la mailinglist des developeurs Arduino ainsi que  les fichiers Eagle ( carte et schéma) (source : http://arduino.cc/pipermail/developers_arduino.cc/2011-June/005181.html.

Il semble que le site Arduino ne soit pas encore à jour.


* arduino-uno-rev2-schematic.pdf (91.55 KB - downloaded 22 times.)
* arduino-uno-rev2-reference-design.zip (137.69 KB - downloaded 10 times.)
« Last Edit: September 07, 2011, 12:31:27 pm by al1fch » Logged

Forum Moderator
Toulouse / France
Offline Offline
Full Member
*****
Karma: 5
Posts: 243
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci.
Je conclu que contrairement au document officiel la résistance de 10k est inutile, ça tombe bien parce que l'implantation a été revue au verso de l'Atmega8u et que les via ne sont plus au même endroit.
Avec plaisir,
J'imagine (je vais vérifier) que cette résistance est un pullup ou down et qu'elle assure un peu de robustesse à l'opération, je ne dirai pas "inutile" mais plutôt "pas indispensable".

Lionel
Logged

- Distributeur officiel Arduino - France

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2311
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Opération mise à jour réussie.

OS -> Debian testing
dfu-programmer  version 5.11 dépot debian-testing
Merci à tous

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour l'info smiley
mis a jour sans problème sous ubuntu 11.04
Logged

Pages: [1]   Go Up
Jump to: