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

Toujours dans le fichier avrdude.conf, j'ai trouvé ça :

Code:
...

#
# some ultra cheap programmers use bitbanging on the
# serialport.
#
# PC - DB9 - Pins for RS232:
#
# GND   5   -- |O
#              |   O| <-   9   RI
# DTR   4   <- |O   |
#              |   O| <-   8   CTS
# TXD   3   <- |O   |
#              |   O| ->   7   RTS
# RXD   2   -> |O   |
#              |   O| <-   6   DSR
# DCD   1   -> |O
#
# Using RXD is currently not supported.
# Using RI is not supported under Win32 but is supported under Posix.

...


# unknown (dasa in uisp)
# reset=rts sck=dtr mosi=txd miso=cts

programmer
  id    = "dasa";
  desc  = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
  type  = serbb;
  reset = 7;
  sck   = 4;
  mosi  = 3;
  miso  = 8;
;


...

et pour ISP :




Je ne sais pas si l'on peut vraiment comparer le port RS232 avec le FT232R, mais si c'est le cas en comparant la configuration pour "dasa" et l'ISP de l'arduino, les pins miso, mosi, sck et reset ne sont pas aux bons endroits.

Je me demande si il ne faut pas refaire la configuration des pins sur la broche icsp ?
« Last Edit: November 18, 2008, 06:06:47 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

Oula j'ai du retard....
Désolé.

Je te répond dans l'ordre :
pour la lenteur du bitbang (bb) oui je confirme que pour burner mon bootloader (avec uisp) j'avais mis 20 minutes (sans la vérification) et le double avec la vérification.
C'est très long mais une fois que tu as le bootloader tu n'as plus besoin de passer par cette methode  smiley
Je te réponds sur la suite plus tard.

Nicolas
Logged

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

Ok, c'est bien ce que je me disais, merci pour ces infos.


Je suis en train de refaire mon installation, je me suis aperçu hier que lorsque j'ai installé Xcode, GCC n'avait pas été installé, c'est chose faite maintenant.

Sur cette page est décrite une procédure pour installer avrdude sur Os X, une des étapes concerne justement gcc.
 Est-ce que je dois réinstaller gcc une deuxième fois depuis le répertoire qui contiendra avrdude ?

Edit : je vais essayer sans le réinstaller une deuxième fois, car lorsque j'invoque gcc depuis n'importe quel répertoire, il répond présent...
« Last Edit: November 21, 2008, 10:03:31 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

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

si tu as gcc en ligne de commande ca doit etre bon.
Sinon pour revenir sur les anciens posts

C2N232I serial bitbang programmer : ca doit etre le bb pour la puce C2N2321 pas pour la FTDI232R

avrdude.conf c'est le fichier de conf de avrdude qui lui permet de saisir les particularités de chaque puce avr.

pour les options tu as stk500 ou dasa qui sont des programmeurs particuliers le tien (grace au patch) sera ftbb si mes souvenirs sont bons
Logged

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

si tu craques avec avrdude je peux t'aider avec uisp

essaye juste ca pour voir si ca vaut le coup d'aller + loin

download ca http://www.tuxgraphics.org/common/src2/article07052/uisp-20050207-with-usb-bbpg-patch.tar.gz

ensuite dans un terminal tu détares et dezippe puis tu fais un cd dans le repertoire créé et tu fais

% ./configure
% make


si ca marche ca veut dire que tu n'es plus très loin de la solution

(je t'enverrai ensuite les modifs de code pour que ca marche sur l'arduino + les  lignes de commandes pour faire du bb)

Nicolas
Logged

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

Grosse panne d'internet dans ma région ce soir ...  >smiley-sad

J'ai essayé d'installer le patch, il s'est apparemment configuré, mais "make" me donne :

Code:
.....
DAPA.C:1314: error: 'ftdibb_setBitMode' cannot be used as a function
DAPA.C: In destructor 'TDAPA::~TDAPA()':
DAPA.C:1375: error: 'bbpg_dev_handle' was not declared in this scope
DAPA.C:1375: error: 'ftdibb_setBitMode' cannot be used as a function
DAPA.C:1376: error: 'ftdibb_close' cannot be used as a function
make[2]: *** [DAPA.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1


Autrement on dirait que averdude est installé :

Code:
$ avrdude -v

avrdude: Version 5.6cvs, compiled on Nov 20 2008 at 19:22:47
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/Users/JFS/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping


avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

cette version possède des librairies qui s'appellent bitbang.h ...
mais après je patauge :-?
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

pour avrdude essaye de faire un avrdude -c toto dans  une console pour avoir la liste des programmeurs si tu as ftbb c'est tout bon.

Nicolas
Logged

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

J'avais pas réalisé pour "toto"... ;D

Code:
avrdude: Can't find programmer id "toto"

J'ai pas ftbb dans la liste  :-[

Code:
Valid programmers are:
  c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [/etc/avrdude.conf:622]
  dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [/etc/avrdude.conf:609]
  dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [/etc/avrdude.conf:596]
  siprog   = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [/etc/avrdude.conf:583]
  ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [/etc/avrdude.conf:570]
  pavr     = Jason Kyle's pAVR Serial Programmer [/etc/avrdude.conf:541]
  dragon_dw = Atmel AVR Dragon in debugWire mode [/etc/avrdude.conf:534]
  dragon_hvsp = Atmel AVR Dragon in HVSP mode  [/etc/avrdude.conf:526]
  dragon_pp = Atmel AVR Dragon in PP mode    [/etc/avrdude.conf:518]
  dragon_isp = Atmel AVR Dragon in ISP mode   [/etc/avrdude.conf:510]
  dragon_jtag = Atmel AVR Dragon in JTAG mode  [/etc/avrdude.conf:502]
  jtag2dw  = Atmel JTAG ICE mkII in debugWire mode [/etc/avrdude.conf:494]
  jtag2isp = Atmel JTAG ICE mkII in ISP mode [/etc/avrdude.conf:486]
  jtag2    = Atmel JTAG ICE mkII            [/etc/avrdude.conf:478]
  jtag2fast = Atmel JTAG ICE mkII            [/etc/avrdude.conf:470]
  jtag2slow = Atmel JTAG ICE mkII            [/etc/avrdude.conf:462]
  jtagmkII = Atmel JTAG ICE mkII            [/etc/avrdude.conf:454]
  jtag1slow = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:447]
  jtag1    = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:439]
  jtagmkI  = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:431]
  avr911   = Atmel AppNote AVR911 AVROSP    [/etc/avrdude.conf:425]
  avr109   = Atmel AppNote AVR109 Boot Loader [/etc/avrdude.conf:419]
  butterfly = Atmel Butterfly Development Board [/etc/avrdude.conf:413]
  usbtiny  = USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/ [/etc/avrdude.conf:407]
  usbasp   = USBasp, http://www.fischl.de/usbasp/ [/etc/avrdude.conf:401]
  avr910   = Atmel Low Cost Serial Programmer [/etc/avrdude.conf:395]
  stk600hvsp = Atmel STK600 in high-voltage serial programming mode [/etc/avrdude.conf:389]
  stk600pp = Atmel STK600 in parallel programming mode [/etc/avrdude.conf:383]
  stk600   = Atmel STK600                   [/etc/avrdude.conf:377]
  stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode [/etc/avrdude.conf:371]
  stk500pp = Atmel STK500 V2 in parallel programming mode [/etc/avrdude.conf:365]
  stk500v2 = Atmel STK500 Version 2.x firmware [/etc/avrdude.conf:359]
  mib510   = Crossbow MIB510 programming board [/etc/avrdude.conf:353]
  stk500v1 = Atmel STK500 Version 1.x firmware [/etc/avrdude.conf:347]
  stk500   = Atmel STK500                   [/etc/avrdude.conf:341]
  avrisp2  = Atmel AVR ISP mkII             [/etc/avrdude.conf:331]
  avrispmkII = Atmel AVR ISP mkII             [/etc/avrdude.conf:325]
  avrispv2 = Atmel AVR ISP V2               [/etc/avrdude.conf:319]
  avrisp   = Atmel AVR ISP                  [/etc/avrdude.conf:313]
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

Bon ben revenons sur ta compile de uisp
Que dit le configure (donne moi la sortie)

Nicolas
Logged

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

J'ai ça en sortie de ./configure :

Code:
powerbook:uisp-20050207-with-usb-bbpg-patch $ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking types of arguments for select... int,fd_set *,struct timeval *
rm: conftest.dSYM: is a directory
checking for working strtod... yes
checking for vprintf... yes
checking for _doprnt... no
checking for gettimeofday... yes
checking for memset... yes
checking for select... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strtol... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating uisp.1
config.status: creating uisp.spec
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
powerbook:uisp-20050207-with-usb-bbpg-patch $
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: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon... j'ai fait un autre essai, j'ai complètement désinstaller avrdude 5.6cvs.
J'ai installer une version plus ancienne, averdude 5.3.1.

J'ai essayer de patcher... sans succés  smiley-sad

J'ai trouvé un autre patch (que j'ai mis à la main :smiley) et ça me donne toujours pareille deux warnings et des errors aux mêmes endroits :

Code:
...

configure: creating ./config.status
 /bin/sh ./config.status
config.status: creating windows/Makefile
config.status: WARNING:  windows/Makefile.in seems to ignore the --datarootdir setting
config.status: creating avrdude.spec
config.status: creating Makefile
config.status: WARNING:  Makefile.in seems to ignore the --datarootdir setting
config.status: creating avrdude.conf.tmp
sed: 1: "avrdude.conf.tmp": command a expects \ followed by text
config.status: creating ac_cfg.h
config.status: executing depfiles commands
cd . && /bin/sh /Applications/Arduino/arduino-0012/bootloader-usb/avrdude-5.3.1/missing --run autoheader
rm -f stamp-h1
touch ac_cfg.h.in
cd . && /bin/sh ./config.status ac_cfg.h
config.status: creating ac_cfg.h
make  all-recursive
Making all in @WINDOWS_DIRS@
/bin/sh: line 0: cd: @WINDOWS_DIRS@: No such file or directory
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
powerbook:avrdude-5.3.1 $


Ici quelques infos sur les programmeurs série
« Last Edit: November 23, 2008, 04:05: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

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

J'ai trouvé une autre page où un programmeur DIY est proposé (aussi pour mac ?), mais je ne sais pas ce que ça vaut et en plus l'Atmega168 n'est pas mentionné comme supporté.
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: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai trouvé ça sur sourceforge et je me demande ce que c'est ?

http://sourceforge.net/projects/dfu-programmer/


Un Programmeur UsbAsp.


Un programmeur sans puce FTDI à faire soit même sur la base d'un Mega168 et qui fonctionnerait sur mac.


http://www.fischl.de/avrusbboot/
« Last Edit: November 23, 2008, 05:54:53 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: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Maintenant j'ai fait ce montage :

http://www.obdev.at/products/avrusb/usbasploader.html

et j'ai downloadé celui ci :

http://www.obdev.at/downloads/avrusb/USBaspLoader.2008-02-05.zip


J'ai suivi les indications dans le read.txt et j'ai fais un make sur le firmware comme indiqué, ma pris eusb sur l'ordi et l'autre sur le montage.

Je me retrouve avec ça :

Code:
powerbook:firmware $ make
avr-gcc -Wall -Os -I. -mmcu=atmega168 -DF_CPU=16000000  -x assembler-with-cpp -c usbdrv/usbdrvasm.S -o usbdrv/usbdrvasm.o
avr-gcc -Wall -Os -I. -mmcu=atmega168 -DF_CPU=16000000  -c usbdrv/oddebug.c -o usbdrv/oddebug.o
avr-gcc -Wall -Os -I. -mmcu=atmega168 -DF_CPU=16000000  -c main.c -o main.o
usbdrv/usbdrv.h:198: warning: 'usbFunctionDescriptor' declared `static' but never defined
avr-gcc -Wall -Os -I. -mmcu=atmega168 -DF_CPU=16000000  -o main.bin usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o -Wl,--section-start=.text=3800
rm -f main.hex main.eep.hex
avr-objcopy -j .text -j .data -O ihex main.bin main.hex
avr-size main.hex
   text         data          bss          dec          hex      filename
      0         2288            0         2288          8f0      main.hex
powerbook:firmware JFS$ make
make: Nothing to be done for `all'.
powerbook:firmware JFS$ avr-gcc -Wall -Os -I. -mmcu=atmega168 -DF_CPU=16000000  -x assembler-with-cpp -c usbdrv/usbdrvasm.S -o usbdrv/usbdrvasm.o
powerbook:firmware $

Si je refais un make j'ai ça :

Code:
powerbook:firmware $ make
make: Nothing to be done for `all'.
powerbook:firmware $

Après je suis coincé... je ne sais pas si je dois coder quelques choses et surtout comment...

Dans le package il y a des fichiers .ex dont un mega168_16mhz.hex, j'en fais quoi ?
« Last Edit: November 24, 2008, 08:12:48 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

Jean François, tu pourrais résumer ton problème et où tu en es ? le sujet m'intéresse pas mal, alors si je peux apportai 2/3 info à la discussion...  smiley
Logged

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