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

Andres Aguirre aaguirre en fing.edu.uy
Lun Abr 8 00:36:52 UYT 2013


Estuve mirando un poco el bootloader y usa la clase CDC, define un serial
de esa forma.
que te devuelve lsusb?
Probaste otro cable y otro puerto del equipo? probaste conectar a un HUB
alimentado de forma externa?

andres



2013/4/7 Federico Andrade - InCo <fandrade en fing.edu.uy>

> Si sí, es USB. Es a partir de ese bootloader que se puede grabar un
> programa desde el IDE de arduino a través del puerto USB.
>
>
> 2013/4/7 Andres Aguirre <aaguirre en fing.edu.uy>
>
>> Pero es un bootloader USB?
>> Activar el usb si no trae el stack USB implementado es como conectar una
>> placa de red a un pc pero no tener un stack tcp-ip en el Sistema Operativo.
>>
>>
>> 2013/4/6 Federico Andrade - InCo <fandrade en fing.edu.uy>
>>
>>> Claro, pero no es que yo escribí el bootloader, sino que agarré el
>>> bootloader que hicieron los de arduino, el mismo que venden quemado en
>>> todos sus micros para que la gente los pueda programar usando el ide de
>>> ellos. En particular, agarré el que usan para este micro. Es un bootloader
>>> que ya está mas que testeado y está en producción.
>>> De todas fomas, estuve leyendo el codigo y si bien no lo entendí todo,
>>> el tipo activa el usb sí y hace un montón de cosas con eso.
>>>
>>>
>>> 2013/4/6 Andres Aguirre <aaguirre en fing.edu.uy>
>>>
>>>> ese error lo sufrimos mil veces con edgardito en un proyecto que
>>>> trabajamos juntos :P
>>>> Se nos daba por envejecimiento del software, luego de varios días de
>>>> usarse el sistema aparecía eso. Generalmente porque se colgaba el
>>>> microcontrolador, el pc le mandaba un reset al dispositivo y este no
>>>> respondía a los mensajes de enumeración (justamente porque estaba colgado).
>>>> Si decis que mueve el led, primero asegurate que el bootloader realmente
>>>> implemente el protocolo USB y que no tengas que ponerlo vos. Ya sabes que
>>>> clase USB estas usando? todo eso es parte de lo que tenes que pensar, vas a
>>>> querer que se muestre como serial? como un dispositivo de interfaz humana?
>>>> hay muchas alternativas.  Me suena que no tenes nada que hable USB del otro
>>>> lado. Acordate que el micro solo trae el transceiver USB, el stack tenés
>>>> que implementarlo por software o usar una biblioteca que lo haga.
>>>> abrazo
>>>> andres
>>>>
>>>>
>>>>
>>>>
>>>> 2013/4/6 Federico Andrade - InCo <fandrade en fing.edu.uy>
>>>>
>>>>> 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/20130408/66ffc4e0/attachment.html


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