Convertir el archivo c a HEX

3

Soy nuevo en sistemas integrados. Estoy empezando mi aprendizaje con AT89C51. Mi primer objetivo será la interfaz LCD.

Tengo un programador, un LCD y un microcontrolador.

Pero el programa está escrito en C o en lenguaje ensamblador y necesito un archivo .HEX para grabar.

¿Cómo hago esto? También he oído hablar de Keil IDE pero su versión de evaluación no está funcionando. Por favor, ayúdame con cualquier información adicional.

    
pregunta Zain

3 respuestas

7

Necesitas un compilador (y un ensamblador y un enlazador), también conocido como una cadena de herramientas.

El compilador convierte el código fuente de su programa C en código de objeto ejecutable para su máquina de destino. Este código de objeto se puede representar como una serie de dígitos hexadecimales en un archivo .hex.

enlace

SDCC es un compilador gratuito que admite AT89C51.

    
respondido por el Toby Jaffey
7

Como dijo Joby, necesitas una cadena de herramientas. Hay una serie de pasos que deben realizarse entre el código C que tiene y la carga de datos en el dispositivo:

  • El preprocesador convierte las macros #include y #define, y también procesa cualquier símbolo de compilación condicional (#if).
  • El compilador convierte cada archivo .c en código de ensamblaje.
  • El ensamblador los convierte en archivos de objeto. Estos archivos utilizan direccionamiento relativo.
  • El enlazador coloca todos los archivos de objetos juntos en una serie de dígitos hexadecimales en el archivo .hex, y les da las direcciones requeridas por el dispositivo. También incluye archivos de objetos externos para los que no tiene el código fuente (o que ya lo ha compilado en una iteración anterior).

Esto generalmente se conoce como una cadena de herramientas, pero se puede hacer referencia informalmente como un compilador.

También necesitará una forma de copiar el archivo .hex en el microcontrolador. La forma habitual de hacer esto es usar un programador, aunque a menudo es conveniente programar primero el dispositivo con un cargador de arranque, y luego usar este programa para copiar el archivo .hex.

Estos son algunos de los pasos más básicos del desarrollo de software integrado. Puede encontrar la programación nativa un poco más fácil si desea una curva de aprendizaje más lenta. Además, el AT89C51 (ahora el AT89S51) utiliza un núcleo 8051 más antiguo, puede encontrar procesadores más modernos como el ATmega, PIC18 o (mucho más nuevo, pero más complejo) núcleos ARM (Cortex-M3 / M0, probablemente). Más fácil de usar y bien soportado. Otra forma de aprender el desarrollo integrado es a través del sistema Arduino (AVR), pero eso lo saca de C y lo convierte en un lenguaje para principiantes.

    
respondido por el Kevin Vermeer
1

En Keil - > selecciona Menú de proyecto - > Opción - > en la pestaña Salida - > marcado "Crear archivo HEX"

    
respondido por el Rick Ant

Lea otras preguntas en las etiquetas