Boîte à outils basée sur Eclipse et GTK +, pour «Toradex Colibri T20 (Linux)»

Cet article est principalement destiné à gagner du temps lors de la création d'une boîte à outils, mais en même temps, j'essaierai de tout dire de manière assez volumineuse.

Description du comité d'évaluation
La carte est basée sur le processeur dual-core "NVIDIA Tegra Cortex-A9".
Il peut fonctionner sur Windows CE 7.0 * et Linux.
RAM: 512 Mo
Les spécifications complètes sont disponibles ici .
* Je dois vous avertir - je ne recommande pas WinCE7.0 comme système d'exploitation pour cette carte, si C ++ est crucial pour le développement, car il n'a pas été facile pour moi de créer personnellement la boîte à outils. Une exception est si votre application est une application console, il ne devrait y avoir aucun problème. CoDeSys et C # - ne causent pas de problèmes.
Apparence du conseil d'administration
image
image


Table des matières
  1. Téléchargez tout ce dont vous avez besoin
  2. Installation du SDK
  3. Vérification du SDK
  4. Installer Eclipse
  5. Connectez GTK à Eclipse
  6. Configuration d'un projet Eclipse
  7. Résultat


Téléchargez tout ce dont vous avez besoin:


Le premier est le SDK de la carte, qui peut être téléchargé sur le site Web officiel de Toradex .
Deuxièmement , nous avons besoin d'un hôte avec Ubuntu 16.04 LTS .
Le troisième est Eclipse lui-même pour C / C ++ .

Installez le SDK:


Important: installez-le mieux sur le chemin par défaut, afin d'éviter toutes sortes de bugs.

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 

Après avoir installé le SDK, nous pourrons exécuter le script pour intégrer automatiquement les variables:

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

Remarque: chaque fois que vous ouvrez un nouveau terminal, vous devez réexécuter le script.

Étape facultative

Vérification du SDK


1. Changez le shell Ubuntu de dash en bash:

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

2. Créez le fichier FirstTest.c, avec le contenu suivant:

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

3. Compiler:

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

4. De toute façon, réinitialisez l'automate et exécutez:

Capture d'écran
image Tout semble être en ordre.


Installer Eclipse


1. Java est requis pour qu'Eclipse fonctionne, installez-le:

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

2. Allons dans le répertoire dans lequel nous avons Eclipse et décompressons-le:

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

3. Allons dans le répertoire Eclipse:

 cd ~/eclipse/neon-3/eclipse 

4. Exportez les variables et exécutez Eclipse:

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

Ceci termine l'installation.

Connectez et configurez GTK dans Eclipse


1. Installez les packages nécessaires:

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

2. Allez dans Aide-> Eclipse Marketplace

Capture d'écran
image

3. Recherchez et installez pkg-config

Capture d'écran
image

Après cela, redémarrez Eclipse.

4. Allez dans Propriétés -> Build C / C ++ -> Paramètres -> "pkg-config"

Capture d'écran
image

5. Trouvez GTK et cochez-le.

Capture d'écran
image

Aussi, je recommande que pour travailler plus rapidement et mieux avec l'interface - installez Glade.

 sudo apt-get install glade-gnome 

Configuration du projet Eclipse:


Avant de démarrer Eclipse, n'oubliez pas d'intégrer les variables:

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

1. Créez un nouveau projet C ++:

Capture d'écran
image

2. Accédez aux propriétés du projet:

Capture d'écran
image

3. Allez dans C / C ++ Build -> Paramètres

Capture d'écran
image

4. Maintenant, nous devons passer des variables Eclipse, par exemple:

Capture d'écran
image

Pour le compilateur Cross GCC, voici :

 ${CC} 

Pour le compilateur Cross GCC -> Divers c'est:

 ${CFLAGS} -c 

Pour le compilateur Cross G ++, voici :

 ${CC} 

Pour le compilateur Cross G ++ -> Divers c'est:

 ${CFLAGS} -c 

Pour Cross G ++ Linker, c'est:

 ${CXX} 

Pour Cross G ++ Linker -> Divers c'est:

 ${LDFLAGS} 

Pour Cross GCC Assembler, ce sont:

 ${AS} 

Voilà, vous pouvez maintenant créer un projet, le compiler et le tester sur un automate.

Résultat


Code
 #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; } 


Capture d'écran
image

Merci de votre attention, bonne chance dans le développement.

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


All Articles