Pages: 1 2 3 [4] 5 6 7   Go Down
Author Topic: Mettre un bootloader sur un atmega168 avec un Mac  (Read 5153 times)
0 Members and 1 Guest are viewing this topic.
Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Vincent,

J'aimerais flasher un bootlader sur un atmega168 en CMS, j'ai fabriqué un adaptateur pour pouvoir le programmer et ensuite le souder sur le circuit imprimé.

Je travaille sur Mac uniquement et j'ai un Os X, je n'ai pas Linux (bien qu'il faut que je l'installe et que je m'y mette sérieusement).

NRolland m'a donné un sacré coup de pouce jusqu'à maintenant  smiley-wink, mais on reste coincé sur des problèmes d'installations pour UISP et FTbb.

Ces deux logiciels qui tournent sur plateforme Unix (donc ça devrait aller sur Os X) permettent de faire un bit bang pour mettre un bootloader sur une puce AVR.

Actuellement je cherche du coté de l'USBasp qui utilise simplement le port usb sans le convertir en port série virtuel.

J'ai tout désinstaller avrdude et Uisp, ainsi que les libs qui s'y rapportaient afin de réinstaller AvrMacPack (une compil avec avrdude, avr-gcc etc...de ce coté c'est ok  smiley)  .

J'ai trouvé le projet Metaboard dont j'ai mis le lien plus haut et j'ai commencé à essayer de faire quelques choses avec.

Le problème que j'ai actuellement c'est que je n'arrive pas à faire reconnaitre mon "programmeur" Usbasp car mon ordi ne le voit pas.

Ensuite de ça comme je n'y connais rien en Fuse et bootloader ... c'est un peu la semoule  ;D

Dans la console j'ai ça :

Code:
could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
« Last Edit: November 25, 2008, 06:44:02 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

FR
Offline Offline
Full Member
***
Karma: 0
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je précise ce que dit JF.
Le pb qd tu veux faire un programmeur c'est résoudre le pb de la poule et de l'oeuf c'est à dire : comment programmer la puce qui aura du code sur le programmeur sans programmeur.
en passant par le mode bit bang de la puce FTDI c'est possible (mais très lent).
Sinon c'est une très bonne idée de faire http://www.fischl.de/usbasp/ mais il faudra qu'a un moment donné tu falshes le prog sur l'atmega => pb de la poule et de l'oeuf.

Nicolas
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci ! je comprend mieux maintenant. En fait moi je me suis équipé d'un petit programmateur de chez Atmel (une trentaine d'euros je crois), du coup c'est plus simple pour programmer un uC. Moi le truc c'est que je sais pas trop comment envoyer le fichier compiler à travers l'usb vers le uC. Dès que j'ai un peu de temps* je regarderais ça.

* (j'espère ce week-end...  :-/)
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'avais oublié l'histoire de la poule et de l'oeuf...

Donc en fait il faut que j'ai un M168 déjà boot loadé et mettre le firmware dessus ?
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

En relisant toute les spécs de chaque montage USBasp, il me semble que ce n'est pas possible de bootloader un AVR qui n'a jamais été bootloadé  :-?
Donc après moults essais sur cette piste, je reviens patauger sur UISP smiley-wink

donc j'ai repris le patch, dans un terminal, je mesuis mis sur le répertoire ... ./configure... make... plantage, j'ai ça au début du rapport dans mon terminal :

Code:
powerbook:uisp-20050207-with-usb-bbpg-patch $ make
Making all in src
make  all-am
if g++ -DHAVE_CONFIG_H -I. -I. -I.    -Wall -Werror -I/usr/local/libusb/include -g -O2 -MT DAPA.o -MD -MP -MF ".deps/DAPA.Tpo" \
        -c -o DAPA.o `test -f 'DAPA.C' || echo './'`DAPA.C; \
      then mv -f ".deps/DAPA.Tpo" ".deps/DAPA.Po"; \
      else rm -f ".deps/DAPA.Tpo"; exit 1; \
      fi
In file included from DAPA.C:50:
ftdibb.h:9:17: error: usb.h: No such file or directory
ftdibb.h:19: error: expected initializer before '*' token
cc1plus: warnings being treated as errors
ftdibb.h:20: warning: 'ftdibb_setBaudRate' initialized and declared 'extern'
ftdibb.h:20: error: 'usb_dev_handle' was not declared in this scope
ftdibb.h:20: error: 'dev_handle' was not declared in this scope
ftdibb.h:20: error: expected primary-expression before 'int'
...

Et ce qui m'interpelle plus particulièrement  c'est ce passage :

Code:
In file included from DAPA.C:50:
ftdibb.h:9:17: error: usb.h: No such file or directory

Je vais jetter un coup d'oeil à la ligne 9 du fichier /src/ftdibb.h, et je tombe sur ça :

Code:
#include <usb.h>
// To use this library you need write access to /proc/bus/usb
// This is because we use libusb to send the urb message.
// You can write a suid program to make it usable for a normal user (chmod 4755)

// Call sequence:
//    ftdibb_open
//    ftdibb_setBaudRate for baud rate 9600 (reasonable value bit bang)
//    ftdibb_setBitMode with onoff=1

Là si je comprend bien la lib usb.h n'est pas trouvable (pourtant elle est là) car libusb prend la main dessus... et il faudrait faire une modif dans /proc/bus/usb

Le gros problème c'est que ce répertoire /proc/ n'existe pas sur Mac Osx  >smiley-sad  
Donc de nouveau en train de ramer...
« Last Edit: November 26, 2008, 05:13:04 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je ne sais pas si ça peux vous aider, mais on devrait pouvoir utiliser une Arduino comme programmateur ISP avec avrdude, mais je sais pas quel nom de programmateur faut utiliser dans la commande avrdude.

http://tinker.it/now/2006/12/04/turn-arduino-into-an-avr-isp-programmer/
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dans le fichier qui va avec ce montage le "read.txt" spécifie ça :

Code:
...

- install uisp-20050207.tar.gz + uisp-20050207-usb-bbpg-patch.txt
  or install uisp-20050207-usb-bbpg.tar.gz

...

Et c'est justement là que je coince avec mon mac  :'(
« Last Edit: November 27, 2008, 02:59:36 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors pourquoi il parle d'avrdude pour uploader le fichier .hex  :-?
« Last Edit: November 27, 2008, 11:41:26 am by Vincent » Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yeeeeepeeeee !!!

Merci Vincent, suite à ta remarque je suis retourné sur cette page, il faut faire le tuto décrit sur la page et ne pas prendre en compte ce qui est dans le fichier READ.txt du zip (c'est celui de la méthode originale et n'est pas adapté).


j'ai galéré un moment avec ce fichier load.command, il faut mettre le nom de la liaison USB (de/tty.usbserial...) et mettre le chemin pour atteindre l'exécutable de Uisp (à mettre dans le fichier bin de l'IDE Arduino. Ensute dans le terminal il faut faire ./load.command (peut être changer son chmod ??).

Et maintenant j'ai ça :

Code:
powerbook:avrusb500-1.5-arduino $ ./load.command
Firmware Version: 1.16
Atmel AVR similar to the ATmega161 is found.
Firmware Version: 1.16
Uploading: flash
#################################################################################################################################
(total 4108 bytes transferred in 3.49 s (1179 bytes/s)
powerbook:avrusb500-1.5-arduino $


Merci également à Nrolland, pour toutes les indications que tu m'as donné.

Je vais faire quelques essais en branchant cette prise ICSP et je vais essayer de bootloader ces mega168 en cms, mais pour ça je vais encore avoir besoin d'un coup de main...  :smiley
« Last Edit: November 27, 2008, 03:13:55 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 >smiley-sad ça ne fonctionne de nouveau plus...

Code:
powerbook:avrusb500-1.5-arduino $ ./load.command
Programmer is not responding.
powerbook:avrusb500-1.5-arduino $

Je n'arrive pas à trouver le problème  :-/, c'est désespérant ...
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sur le site de silicium628, il parle de problème rencontré avec des µc qui ne répondent plus...

A la section Troubleshooting ils parleraent de problème Hardware
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As tu changé les fuses ? la vitesse du quartz dans les fuses ?
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est là tout le problème, je n'ai rien changé, j'ai 4 atmega168 (déjà bootloadé) dont 1 qui est défectueux. J'ai réussi à charger une fois le fichier .hex qui devait me permette de faire un programmeur avec mon Arduino, puis ensuite plus rien... ça ne fonctionnant pas. J'ai changer de µc pour voir et là c'est pareille "programmer is not responding" et avec celui qui est défectueux " [VP 1] Device is not responding correctly".

Pour faire uns test j'ai commandé une nouvelle plaque et un nouveau µc... en plus j'ai craqué j'ai commandé un programmeur ISP  :smiley ça m'évite de payer des frais de ports deux fois.
Malgré tout le problème m'intéresse, d'autant que je n'ai jamais bootloadé un µc et que je n'ai aucune expérience pour les fuses.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai trouvé ça sur une base d'Arduino

Le texte a quelques détails intéressants par rapport au blocage du mega168
« Last Edit: November 30, 2008, 11:52:10 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sur le dernier lien que j'ai mis, il y a quelque chose de pas trop clair au niveau des pattes 7-8-20-21-22 de l'atmega... c'est vraiment confu comme schéma et il me semble que ça ne correspond pas aux branchements qu'il y a sur les photos de sa plaque.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Pages: 1 2 3 [4] 5 6 7   Go Up
Jump to: