sábado, 14 de junio de 2014

Cargar programa compilado (hex) mediante AX Loader y XLoader

Un script en Arduino es un programa fuente en lenguaje de programación similar a C.
El script se crea en el IDE , se compila (se genera un archivo con extensión .hex) y se carga en el Arduino (al presionar el botón Cargar del IDE se compila y se carga en el micro).
En ocasiones no disponemos del programa fuente, sólo del programa ya compilado.
Si deseamos cargarlo en el Arduino no podemos hacerlo mediante el IDE, necesitamos utilizar otro tipo de aplicación diseñada para este propósito.

En realidad el programa que requerimos viene incorporado en el IDE y se llama avrdude.
Este programa no es gráfico, es un programa tipo linea de comando y su ejecución requiere suministrar una serie de parámetros algo complicados.
Para solventar este inconveniente se han desarrollado interfases gráficas que interactúan con el avrdude y su ejecución resulta muy sencilla.

Dos  de estos GUI (interfase gráfica) que destacan por su sencillez  son AX Loader y XLoader .

AX Loader:





Como se puede ver en la pantalla,  requerimos suministrar el modelo de la tarjeta,  el puerto y el nombre del archivo compilado (extensión .hex) .

Xloader:


En este caso requerimos suministrar el nombre del archivo compilado (extensión .hex) el modelo de la tarjeta , el puerto y la velocidad de comunicación. Este último parámetro lo asigna por defecto el programa al seleccionar la tarjeta.

Es importante tomar en cuenta que es necesario que el Arduino tenga pregrabado el bootloader, ya que estamos haciendo una conexión a través del puerto serial.
Si tenemos un Arduino "virgen" debemos grabar el bootloader mediante un programador, que puede ser otro Arduino actuando como programador ISP.

Actualización 24/02/2020 :

También están disponibles los programas AVRDDudess  y  AVRDDude GUI  que son interfases gráficas (GUI) para el programa de comandos avrdude.

3 comentarios:

  1. Hola, Gracias por la info era lo que buscaba...

    Ahora tengo una duda que no puedo resolverla hasta la noche, ya le meti el .hex al arduino, pero mi montaje no es para una placa arduino, solo lleva 2 componente..

    mi pregunta es el bootloader arduino podra interferir en mi proyecto ya que no lleva cristal o resonador?

    Un cordial Saludo...

    ResponderEliminar
    Respuestas
    1. Hola Fermin.
      La utilización de estos programas no requiere que estés trabajando con una placa Arduino, pero si que utilices un micro ATMEL con el bootloader Arduino pregrabado. El bootloader requiere una velocidad de reloj determinada (16Mhz) para que la conexión por el puerto serial pueda funcionar adecuadamente. En tu caso, tal vez lo mejor es que utilices una placa Arduino para grabar tu programa .hex en tu micro y luego utilices este micro en tu montaje.
      Un cordial saludo.

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar