基于Eclipse和GTK +的工具包,用于“ Toradex Colibri T20(Linux)”

本文的主要目的是在创建工具箱时节省时间,但与此同时,我将尽力介绍所有内容。

评估板说明
该主板基于双核处理器“ NVIDIA Tegra Cortex-A9”。
它可以在Windows CE 7.0 *和Linux上运行。
内存:512MB
完整规格可在此处获得
*我必须警告您-如果C ++对于开发至关重要,我不建议将WinCE7.0用作此板的操作系统,因为对于我个人而言,构建工具包并不容易。 一个例外是,如果您的应用程序是控制台应用程序,那么应该没有问题。 CoDeSys和C#-不会引起问题。
板外观
图片
图片


目录内容
  1. 下载所需的一切
  2. SDK安装
  3. SDK检查
  4. 安装Eclipse
  5. 将GTK连接到Eclipse
  6. 设置Eclipse项目
  7. 结果


下载所需的一切:


第一个是开发板的SDK,可以从Toradex官方网站上下载
其次 ,我们需要使用Ubuntu 16.04 LTS的主机。
第三个C / C ++本身的Eclipse

安装SDK:


重要提示:最好将其安装在默认路径上,以避免出现各种错误。

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 

安装SDK之后,我们将能够运行脚本以自动集成变​​量:

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

注意:每次打开新终端时,都必须再次运行脚本。

可选步骤

SDK检查


1.将Ubuntu shell从破折号更改为bash:

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

2.创建文件FirstTest.c,其中包含以下内容:

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

3.编译:

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

4.以任何方式,复位到PLC并运行:

屏幕截图
图片 一切似乎井井有条。


安装Eclipse


1. Java是Eclipse正常运行所必需的,请安装它:

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

2.让我们转到拥有Eclipse的目录并解压缩它:

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

3.让我们转到Eclipse目录:

 cd ~/eclipse/neon-3/eclipse 

4.导出变量并运行Eclipse:

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

这样就完成了安装。

在Eclipse中连接并配置GTK


1.安装必要的软件包:

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

2. 转到帮助-> Eclipse Marketplace

屏幕截图
图片

3.查找并安装pkg-config

屏幕截图
图片

之后,重新启动Eclipse。

4.转到属性-> C / C ++构建->设置->“ pkg-config”

屏幕截图
图片

5.找到GTK并勾选它。

屏幕截图
图片

另外,我建议为了更快更好地使用界面,请安装Glade。

 sudo apt-get install glade-gnome 

设置Eclipse项目:


在启动Eclipse之前,请不要忘记集成变量:

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

1.创建一个新的C ++项目:

屏幕截图
图片

2.转到项目属性:

屏幕截图
图片

3.转到C / C ++构建->设置

屏幕截图
图片

4.现在,我们需要传递Eclipse变量,例如:

屏幕截图
图片

对于Cross GCC编译器,这是:

 ${CC} 

对于Cross GCC编译器->其他,它是:

 ${CFLAGS} -c 

对于Cross G ++编译器,这是:

 ${CC} 

对于Cross G ++编译器->其他,它是:

 ${CFLAGS} -c 

对于Cross G ++ Linker,这是:

 ${CXX} 

对于Cross G ++ Linker->其他,它是:

 ${LDFLAGS} 

对于Cross GCC汇编程序,这些是:

 ${AS} 

就是这样,现在您可以创建一个项目,在PLC上进行编译和测试。

结果


代号
 #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; } 


屏幕截图
图片

感谢您的关注,祝您开发顺利。

Source: https://habr.com/ru/post/zh-CN484342/


All Articles