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

Guillermo Reisch - Fing greisch en fing.edu.uy
Sab Abr 13 15:47:08 UYT 2013


Supongo primero utilizaste una Arduino Leonardo ; y prototipaste sobre la 
misma?

PD: el esquematismo que mandas no es código fuente kicad
PD2: no mandas el código firmware (código arduino)
PD3: no adjuntaste el esquematismo del "shield" para butia que usaste de 
prototipo? (código fuente)
PD4: Convertiste el código firmware pic18 a avr o hiciste uno de cero? (código 
fuente), si es así no olvides notificar los cambios realizados (GPLv3)

No tengo forma de reproducir lo que realizaste allá para poder darte un 
feadback correspondiente, tampoco puedo ayudarte ya que no poseo el código 
fuente que estas utilizando.

Manda el código y vemos como ayudarte

Besitos Guille :-)


On Sun 07 Apr 2013 20:23:16 Federico Andrade - InCo escribió:
> 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/Cateri
> >>>>> na-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-Leon
> >>>>> ardo.hex" avrdude: input file
> >>>>> arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leona
> >>>>> rdo.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-Leona
> >>>>> rdo.hex:
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> avrdude: load data flash data from input file
> >>>>> arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leona
> >>>>> rdo.hex: avrdude: input file
> >>>>> arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leona
> >>>>> rdo.hex auto detected as Intel Hex
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> avrdude: input file
> >>>>> arduino/arduino/hardware/arduino/bootloaders/caterina/Caterina-Leona
> >>>>> rdo.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_Softwa
> >>>>> re_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
------------ prxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://{'listname': 'butia-devel-l', 'hostname': 'www.fing.edu.uy'}/pipermail/butia-devel-l/attachments/20130413/5963680e/attachment.html 


Ms informacin sobre la lista de distribucin Butia-devel-l