Siempre obteniendo ser_recv () en la carga

0

Soy nuevo en microcontroladores (no electrónicos) y construyo un Shrimp excepto que estoy usando CP2102 Estoy usando un FT232RL UART . No estoy usando la conexión DTR para el restablecimiento automático, porque no está conectado a mi cable.

Mi circuito en sí funciona bien. Usando un ISP-Programmer (AVR Dragon) con AVR Studio 6 es posible flashear cualquier código. Con esta configuración, instalé optiboot-bootloader en mi ATmega328P. Parece que está funcionando correctamente, porque después de presionar RESET , un LED conectado a D13 (PB5) parpadea tres veces.

Lamentablemente, cuando uso el IDE de Arduino que intenta cargar el "Blink" -Sketch, aparece el siguiente error:

Binary sketch size: 1.084 bytes (of a 32.256 byte maximum)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/tty.usbserial-A4VXM4PQ -b115200 -D -Uflash:w:/var/folders/yp/trpfnkdn75zfzpl33tyw0tpm0000gn/T/build3725234357197838286.tmp/Blink.cpp.hex:i 

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/user/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbserial-A4VXM4PQ
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

Buscando horas en Internet, todo lo que puedo encontrar es "revisa tus cables" o "tal vez mal cargador de arranque o chip roto". Puedo decir que el chip no está roto porque funciona con AVR Studio y no creo que el cargador de arranque esté roto. Descargué la última versión de code.google y también probé el .hex entregado con Arduino IDE. Mi cableado es bastante simple, solo conecté GND , Rx y Tx de FT232RL como los estados esquemáticos de Shrimp. Lo revisé todo varias veces y le pedí a un amigo de ingeniería (pero no está familiarizado con Arduino en detalle) que lo verifique también ... Ambos no encontramos ningún error de cableado.

También probé diferentes tiempos de -10 a +10 segundos en relación a presionar RESET , pero eso no solucionó nada. Además, mi cable USB a serie se ha probado y funciona con diferentes dispositivos (RasPI, Cisco Router y otros dispositivos). En Arduino IDE se selecciona el tty-dispositivo correspondiente. La configuración de la placa se establece en "Uno".

¿Qué puedo hacer para finalmente obtener mis bocetos en mi chip con serial y solucionar este problema para terminar mi odisea?

    
pregunta Mose

2 respuestas

2

Mientras construía un arduino experimenté problemas similares. Se redujo a dos cosas:

1) Algún error de circuito en las líneas TX / RX del cargador de arranque que tuvo un cortocircuito accidental y provocó que no respondiera

2) El archivo del cargador de arranque que utilicé era incorrecto, a pesar de que se descargó perfectamente bien y se transmitió, y todas las instrucciones me dijeron que usara esa. El problema era algo en la configuración que aparentemente cambió la velocidad en baudios y, por lo tanto, la BSL falló.

Te recomiendo que uses un analizador lógico o un osciloscopio para mirar las líneas y ver qué está pasando. Algunas de las cosas que debes buscar son:

1) No hay datos y las líneas no comienzan en su estado predeterminado

2) Velocidad en baudios o velocidad incorrecta

    
respondido por el Gustavo Litovsky
2

Hurray. También me alegra saber que no fue un problema con nuestros esquemas en enlace .

El error ser_recv () que usted describe es un error realmente genérico, por cierto, que podría crearse fácilmente por cualquier problema en el cableado en serie. Un clásico que personalmente siempre hago, es simplemente cablear TX y RX al revés, que se ve igual.

@ShrimpingIt ha estado utilizando los módulos CP2102 ultra económicos de China sin problemas (aunque es importante obtener los que se pueden soldar con un pin DTR). Nunca intente utilizar los módulos FT232, ya que parecen excesivos para este trabajo.

El programa Optiloader detecta de forma automática la familia ATMEGA328 y puede manejar la actualización del cargador de arranque Optiboot (es decir, el cargador de arranque Arduino Uno) sin problemas y todo parece funcionar bien.

Sin embargo, estamos atentos a cualquier problema que las personas estén experimentando con nuestras instrucciones y nuestro objetivo es actualizarlas y mejorarlas, cuando sea posible, cuando las personas se encuentren en una barrera de algún tipo, así que avísenos si hay algún cambio. puede hacer.

    
respondido por el user18276

Lea otras preguntas en las etiquetas