[Butia-devel-list] Placa Butiá basada en Arduino Leonardo (usando el micro ATmega 32u4)

Federico Andrade - InCo fandrade en fing.edu.uy
Sab Abr 6 16:41:55 UYT 2013


El error fue lo primero que busque.En mi maquina da error 32 que es broken
pipe y en otra pc me da 71 que es error en el protocolo. Por lo que estuve
leyendo, estos errores se asocian a problemas de hardware que generan
problemas de comunicación...pero no puedo descubir donde ni cual es el
problema.

Los voltajes están bien, probe en distintas máquinas, con distintos cables.
Probe la continuidad desde las patas del micro y la punta que va en la pc
del cable usb y estaba todo ok.
El micro está corriendo normal con el bootloader...toy desconcertado


2013/4/6 Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com>

> Eso lo encontré en una página por ahí.
> Quizás si buscás ese error encontrás algo. Parece ser un error común.
>
> ------------------------------
> From: fandrade en fing.edu.uy
> Date: Sat, 6 Apr 2013 15:41:41 -0300
> To: aaguirre en fing.edu.uy
>
> CC: butia-devel-l en fing.edu.uy; butia en fing.edu.uy
> Subject: Re: [Butia-devel-list] Placa Butiá basada en Arduino Leonardo
> (usando el micro ATmega 32u4)
>
> Nop, he grabado el mismo bootloader para otros micros atmega corren de una.
>
> Esta es la salida dp de haber grabado el bootloader:
>
> fede en leni:~$ avrdude -p m32U4 -P /dev/ttyUSB0 -c avrisp -b 19200 -U flash:w:arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex
>
> avrdude: AVR device initialized and ready to accept instructions
>
>
> Reading | ################################################## | 100% 0.02s
>
> avrdude: Device signature = 0x1e9587
> avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
> áá á á á To disable this feature, specify the -D option.
>
>
>
> avrdude: erasing chip
> avrdude: reading input file "arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex"
> avrdude: input file arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex auto detected as Intel Hex
>
>
>
> avrdude: writing flash (32722 bytes):
>
> Writing | ################################################## | 100% 9.66s
>
> avrdude: 32722 bytes of flash written
> avrdude: verifying flash memory against arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex:
>
>
>
> avrdude: load data flash data from input file arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex:
> avrdude: input file arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex auto detected as Intel Hex
>
>
>
> avrdude: input file arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex contains 32722 bytes
> avrdude: reading on-chip flash data:
>
> Reading | ################################################## | 100% 19.13s
>
>
>
> avrdude: verifying ...
> avrdude: 32722 bytes of flash verified
>
> avrdude: safemode: Fuses OK
>
> avrdude done. áThank you.
>
> fede en leni:~$
>
>
> DespuÚs hay que setearle los fuses, y la salida fue la siguiente:
>
> fede en leni:~$ avrdude -p m32u4 -P /dev/ttyUSB0 -c avrisp -b 19200 -nv
> avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:41:10
>
>
> áá á á á Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
> áá á á á Copyright (c) 2007-2009 Joerg Wunsch
>
> áá á á á System wide configuration file is "/etc/avrdude.conf"
>
>
>
> áá á á á User configuration file is "/home/fede/.avrduderc"
> áá á á á User configuration file does not exist or is not a regular file, skipping
>
> áá á á á Using Port á á á á á á á á á á: /dev/ttyUSB0
>
>
> áá á á á Using Programmer á á á á á á á: avrisp
>
> áá á á á Overriding Baud Rate á á á á á: 19200
> áá á á á AVR Part á á á á á á á á á á á: ATmega32U4
> áá á á á Chip Erase delay á á á á á á á: 9000 us
> áá á á á PAGEL á á á á á á á á á á á á : PD7
> áá á á á BS2 á á á á á á á á á á á á á : PA0
>
>
>
> áá á á á RESET disposition á á á á á á : dedicated
> áá á á á RETRY pulse á á á á á á á á á : SCK
> áá á á á serial program mode á á á á á : yes
> áá á á á parallel program mode á á á á : yes
> áá á á á Timeout á á á á á á á á á á á : 200
>
>
>
> áá á á á StabDelay á á á á á á á á á á : 100
> áá á á á CmdexeDelay á á á á á á á á á : 25
> áá á á á SyncLoops á á á á á á á á á á : 32
> áá á á á ByteDelay á á á á á á á á á á : 0
> áá á á á PollIndex á á á á á á á á á á : 3
>
>
>
> áá á á á PollValue á á á á á á á á á á : 0x53
> áá á á á Memory Detail á á á á á á á á :
>
> áá á á á á á á á á á á á á á á á áBlock Poll á á á á á á á Page á á á á á á á á á á á Polled
> áá á á á á Memory Type Mode Delay Size áIndx Paged áSize á Size #Pages MinW áMaxW á ReadBack
>
>
>
> áá á á á á ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
> áá á á á á eeprom á á á á65 á á10 á á 8 á á0 no á á á 1024 á á8 á á á0 á9000 á9000 0x00 0x00
> áá á á á á flash á á á á 65 á á 6 á 128 á á0 yes á á 32768 á128 á á256 á4500 á4500 0x00 0x00
>
>
>
> áá á á á á lfuse á á á á á0 á á 0 á á 0 á á0 no á á á á á1 á á0 á á á0 á9000 á9000 0x00 0x00
> áá á á á á hfuse á á á á á0 á á 0 á á 0 á á0 no á á á á á1 á á0 á á á0 á9000 á9000 0x00 0x00
> áá á á á á efuse á á á á á0 á á 0 á á 0 á á0 no á á á á á1 á á0 á á á0 á9000 á9000 0x00 0x00
>
>
>
> áá á á á á lock á á á á á 0 á á 0 á á 0 á á0 no á á á á á1 á á0 á á á0 á9000 á9000 0x00 0x00
> áá á á á á calibration á á0 á á 0 á á 0 á á0 no á á á á á1 á á0 á á á0 á á 0 á á 0 0x00 0x00
> áá á á á á signature á á á0 á á 0 á á 0 á á0 no á á á á á3 á á0 á á á0 á á 0 á á 0 0x00 0x00
>
>
>
> áá á á á Programmer Type : STK500
> áá á á á Description á á : Atmel AVR ISP
> áá á á á Hardware Version: 2
> áá á á á Firmware Version: 1.18
> áá á á á Topcard á á á á : Unknown
> áá á á á Vtarget á á á á : 0.0 V
>
>
>
> áá á á á Varef á á á á á : 0.0 V
> áá á á á Oscillator á á á: Off
> áá á á á SCK period á á á: 0.1 us
>
>
> avrdude: AVR device initialized and ready to accept instructions
>
> Reading | ################################################## | 100% 0.02s
>
>
>
> avrdude: Device signature = 0x1e9587
> avrdude: safemode: lfuse reads as E0
> avrdude: safemode: hfuse reads as D8
> avrdude: safemode: efuse reads as CB
>
> avrdude: safemode: lfuse reads as E0
> avrdude: safemode: hfuse reads as D8
>
>
>
> avrdude: safemode: efuse reads as CB
> avrdude: safemode: Fuses OK
>
> avrdude done. áThank you.
>
> fede en leni:~$
>
>
>
>
>
>
>
> Esta es la salida dp de haber grabado el bootload. DescubrÝ por ahi que el
> bootloader cuando estß funcionando prende y apaga un led en una de las
> patas del micro, entonces le puse el led y efectivamente le mismo estß
> corriendo.
> Sin embargo sigue fallando la comuniaci¾n usb entre la placa y el micro.
>
> Acß estß la prueba
> http://www.youtube.com/watch?v=t-e35YtVw-g&feature=youtu.be
>
>
> Alan, eso que me pusiste por ahi...no lo puedo hacer, ni siendo root..
> tenÚs la fuente?
> sabÚs bien que es lo que genera?
>
>
>
>
> 2013/4/5 Andres Aguirre <aaguirre en fing.edu.uy>
>
> y el bootloader no esperara que toques un bot¾n al iniciar para arrancar a
> ejecutar ?
> generalmente el c¾digo de los bootloader es:
>
> if(condici¾n_ejecuci¾n)
> á á //c¾digo del bootloader
> else
> á á //salto a posici¾n donde se encuentra el c¾digo del usuario
>
> slaudos
> á
>
>
> 2013/4/4 Federico Andrade - InCo <fandrade en fing.edu.uy>
>
> En el micro grabÚ el bootloader que viene con la placa Arduino Leonardo.
> Exactamente el mismo, ademßs fueron seteados los fuses tal cual la placa
> Arduino Leonardo (que tiene el mismo micro). Al final del proceso de
> grabaci¾n, el programita que graba, leÚ la memoria y hace un checksum de lo
> que leyo comparado con lo que queria grabar y eso dio bien, o sea que estoy
> bastante seguro que el checksum esta ok.
>
> Creo que el error viene por otro lado :S
>
>
> 2013/4/4 Andres Aguirre <aaguirre en fing.edu.uy>
>
>
> 2013/4/4 Federico Andrade - InCo <fandrade en fing.edu.uy>
>
> device descriptor read/64, error -32
>
>
> primero que nada, que tiene dentro el micro? viene de fßbrica o le
> grabaste algo??
> Cuando uno conecta algo al USB se da un proceso llamado enumeraci¾n entre
> el dispositivo y el host, es bßsicamente un protocolo que permite que el
> sistema operativo descubra que tipo de dispositivo es y asigne recursos
> para elá
> http://support.atmel.no/knowledgebase/avr32studiohelp/AT32UC3A_Software_Framework/DRIVERS/USBB/EXAMPLES/ENUM_EXAMPLE_FREERTOS/DOC/html/usb_host_task.jpg.
> En este protocolo el device intercambia descriptores con el host, esto
> tiene que estar implementado por tu micro por vos o por una biblioteca del
> fabricante que implemente el stack usb. Hay muchas cosas interesantes acß
> que uno puede especificar que estß bueno para charlar mßs adelante.
> Asegurate que tengas los bits adecuados en tu micro.
> saludos
> andres
>
>
>
>
>
> _______________________________________________ Butia-devel-l site list
> Butia-devel-l en fing.edu.uy
> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://www.fing.edu.uy/pipermail/butia-devel-l/attachments/20130406/2ca4ff00/attachment.html


Más información sobre la lista de distribución Butia-devel-l