Go Down

Topic: Mettre un bootloader sur un atmega168 avec un Mac (Read 5725 times) previous topic - next topic

Jean-François

#45
Nov 25, 2008, 10:42 pm Last Edit: Nov 26, 2008, 12:44 am by jfs Reason: 1
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  ;), 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  :))  .

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: [Select]
could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
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

nrolland

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

Vincent

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...  :-/)

Jean-François

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 ?
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

Jean-François

#49
Nov 26, 2008, 10:57 pm Last Edit: Nov 26, 2008, 11:13 pm by jfs Reason: 1
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 ;)

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: [Select]
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: [Select]
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: [Select]
#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  >:(  
Donc de nouveau en train de ramer...
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

Vincent

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/

Jean-François

#51
Nov 27, 2008, 08:59 am Last Edit: Nov 27, 2008, 08:59 am by jfs Reason: 1
Dans le fichier qui va avec ce montage le "read.txt" spécifie ça :

Code: [Select]
...

- 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  :'(
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

Vincent

#52
Nov 27, 2008, 05:41 pm Last Edit: Nov 27, 2008, 05:41 pm by Vincent Reason: 1
Alors pourquoi il parle d'avrdude pour uploader le fichier .hex  :-?

Jean-François

#53
Nov 27, 2008, 09:09 pm Last Edit: Nov 27, 2008, 09:13 pm by jfs Reason: 1
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: [Select]
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...  ::)
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

Jean-François

>:( ça ne fonctionne de nouveau plus...

Code: [Select]
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 ...
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

Jean-François

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
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

Vincent

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

Jean-François

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  ::) ç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.
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

Jean-François

#58
Nov 30, 2008, 05:45 pm Last Edit: Nov 30, 2008, 05:52 pm by jfs Reason: 1
J'ai trouvé ça sur une base d'Arduino

Le texte a quelques détails intéressants par rapport au blocage du mega168
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

Jean-François

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.
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

Go Up