39 votos

Cuál es la diferencia entre los archivos ELF y archivos bin

Las imágenes finales producidas por cumplidores contienen archivo bin y extendido formato loader archivo ELf, cuál es la diferencia entre demasiado, sobre todo la utilidad de archivo ELF.

36voto

t0mm13b Puntos 21031

Un archivo Bin es un archivo binario puro sin memoria fix-ups o reubicaciones, es más que probable que haya instrucciones explícitas para ser cargado en una dirección de memoria. Mientras que....

ELF archivos son Ejecutables Vinculables Formato que consta de un símbolo mirada-ups y reubicable de la tabla, que es, puede ser cargada en cualquier dirección de memoria del kernel y de forma automática, todos los símbolos que se utilizan, están ajustados para el desplazamiento de esa dirección de memoria donde se carga en. Normalmente los ficheros que tienen un número de secciones, tales como 'datos', 'texto', 'bss', al nombre pero a algunos...es dentro de esas secciones donde el tiempo de ejecución puede calcular dónde ajustar el símbolo de las referencias de memoria de forma dinámica en tiempo de ejecución.

12voto

wenlujon Puntos 197

algunos recursos:

  1. ELF para la arquitectura ARM
    http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf
  2. ELF desde la wiki
    http://en.wikipedia.org/wiki/Executable_and_Linkable_Format

Formato ELF es generalmente el defecto de salida de la compilación. si utiliza la herramienta GNU cadenas, se puede traducir a formato binario mediante el uso de objcopy, tales como:

  arm-elf-objcopy -O binary [elf-input-file] [binary-output-file]

o el uso de fromELF utilidad(construido en la mayoría de los IDEs, tales como ANUNCIOS):

 fromelf -bin -o [binary-output-file] [elf-input-file]

11voto

dwelch Puntos 27195

Un archivo bin es sólo de los bits y los bytes que van en la rom o en una determinada dirección desde la que se ejecutará el programa. Usted puede tomar estos datos y cargar directamente como es, usted necesita saber lo que la dirección base es, aunque a medida que normalmente no existe.

Un elfo archivo contiene la información de la papelera, pero está rodeado por un montón de otra información, sea posible la información de depuración, símbolos, puede distinguir de código a partir de los datos dentro de la binaria. Permite más de un bloque de datos binarios (al volcar uno de estos a una bandeja de obtener un gran archivo bin a rellenar con los datos de la almohadilla para el siguiente bloque). Nos dice cuánto binario tiene y cuánto bss datos que quiere ser inicializadas a ceros (herramientas de gnu tiene problemas para crear archivos bin correctamente).

El duende formato de archivo es un estándar, el brazo publica su equipamiento/variaciones en la norma. Recomiendo a todo el mundo escribe un elfo de análisis de programa para entender lo que está ahí, no se molesten con una biblioteca, es muy simple de usar sólo la información y de las estructuras en la especificación. Ayuda a superar gnu problemas en general de la creación .archivos bin, así como la depuración de vinculador de secuencias de comandos y otras cosas que pueden ayudar a desordenar su reciclaje o elfo de la salida.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X