Mostrando entradas con la etiqueta compilación cruzada. Mostrar todas las entradas
Mostrando entradas con la etiqueta compilación cruzada. Mostrar todas las entradas

14.1.09

El primer programa: "Hola Mundo"

El primer paso a seguir es escribir el programa en algún editor de texto tradicional (en nuestro caso VIM). El archivo holamundo.c tiene un código es exactamente igual a cualquier programa escrito en C:

#include <stdio.h>
int main(){
    printf("Hola Mundo!\n");
    return(0);

}

Luego debemos proceder a la complación del mismo. La compilación se realizará en una PC, la cual tiene una arquitectura diferente al TS-7260. Es por ello que necesitamos realizar una compilación cruzada, utilizando el "Entorno de Compilación Cruzada" (llamado Cross-Toolchain en inglés) provisto por el fabricante.
Descomprimimos entonces el archivo crosstool-linux-gcc-4.0.1-glibc-2.3.5.tar.bz2 que viene en el CD, por ejemplo en el directorio /opt. Para lograr compilar en cualquier directorio en el que estemos parados sin especificar la ruta en la que esta el compilador debemos agregar su PATH al sistema operativo, de manera que el mismo sepa donde buscar el compilador cuando ejecutemos el comando en la consola. Para ello hacemos:

export PATH=$PATH:/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/bin/arm-unknown-linux-gnu-gcc

donde arm-unknown-linux-gnu-gcc es el compilador propiamente dicho.
Ahora nos paramos en el directorio donde este guardado holamundo.c y ejecutamos el comando de compilación:

arm-unknown-linux-gnu-gcc holamundo.c -o holamundo

Tendremos entonces, si todo salio bien, el ejecutable listo para bajar al TS, lo cual podemos hacer con cualquier cliente FTP (nosotros utilizamos gFTP). Nos logueamos en el mismo vía telnet por ejemplo, nos paramos en el directorio donde hayamos bajado holamundo y tipeamos:

./holamundo

Con esto, recibiremos el famoso y alentador mensaje que queremos ver. En la imágen el ejecutable holamundo se llama holas y responde de una manera mas agradable, pero con la misma finalidad.