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.
Respuestas
¿Demasiados anuncios?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.
algunos recursos:
- ELF para la arquitectura ARM
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf - 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]
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.