Entries for cross-compiling

Probando Contiki en Debian Squeeze

written by uve

2 May 2011

Durante estos días, en el trabajo, estamos buscando un sistema operativo para sistemas empotrados que se adapte bien a nuestras necesidades. A lo largo de los próximos días iré contando acerca de las experiencias con Contiki. Este sistema operativo es un proyecto relativamente joven, con buen soporte para algunos dispositivos de radio que estamos barajando y listo para rodar IPv6.

Full entry >>

Compilación cruzada de Python

written by uve

8 March 2011

Hace pocos días escribía acerca de como crear un toolchain para compilar para una arquitectura distinta: MIPS. Ahora voy brevemente a contar como podemos compilar un intéprete de Python para un dispositivo integrado.

El principal problema que hay es que para compilar para arquitecturas como MIPS o ARM es necesario un parche, por lo que la compilación directa no es posible. Yo he seguido este tutorial y he usado la misma versión, Python 2.7.1, y el mismo parche y todo ha funcionado perfectamente.

Full entry >>

Montando un toolchain con crosstool-ng a través de samples

written by uve

2 March 2011

Ayer terminaba un artículo acerca de cómo construir un toolchain con crosstool-ng, pero ahora voy a explicar como utilizar uno de los ejemplos disponibles para partir desde una base concreta. Como ya comentaba, en la página de croostool-ng hay disponible una serie de ejemplos desde los cuales podemos partir.

Full entry >>

Montando un toolchain con crosstool-ng

written by uve

1 March 2011

Hace un rato explicaba en qué consiste la compilación cruzada y ahora vamos a ver como montar un toolchain para poder hacer esto. Para ello he elegido la herramienta crosstool-ng ya que nos permite automatizar el proceso.

En mi caso voy a generar una toolchain para generar código en una arquitectura MIPS, ya que voy a implementar algunos programitas para un router. Además, he elegido Debian Squeeze como plataforma de trabajo, pero también lo he probado sobre Ubuntu 10.04 con el mismo resultado.

Full entry >>

Más sobre bibliotecas C para sistemas embebidos

written by uve

25 February 2011

Ayer hablaba brevemente acerca de newlib. Hoy voy a analizar otras dos librerías importantes: uClibc y EGLIBC. Ambas son compatibles con GLIBC, la biblioteca C de GNU.

Full entry >>

Biblioteca C newlib

written by uve

24 February 2011

¿Qué es newlib? Es una implementación de la librería C pensada para dispositivos empotrados y desarrollada por RedHat. Esta es la librería que algunos utilizan para dispositivos empotrados, ya hablaré más adelante de ella.

Full entry >>

¿Qué es la compilación cruzada?

written by uve

24 February 2011

Estos días estoy trabajando bastante con el tema, y voy a explicar brevemente qué es y por qué se utiliza la compilación cruzada. Por lo general, los programadores, estamos acostumbrados a compilar para la arquitectura sobre la que se ejecutará el binario. Es decir, programamos en la misma máquina en la que se ejecutará la aplicación. Esto no siempre es posible.

La compilación cruzada o cross-compiling consiste, por tanto, en generar binarios para una arquitectura distinta a la que estamos utilizando para compilar. Por ejemplo, generar un ejecutable para un procesador ARM desde una arquitectura IA-32 o AMD64.

Full entry >>

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.