Geek Electrónica

Explicaciones, tutoriales y noticias sobre electrónica y tecnología en general

ArduinoElectrónica DigitalMicrocontroladores

ARCHIVO HEX DE ARDUINO

Cuando se está acostumbrado a trabajar con microcontroladores, es común esperar que el compilador genere un archivo .hex el cual es el que sirve para hacer la programación del microcontrolador y además para hacer las simulaciones en los diferentes software de simulación como por ejemplo proteus.

Quienes han trabajado con Arduino se habrán dado cuenta que dicho archivo .hex no aparece nunca dentro de la carpeta del sketch que se está trabajando y compilando, esto no quiere decir que este archivo no sea generado por el IDE de Arduino, lo que sucede en este caso es que el archivo .hex junto con otra gran cantidad de archivos generados en el proceso de compilación son guardados en una ruta oculta y a la cual es un poco difícil de acceder debido a la extensión de la ruta.

Si se trabaja de modo convencional con la tarjeta Arduino es posible que nunca se requiera del uso de este archivo, sin embargo si se requiere hacer una simulación en un programa como por ejemplo proteus (tal como ya se mostró en una publicación anterior de este blog) o programar directamente el microcontrolador, si es necesario contar con el archivo .hex para llevar a cabo estas tareas.

Por esta razón a continuación se van a mostrar lo pasos que se deben seguir para cambiar la ruta en la que se guarda el archivo .hex.


1.       Abrir el IDE de Arduino
 
IDE de Arduino
 
2.       Dirigirse al menú Archivo y luego preferencias
 
Menú archivo del IDE Arduino
 
 
3.   En la parte inferior de la ventana de preferencias, hacer click en la ruta en donde se encuentra guardado el archivo preferences.txt.
 
Ruta del archivo preferences.txt
 
4.  Una vez se haya abierto la ventana donde se encuentra ubicado el archivo preferences.txt es importante cerrar el programa de Arduino (De no hacerlo los cambios no se efectuaran como es debido).
5. Abrir el archivo preferences.txt, buscar la línea que dice export.application.stop=true y debajo escribir la siguiente línea build.path=ruta deseada
 
Lineas a modificar en preferences.txt

6.  Guardar el archivo preferences.txt y volver a abrir el IDE de Arduino
 
Luego de seguir estos pasos, ya se puede compilar el código del programa que se esté desarrollando y todos los archivos de compilación generados por el compilador de Arduino, quedaran guardados en la ruta que se haya especificado anteriormente en el archivo preferences.txt que se editó.
 
Muestra archivo hex de arduino
 
 
Con esto ya quedará más fácil la tarea de buscar el archivo .hex sin necesidad de ir a hurgar los archivos ocultos y temporales de nuestro sistema operativo, ahorrándonos tiempo y porque no hasta dolores de cabeza.

Si te interesa simular circuitos con Arduino en proteus y no sabes como hacerlo puedes revisar la publicación que se encuentra en el siguiente link donde te explicamos como llevar a cabo este proceso.

Iván Cuadros Acosta

Licenciado en Electrónica y Master en desarrollo de aplicaciones móviles con experiencia en docencia universitaria. Apasionado por la electrónica y la programación.

24 comentarios en «ARCHIVO HEX DE ARDUINO»

  • hola disculpa, pero creo que dañé el programa del arduino
    ahora me sale este mensaje remove librariesBridgeexamplesBridgeBridge.ino: Acceso denegado.
    Error compilación en tarjeta Arduino Nano.

  • cuando intenté guardarlo en el escritorio se me borraron todos los archivos, le agradecería que me ayudara a regresar a los valores originales.

  • Hola buen día.

    Lamento lo de la perdida de archivos, sin embargo eso quiere decir que no siguió al pie de la letra cada uno de los pasos.

    Para saber si le puedo colaborar con su problema ¿me puede indicar lo siguiente?:

    ¿qué archivos fueron los que se le borraron?
    ¿Cuando dice valores originales se refiere a las configuraciones predeterminadas de arduino?

  • Hola. Tengo un archivo hex que me han pasado para trabajar con arduino. Pero… ¿como cargo un hex en el programa IDE?

  • Muy bien, me sirvió el procedimiento indicado para ejecutar una simulación en Proteus con el archivo ".hex" generado por el Arduino, muchas gracias. Saludos.

  • Con mucho gusto y me alegra que te haya servido la explicación y gracias por visitar el blog.
    Recuerda que nos puedes seguir en nuestras cuentas de redes sociales de facebok, twitter y el canal de YouTube.

  • Muy bueno la guia, me dio resultado.Gracias

    • Hola buen día y gracias por visitar el blog.
      Me alegra que te haya sido de ayuda, por ultimo si quieres estar enterado de las nuevas publicaciones del blog puedes seguirnos en Facebook, Twitter y suscribirte al canal de YouTube.

  • Que tal Buena Noche!
    Disculpa a mi no me genera el archivo con la extensión .hex no aparece en ninguna de las rutas, ya lo modifique varias veces y solo me salen los demás archivos con las extensiones .bin .elf .map
    No se si pudieras ayudarme con eso.

    • Hola buen día y gracias por visitar el blog.

      Intenta buscarlo con las terminaciones .cpp.hex por ejemplo miproyecto.cpp.hex a ver si así lo encuentras, si sigues sin encontrarlo es muy posible que estés omitiendo alguno de los pasos o que estés modificando las lineas de código en el sitio equivocado. Espero que puedas solucionar el inconveniente.

      Recuerda que también nos puedes seguir en nuestras cuentas de Facebook, Twitter y YouTube para que estés al día con todas las publicaciones del Geek Electrónica.

  • Hola, mucho gusto
    La verdad acudo a todos ustedes ya que tengo un problema muy complicado .Puedo crear el archivo .hex para poder simular el programa en proteus, pero el archivo no permanece y no lo puedo encontarr mas al momento de probar otro programa.
    Aparte cambie el destino de los archivos en export.application.stop=true y debajo escribir la siguiente línea build.path=ruta deseada, pero al rato se cambia nuevamente.
    dejo mi correo por si es que alguien puede ayudarme Gonzalohcs@gmail.com

    • Hola Gonzalo buen día y gracias por visitar el blog.

      El primer problema que el archivo .hex no permanece, lo que pasa es que cada vez que el IDE de arduino compila un programa genera un archivo .hex para ese programa y borra todos los anteriores que hayan dentro de la carpeta que se tiene seleccionada, mi recomendación es que una vez hayas terminado el proyecto y estés seguro que ese es el archivo .hex que vas a utilizar definitivamente para posteriores simulaciones, entonces lo copies y lo guardes en otra carpeta, puede ser en la misma carpeta donde tienes todos los archivos de tu proyecto.

      El segundo problema puede ser que no estas haciendo los cambios de la forma adecuada o no estas siguiendo los pasos al pie de la letra.

      Espero que con esto ya se solucionen algunos de tus problemas y recuerda que puedes seguirnos en Facebook, Twitter y nuestro canal de YouTube para que estés al día en todas las publicaciones de Geek Electrónica.

  • buenos dias.
    mi consula es que necesito(si es que se puede) abrir un archivo .hex que es un firmware de una impresora 3d que desconozco los parametros que tiene configurado. ya que es de otra impresora distinta a la mia. se puede abrir dicho archivo y ver que configuracion tiene?

    muchas gracias

    • Hola buen día y gracias por visitar la pagina.

      Primero que todo que pena por la demora en la respuesta. En cuanto a tu pregunta si es posible obtener el código de programación a partir del archivo .hex, sin embargo no es un proceso trivial ya que es necesario utilizar algún tipo de software para hacer un proceso de ingeniería inversa y al final el resultado no seria un código de alto nivel como con el que normalmente programamos en Arduino, sino que obtendríamos un código que se podría decir que se encuentra mas cercano al lenguaje Assembler.

      Recuerda que si quieres estar al tanto de las publicaciones de la pagina, nos puedes seguir en nuestras cuentas de Facebook, Twitter y YouTube.

  • EL MAESTRO DEFINITIVO DE LA ELECTRÓNICA

    Sabés qué me pasa? Sigo todo al pie de la letra y funciona, pero a la hora de compilar otro programa, me reemplaza todos los archivos con los nuevos eliminandome los anteriores, esto es así o hay alguna forma de solucionarlo? Gracias

    • Hola buen día y gracias por visitar la página.

      Sí, cada vez que se compila un nuevo programa el IDE borra los archivos anteriores y deja los del programa que se acaba de compilar. Entonces mi recomendación es que una vez ya estés seguro que tu programa de Arduino es el definitivo y no le vas a hacer mas cambios, entonces copia y guarda el archivo .hex en otra ubicación (Puede ser la misma carpeta en donde estas desarrollando todo el proyecto) y así no se pierde el archivo la próxima vez que compiles otro programa.

      Recuerda que si quieres estar al día con las publicaciones de la página, puedes seguirnos en nuestras cuentas de Facebook, Twitter y YouTube.

  • Buenas tardes, hice todos los pasos al pie de la letra y me genera los archivos .hex .

    Veo que a usted se le genera el archivo con extension .cpp.hex mientras que a mi se me genera ino.hex, ¿Es lo mismo?

    Y ultima consulta, siempre se genera dos archivos .hex, uno ino.hex y otro .ino.with_bootloader.hex. ¿Por qué?

    PD: La ruta donde guardo los archivos .hex, lo coloque en disco d no en documentos, no creo que eso sea la raíz del problema pero es bueno mencionarlo.

    • Hola buen día y gracias por visitar la página.

      Disculpa la demora en la respuesta. La terminación del archivo .hex depende de la versión del IDE de arduino que se esté utilizando, en el caso de la versión que estoy utilizando en este momento genera un archivo con terminación .ino.hex y este es el que utilizo para la simulación.

      Recuerda que si quieres estar al día de las publicaciones de Geek Electrónica (Pronto vienen nuevas publicaciones) puedes seguirnos en nuestras redes sociales, estamos en Twitter, facebook y YouTube.

  • Muchisimas gracias, Muy clara ( y muy útil ) tu explicación

  • Buen post, ahora mis proyectos estaran mas orgnizados, lo compartire, muchas gracias

Los comentarios están cerrados.