Go Down

Topic: Ayuda AVRDUDE (Read 1 time) previous topic - next topic

juanma15

Hola a todos,

Primero Feliz Año :D, y espero que halláis pasado unas buenas fiestas....

Como bien dice el titulo tengo un problema con el AvrDude, asique os expongo mi problema a ver si me podéis echar una mano...

Tengo un Arduino Mega 2560 y estoy intentando cargarlo con el AVRDUDE a través de la consola de comandos, pero no lo consigo como lo quiero exactamente...

Necesito pasarle mi fichero .ino que he hecho con el software de Arduino, pero al pasarselo me da error. Probé de 2 maneras con distintos errores que os pongo aquí.

Si en la consola de comandos escribo:

Code: [Select]

C:\arduino-1.0.2-windows\arduino-1.0.2\hardware\tools\avr\bin>avrdude -C"C:\arduino-1.0.2-windows\arduino-1.0.2\hardware\tools\avr\etc\avrdude.conf" -F -v -p atmega2560 -c wiring -P\\.\COM3 -b115200 -D -U flash:w:"C:\Temperatura.ino":a


Me responde invalid format. Y si pongo:

Code: [Select]
C:\arduino-1.0.2-windows\arduino-1.0.2\hardware\tools\avr\bin>avrdude -C"C:\arduino-1.0.2-windows\arduino-1.0.2\hardware\tools\avr\etc\avrdude.conf" -F -v -p atmega2560 -c arduino -P\\.\COM3 -b115200 -D -U flash:w:"C:\Temperatura.ino":a

Me responde stk500_getsync(): not in sync: resp=0x00

Probé pasandole un .hex y conseguí cargarlo perfectamente, pero necesitaría cargar el .ino o algun formato en el que yo pueda ver el texto, ya que quiero cargarlo a través del Visual Studio y necesito reemplazar alguna cosa antes de cargarlo....

Un saludo y gracias.

Si hace falta explicar algo mejor os lo explico, que os lo he explicado un poco mal, pero se resume un poco mal... jeej

Igor R

#1
Jan 10, 2013, 10:08 pm Last Edit: Jan 10, 2013, 10:12 pm by Igor R Reason: 1
¿No puedes activar el "verbose" en el IDE de Arduino y mirar como lo hace? Se me ocurre que es la forma más rápida sin tener que buscar mucho y así ves como compilar y posteriormente cargar a la placa (son dos pasos que necesitas realizar).

Nunca lo he mirado personalmente, es sólo una idea al leer tu post.

juanma15


Ante todo muchas gracias Igor,

No se que es el "Verbose", pero vi lo que hacía el Arduino, y lo que hace es pasar el fichero a .hex, que lo mete en una carpeta temporal del sistema, y eso es lo que carga (Esto lo hice y funcionó perfectamente)

Pero a mi no me vale, porque como decia antes tengo que modificar dicho fichero desde el Visual Studio antes de cargarlo...

Un saludo y muchas gracias de nuevo, a ver si entre todos o con ideas así lo podemos sacar...

Igor R

#3
Jan 10, 2013, 10:41 pm Last Edit: Jan 10, 2013, 10:49 pm by Igor R Reason: 1
En el menu preferencias, puedes activar el "verbose" (compiling + uploading). Esto te saca por consola todos los comandos que hace el IDE de Arduino (avr-gcc + avrdude).

No puedes cargar un fichero *.ino directamente sin compilarlo-lincarlo previamente.

http://arduino.cc/en/Hacking/BuildProcess

Una cosa que puedes hacer, es configurar el IDE para usar un editor externo. Esto te permite editar tu programa con tu editor favorito (ejemplo Visual Studio). Simplemente usas el IDE para compilar y enviar. Te pongo el primer link que me he encontrado por google para que lo veas => http://www.arduinoos.com/2011/11/alternate-ide-part-1/

juanma15


Muchisimas gracias Igor, eso si que me ha ayudado mucho... Ya que con lo que me has dicho se que es imposible cargar un .ino desde el AVRDUDE...

El problema que me encuentro es que queria hacerlo automático desde el Visual Studio, y aunque ponga la opción de usar editor externo (Que lo he estado mirando y no se como funciona) no podré automatizarlo desde el Visual...

Para intentar explicarlo un poco mejor, te pongo el caso...

Yo tengo mi Sketch hecho con el IDE de Arduino. En dicho Sketch tengo unas variables con comodines que rellenaré despues con la información que me rellenan en el Visual... Es decir, mi programa de Visual selecciona la ruta de mi fichero .ino, y reemplazo dichas variables por la información de los TextBox que me ha rellenado el usuario. Una vez reemplazado necesito cargarlo al Arduino, pero me gustaria que fuera de manera "silenciosa", es decir, sin que el usuario tenga que tocar nada, nada mas un botón de "Cargar" y se haga... ¿Me he explicado y lo ves posible?

Un saludo y muchas gracias. Siento ser tan pesao y tan "torpe" pero soy mu novato en esto de Arduino...

Igor R

#5
Jan 10, 2013, 11:10 pm Last Edit: Jan 10, 2013, 11:17 pm by Igor R Reason: 1
Si que puedes, pero ya te lo he contestado antes... Tienes que compilar-lincar tu nuevo *.ino y subirlo a la placa.
Tienes que usar avr-gcc + avrdude. Por eso te decía de ojear lo que hace el IDE por detrás activando el verbose al compilar y al enviar.
Existe mucha documentación de esto.
Algunas utilidades como http://www.arduinodev.com/arduino-uploader/

El nuevo IDE de Arduino (esta en fase de desarrollo), dejará hacerlo por comando  https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-from-command-line


juanma15

A valeeeee, jope lo siento, lo acabo de entender... perdoname...

Pensé que te referias a usar el IDE de Arduino para compilar-lincar, por eso seguia insistiendo en que no me iba a servir....

Mañana lo probaré todo lo que me dices, a ver que tal...

muchisimas gracias, ya te contaré

Un saludo

Go Up