Practico 1 - Compilación Cruzada

Practico 1 - Compilación Cruzada

de Usuario eliminado -
Número de respuestas: 2

Ejercicio 1
Indique y describa los aspectos más relevantes que llevan a optar por realizar compilación cruzada
(cross-compiling).


El principal proposito de la compilación cruzada es la de separar el ambiente de desarrolo del ambiente de ejecución. [1]
Aspectos relevantes:
- Muchas veces los sistemas embebidos no poseen el poder de computo necesario como para realizar las tareas de desarrollo sobre ellos, por lo tanto la mejor opción en esos casos
es la de realizar compilacion cruzada.
- Software para distintas plataformas. Utilizando compilacion cruzada solamente basta con configurar el ambiente de desarrollo una vez y luego generar el binario para la arquitectura
que corresponda. [2]
- Puede no ser desado de instalar todas las herramientas de desarrollo en el entorno de ejecución. [1]


Ejercicio 7
Discuta sobre los aspectos difíciles de la compilación cruzada.


Uno de lo aspectos que dificultan la tarea de desarrollo y testing del software es el tiempo que se pierde en transferir el binario de un entrono al otro, si bien no es una tarea
complicada, no se es tan instantaneo cuando uno hace pequeñas modificacion en el codigo para voler a probar.


Otra desventaja (en el contexto del curso) es la disponibilidad de la placa, si bien se puede desarrollar independientemente de esta, para testear lo hecho se debe contar con la misma


Referencias:
[1]: Clase de Programación embebdida - parte 1

[2]: http://en.wikipedia.org/wiki/Cross_compiler, visitada 14 de abril de 2011

En respuesta a Usuario eliminado

Re: Practico 1 - Compilación Cruzada

de Gonzalo Tejera -
En respuesta a Gonzalo Tejera

Re: Practico 1 - Compilación Cruzada

de Vanessa Dahiana Berazategui Silva -

Ejercicio 1

Los aspectos más importantes por los que optamos al hacer compilación cruzada y no nativa son los siguientes:

Velocidad:El aspecto más importante es que las plataformas de las PCs “target” son muchos más lentas que las plataformas de las PCs “host”. Esto ocurre debido a que, por ejemplo el hardware para la ejecución de software embebido es construido para el bajo consumo, bajo costo y no para una gran performance.

Capacidad de almacenamiento: Otro aspecto importante es que el paquete de compilación requiere un gran espacio de almacenamiento que el hardware diseñado para soportar software embebido no lo tiene.

Memoria disponible: Por otro lado otro aspecto importante es la capacidad de memoria que no posee el hardware target para la compilación de archivos grandes.

Ejercicio 7

Los aspectos difíciles que refieren a la compilación cruzada, es que, muchos programas establecen suposiciones acerca del tipo de maquina en la que van a correr, con lo cual si esto no se corresponde con lo disponible en la maquina que van a correr, el programa podría no funcionar como es esperado.

Este tipo de suposiciones puede ser el largo de palabra, la manera en que son almacenado los bits, esto es endianness. También surgen problemas con la alineaciónde las palabras, por ejemplo en ARM los ints sólo pueden ser leído y escritos desdes direcciónes de memoria que son múltiplos de 4 byes. Por otro lado, el valor por defecto en las variables si son con signo o sin sigo también depende de la arquitectura.


Esto lo leí justo de la referencia que publicó Gonzalo.