Toolkit berdasarkan Eclipse dan GTK +, untuk β€œToradex Colibri T20 (Linux)”

Artikel ini terutama dimaksudkan untuk menghemat waktu saat membuat toolkit, tetapi pada saat yang sama saya akan mencoba menceritakan semuanya dengan sangat lantang.

Deskripsi Dewan Evaluasi
Papan ini didasarkan pada prosesor dual-core "NVIDIA Tegra Cortex-A9".
Ini dapat bekerja pada Windows CE 7.0 * dan Linux.
RAM: 512MB
Spesifikasi lengkap tersedia di sini .
* Saya harus memperingatkan Anda - Saya tidak merekomendasikan WinCE7.0 sebagai OS untuk forum ini, jika C ++ sangat penting untuk pengembangan, karena tidak mudah bagi saya untuk membangun toolkit secara pribadi. Pengecualian adalah jika aplikasi Anda adalah aplikasi konsol, maka seharusnya tidak ada masalah. CoDeSys dan C # - jangan menyebabkan masalah.
Penampilan papan
gambar
gambar


Isi
  1. Unduh semua yang Anda butuhkan
  2. Instalasi SDK
  3. Pemeriksaan SDK
  4. Instal Eclipse
  5. Hubungkan GTK ke Eclipse
  6. Menyiapkan proyek Eclipse
  7. Hasil


Unduh semua yang Anda butuhkan:


Yang pertama adalah SDK untuk forum, yang dapat diunduh dari situs web resmi Toradex .
Kedua , kita membutuhkan host dengan Ubuntu 16.04 LTS .
Yang ketiga adalah Eclipse sendiri untuk C / C ++ .

Instal SDK:


Penting: pasang lebih baik di jalur default, untuk menghindari semua jenis bug.

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 

Setelah menginstal SDK, kita akan dapat menjalankan skrip untuk secara otomatis mengintegrasikan variabel:

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

Catatan: setiap kali Anda membuka terminal baru, Anda harus menjalankan skrip lagi.

Langkah opsional

Pemeriksaan SDK


1. Ubah shell Ubuntu dari dash ke bash:

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

2. Buat file FirstTest.c, dengan konten berikut:

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

3. Kompilasi:

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

4. Dengan cara apa pun, setel ulang ke PLC dan jalankan:

Tangkapan layar
gambar Segalanya tampak teratur.


Instal Eclipse


1. Java diperlukan agar Eclipse berfungsi, instal:

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

2. Mari kita pergi ke direktori di mana kita memiliki Eclipse dan membukanya:

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

3. Mari kita pergi ke direktori Eclipse:

 cd ~/eclipse/neon-3/eclipse 

4. Ekspor variabel dan jalankan Eclipse:

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

Ini menyelesaikan instalasi.

Hubungkan dan konfigurasikan GTK di Eclipse


1. Instal paket yang diperlukan:

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

2. Pergi ke Help-> Eclipse Marketplace

Tangkapan layar
gambar

3. Temukan dan instal pkg-config

Tangkapan layar
gambar

Setelah itu, restart Eclipse.

4. Pergi ke Properti -> C / C ++ Build -> Pengaturan -> "pkg-config"

Tangkapan layar
gambar

5. Temukan GTK dan centang.

Tangkapan layar
gambar

Juga, saya sarankan agar bekerja lebih cepat dan lebih baik dengan antarmuka - instal Glade.

 sudo apt-get install glade-gnome 

Menyiapkan proyek Eclipse:


Sebelum memulai Eclipse, jangan lupa untuk mengintegrasikan variabel:

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

1. Buat proyek C ++ baru:

Tangkapan layar
gambar

2. Pergi ke properti proyek:

Tangkapan layar
gambar

3. Buka C / C ++ Build -> Pengaturan

Tangkapan layar
gambar

4. Sekarang kita perlu melewati variabel Eclipse, misalnya:

Tangkapan layar
gambar

Untuk Cross GCC Compiler, ini adalah:

 ${CC} 

Untuk Cross GCC Compiler -> Miscellaneous adalah:

 ${CFLAGS} -c 

Untuk Kompiler Cross G ++, ini adalah:

 ${CC} 

Untuk Cross G ++ Compiler -> Miscellaneous adalah:

 ${CFLAGS} -c 

Untuk Cross G ++ Linker, ini adalah:

 ${CXX} 

Untuk Cross G ++ Linker -> Lain - lain adalah:

 ${LDFLAGS} 

Untuk Cross GCC Assembler, ini adalah:

 ${AS} 

Itu saja, sekarang Anda dapat membuat proyek, kompilasi dan mengujinya pada PLC.

Hasil


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


Tangkapan layar
gambar

Terima kasih atas perhatian Anda, semoga sukses dalam pengembangan.

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


All Articles