ELF no se encuentra dentro de un microcontrolador. Solo el binario (BIN) se encuentra dentro del flash del microcontrolador. ELF es un formato para empacar binarios ejecutables. Por defecto, la mayoría de los compiladores generan ELF como salida.
El archivo ELF contendrá la información sobre el compilador, la arquitectura del procesador, la tabla de símbolos, etc. Por otro lado, los archivos BIN / HEX no tienen esta información.
Cuando considera el tamaño del programa, solo tiene que ver el tamaño del archivo BIN (segmento .text del archivo). El tamaño del segmento .text es el tamaño real del programa.
- ¿Qué es mejor como opción profesional, sistemas integrados o VLSI?
- ¿Cuál es el trabajo de un ingeniero integrado?
- ¿Por qué preferimos un ciclo while en sistemas embebidos?
- ¿Cuál fue su primer proyecto de controlador de dispositivo y cómo lo hizo?
- Estoy interesado en un doctorado. Me especializo en sistemas embebidos. ¿Cuáles son algunos temas de investigación (problemas) en sistemas embebidos?
Se le puede llamar una estructura de datos, sus miembros texto, código, etc. se mencionan como .text , .code , etc., como en lenguaje C.
Puede usar 7-zip para abrir un archivo ELF.
Considere el siguiente caso, utilicé Arduino IDE para explicar sobre ELF …
Este es un boceto LED parpadeante que compilé. El ELF generado reside en la ruta
C: \ Users \ User \ AppData \ Local \ Temp \ build9168893087863740253.tmp
El tamaño del flash ATmega328P es de 32 KB / 32,768 bytes. El programa ocupará 1030 bytes en flash.
Abramos el archivo usando 7-Zip. Instale 7-Zip. Haga clic derecho en ELF y seleccione 7-zip -> Abrir archivo .
Puedes ver que el tamaño de .text es el tamaño del programa
Usando avr-readelf -a
Utilice readelf
(una utilidad UNIX) para obtener información sobre el archivo elf.
Esto es en caso de ARM ELF