Reseña de Polyglot: un entorno de compilación cruzada y una biblioteca C minimalista para sistemas embebidos

Reseña de Polyglot: un entorno de compilación cruzada y una biblioteca C minimalista para sistemas embebidos

 En el mundo de los sistemas embebidos y de los dispositivos obsoletos, configurar el entorno de desarrollo puede ser una tarea bastante compleja. Aquí es donde entra Polyglot: una plataforma universal diseñada para simplificar la compilación cruzada y el desarrollo para distintos objetivos. Tanto si está portando herramientas forenses como si desarrolla aplicaciones para sistemas antiguos, Polyglot ofrece una solución simplificada para sus necesidades de compilación cruzada.

¿Qué es Polyglot?

Polyglot es una plataforma integral que se centra en crear un entorno de compilación similar a GCC y POSIX para distintos objetivos, especialmente para sistemas embebidos y dispositivos antiguos. El objetivo de Polyglot es permitir que los desarrolladores trabajen sin necesidad de profundizar en herramientas complejas o en las particularidades de objetivos concretos. Inicialmente Polyglot se diseñó para portar rápidamente herramientas forenses a plataformas embebidas, pero también puede ser útil en una amplia gama de casos.

Polyglot incluye dos componentes principales:

  1. Herramienta para crear y mantener cadenas de herramientas compatibles
  2. Biblioteca C minimalista y personalizada, diseñada para portabilidad y simplicidad

Cómo empezar con Polyglot

Para empezar a trabajar con Polyglot, siga estos pasos:

  1. Clonar el repositorio:

    git clone https://github.com/idaholab/polyglot.git
    cd polyglot
    git submodule update --init
  2. Instalación de dependencias: Polyglot no requiere una gran cantidad de dependencias, pero puede ser necesario instalar herramientas adicionales para su sistema. Los detalles se encuentran en la documentación del proyecto.

  3. Uso de Polyglot directamente desde el repositorio: Polyglot se puede usar directamente desde el repositorio, almacenando todos los archivos localmente en los directorios .state y .cache.

Comandos principales de Polyglot

  • Lista de objetivos disponibles:
    polyglot list
  • Construcción de la cadena de herramientas para un objetivo:

  • polyglot build gcc-i386-linux-elf

  • Activación de la cadena de herramientas:
    eval $(polyglot activate gcc-i386-linux-elf)

Tras la activación, se puede usar la cadena de herramientas para compilar programas:

#include <stdio.h>

int main(int argc, char **argv) {
    printf("Hello, world!n");
    return 0;
}

Compilación y ejecución:

i386-linux-elf-gcc -o test test.c
qemu-i386-static test

Ventajas de usar Polyglot

Polyglot ayuda a resolver muchos problemas relacionados con la compilación cruzada para arquitecturas específicas. Simplifica el proceso de instalación y configuración del entorno de desarrollo, garantizando compatibilidad con diversas arquitecturas y sistemas. Esto lo convierte en una herramienta excelente para desarrolladores que trabajan con sistemas embebidos y dispositivos obsoletos.

Para obtener información adicional sobre Polyglot y su uso, visite  la página del proyecto en GitHub​ ( GitHub)​​.

Alt text