Toolkit basierend auf Eclipse und GTK + für “Toradex Colibri T20 (Linux)”

Dieser Artikel soll in erster Linie Zeit beim Erstellen eines Toolkits sparen, gleichzeitig werde ich versuchen, alles recht umfangreich zu erzählen.

Evaluation Board Beschreibung
Das Board basiert auf dem Dual-Core-Prozessor "NVIDIA Tegra Cortex-A9".
Es kann unter Windows CE 7.0 * und Linux ausgeführt werden.
RAM: 512 MB
Die vollständigen Spezifikationen finden Sie hier .
* Ich muss Sie warnen - Ich empfehle WinCE7.0 nicht als Betriebssystem für dieses Board, wenn C ++ für die Entwicklung von entscheidender Bedeutung ist, da es für mich nicht einfach war, das Toolkit persönlich zu erstellen. Eine Ausnahme ist, wenn Ihre Anwendung eine Konsolenanwendung ist, sollte es keine Probleme geben. CoDeSys und C # - verursachen keine Probleme.
Erscheinungsbild des Boards
Bild
Bild


Inhalt
  1. Laden Sie alles herunter, was Sie brauchen
  2. SDK-Installation
  3. SDK-Prüfung
  4. Installieren Sie Eclipse
  5. Verbinden Sie GTK mit Eclipse
  6. Einrichten eines Eclipse-Projekts
  7. Ergebnis


Laden Sie alles herunter, was Sie brauchen:


Das erste ist das SDK für das Board, das von der offiziellen Toradex- Website heruntergeladen werden kann.
Zweitens brauchen wir einen Host mit Ubuntu 16.04 LTS .
Der dritte ist Eclipse selbst für C / C ++ .

Installieren Sie das SDK:


Wichtig: Installieren Sie es besser im Standardpfad, um alle Arten von Fehlern zu vermeiden.

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 

Nach der Installation des SDK können wir das Skript ausführen, um die Variablen automatisch zu integrieren:

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

Hinweis: Jedes Mal, wenn Sie ein neues Terminal öffnen, müssen Sie das Skript erneut ausführen.

Optionaler Schritt

SDK-Prüfung


1. Ändern Sie die Ubuntu-Shell von dash in bash:

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

2. Erstellen Sie die Datei FirstTest.c mit folgendem Inhalt:

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

3. Kompilieren Sie:

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

4. Setzen Sie auf irgendeine Weise die SPS zurück und führen Sie Folgendes aus:

Screenshot
Bild Alles scheint in Ordnung zu sein.


Installieren Sie Eclipse


1. Java ist erforderlich, damit Eclipse funktioniert. Installieren Sie es:

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

2. Gehen wir in das Verzeichnis, in dem wir Eclipse haben und entpacken es:

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

3. Gehen wir zum Eclipse-Verzeichnis:

 cd ~/eclipse/neon-3/eclipse 

4. Exportieren Sie die Variablen und führen Sie Eclipse aus:

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

Damit ist die Installation abgeschlossen.

Verbinden und konfigurieren Sie GTK in Eclipse


1. Installieren Sie die erforderlichen Pakete:

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

2. Gehen Sie zu Hilfe-> Eclipse Marketplace

Screenshot
Bild

3. Suchen und installieren Sie pkg-config

Screenshot
Bild

Starten Sie danach Eclipse neu.

4. Gehen Sie zu Eigenschaft -> C / C ++ Build -> Einstellungen -> "pkg-config".

Screenshot
Bild

5. Finde GTK und kreuze es an.

Screenshot
Bild

Außerdem empfehle ich, dass Sie Glade installieren, um schneller und besser mit der Benutzeroberfläche arbeiten zu können.

 sudo apt-get install glade-gnome 

Einrichten des Eclipse-Projekts:


Vergessen Sie nicht, die Variablen zu integrieren, bevor Sie Eclipse starten:

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

1. Erstellen Sie ein neues C ++ Projekt:

Screenshot
Bild

2. Gehen Sie zu den Projekteigenschaften:

Screenshot
Bild

3. Gehen Sie zu C / C ++ Build -> Einstellungen

Screenshot
Bild

4. Nun müssen wir Eclipse-Variablen übergeben, zum Beispiel:

Screenshot
Bild

Für Cross GCC Compiler ist dies:

 ${CC} 

Für Cross GCC Compiler -> Sonstiges ist es:

 ${CFLAGS} -c 

Für Cross G ++ Compiler ist dies:

 ${CC} 

Für Cross G ++ Compiler -> Verschiedenes ist es:

 ${CFLAGS} -c 

Für Cross G ++ Linker ist dies:

 ${CXX} 

Für Cross G ++ Linker -> Miscellaneous ist dies:

 ${LDFLAGS} 

Für Cross GCC Assembler sind dies:

 ${AS} 

Jetzt können Sie ein Projekt erstellen, kompilieren und auf einer SPS testen.

Ergebnis


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


Screenshot
Bild

Vielen Dank für Ihre Aufmerksamkeit, viel Glück bei der Entwicklung.

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


All Articles