Entries for cross-compiling
Probando Contiki en Debian Squeeze
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.
Compilación cruzada de Python
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.
Montando un toolchain con crosstool-ng a través de samples
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.
Montando un toolchain con crosstool-ng
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.
Más sobre bibliotecas C para sistemas embebidos
25 February 2011
Biblioteca C newlib
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.
¿Qué es la compilación cruzada?
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.
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é.
