Kit de herramientas basado en Eclipse y GTK +, para “Toradex Colibri T20 (Linux)”

Este artículo está destinado principalmente a ahorrar tiempo al crear un kit de herramientas, pero al mismo tiempo intentaré contar todo de manera bastante voluminosa.

Descripción de la Junta de Evaluación
La placa se basa en el procesador de doble núcleo "NVIDIA Tegra Cortex-A9".
Puede funcionar en Windows CE 7.0 * y Linux.
RAM: 512 MB
Las especificaciones completas están disponibles aquí .
* Debo advertirle: no recomiendo WinCE7.0 como sistema operativo para esta placa, si C ++ es crucial para el desarrollo, porque no fue fácil para mí construir el kit de herramientas personalmente. Una excepción es si su aplicación es una aplicación de consola, entonces no debería haber problemas. CoDeSys y C #: no causan problemas.
Apariencia del tablero
imagen
imagen


Contenido
  1. Descarga todo lo que necesitas
  2. Instalación de SDK
  3. Verificación del SDK
  4. Instalar Eclipse
  5. Conecte GTK a Eclipse
  6. Configurar un proyecto Eclipse
  7. Resultado


Descarga todo lo que necesitas:


El primero es el SDK para la placa, que se puede descargar desde el sitio web oficial de Toradex .
En segundo lugar , necesitamos un host con Ubuntu 16.04 LTS .
El tercero es el propio Eclipse para C / C ++ .

Instalar SDK:


Importante: instálelo mejor en la ruta predeterminada, para evitar todo tipo de errores.

mon@mon:~$ cd /Downloads/SDK mon@mon:~$ chmod +x angstrom-glibc-x86_64-armv7at2hf-vfp-v2017.12-toolchain.sh mon@mon:~$ ./angstrom-glibc-x86_64-armv7at2hf-vfp-v2017.12-toolchain.sh Angstrom SDK installer version nodistro.0 ========================================= Enter target directory for SDK (default: /usr/local/oecore-x86_64): You are about to install the SDK to "/usr/local/oecore-x86_64". Proceed[Y/n]? y 

Después de instalar el SDK, podremos ejecutar el script para integrar automáticamente las variables:

 . /usr/local/oecore-x86_64/environment-setup-armv7at2hf-vfp-angstrom-linux-gnueabi 

Nota: cada vez que abra una nueva terminal, debe ejecutar el script nuevamente.

Paso opcional

Verificación del SDK


1. Cambie el shell de Ubuntu de dash a bash:

 sudo update-alternatives --install /bin/sh sh /bin/bash 100 

2. Cree el archivo FirstTest.c, con los siguientes contenidos:

 #include <stdio.h> int main(int argc, char *argv[]){ printf("Hello world!!!\n"); return 0; } 

3. Compilar:

 ${CC} -Wall FirstTest.c -o FirstTest 

4. De cualquier manera, reinicie al PLC y ejecute:

Captura de pantalla
imagen Todo parece estar en orden.


Instalar Eclipse


1. Se requiere Java para que Eclipse funcione, instálelo:

 sudo apt-get update sudo apt-get install default-jre 

2. Vayamos al directorio en el que tenemos Eclipse y descomprímalo:

 cd ~ mkdir -p ~/eclipse/neon-3 tar xf ~/Downloads/eclipse-cpp-neon-3-linux-gtk-x86_64.tar.gz -C ~/eclipse/neon-3/ 

3. Vayamos al directorio de Eclipse:

 cd ~/eclipse/neon-3/eclipse 

4. Exporte las variables y ejecute Eclipse:

 . /usr/local/oecore-x86_64/environment-setup-armv7at2hf-vfp-angstrom-linux-gnueabi ./eclipse 

Esto completa la instalación.

Conecte y configure GTK en Eclipse


1. Instale los paquetes necesarios:

 sudo apt-get install libgtk-3-dev gdb eclipse-cdt build-essential cmake git pkg-config 

2. Vaya a Ayuda-> Eclipse Marketplace

Captura de pantalla
imagen

3. Encuentre e instale pkg-config

Captura de pantalla
imagen

Después de eso, reinicie Eclipse.

4. Vaya a Propiedad -> C / C ++ Build -> Configuración -> "pkg-config"

Captura de pantalla
imagen

5. Busque GTK y márquelo.

Captura de pantalla
imagen

Además, recomiendo que para trabajar más rápido y mejor con la interfaz, instale Glade.

 sudo apt-get install glade-gnome 

Configuración del proyecto Eclipse:


Antes de comenzar Eclipse, no olvide integrar las variables:

 . /usr/local/oecore-x86_64/environment-setup-armv7at2hf-vfp-angstrom-linux-gnueabi 

1. Cree un nuevo proyecto C ++:

Captura de pantalla
imagen

2. Vaya a las propiedades del proyecto:

Captura de pantalla
imagen

3. Vaya a C / C ++ Build -> Configuración

Captura de pantalla
imagen

4. Ahora necesitamos pasar variables de Eclipse, por ejemplo:

Captura de pantalla
imagen

Para el compilador Cross GCC, esto es:

 ${CC} 

Para el compilador Cross GCC -> Varios es:

 ${CFLAGS} -c 

Para el compilador Cross G ++, esto es:

 ${CC} 

Para el compilador Cross G ++ -> Varios es:

 ${CFLAGS} -c 

Para Cross G ++ Linker, esto es:

 ${CXX} 

Para Cross G ++ Linker -> Varios es:

 ${LDFLAGS} 

Para Cross GCC Assembler, estos son:

 ${AS} 

Eso es todo, ahora puede crear un proyecto, compilarlo y probarlo en un PLC.

Resultado


Código
 #include <gtk/gtk.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *button; GtkWidget *button_box; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 400, 400); button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (window), button_box); button = gtk_button_new_with_label ("Hello World"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window); gtk_container_add (GTK_CONTAINER (button_box), button); gtk_widget_show_all (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; } 


Captura de pantalla
imagen

Gracias por su atención, buena suerte en el desarrollo.

Source: https://habr.com/ru/post/484342/


All Articles