差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版两侧同时换到之后的修订记录
digi:arm-embedded:linux:dey:dey_app_development [2020/12/22 14:58] robindigi:arm-embedded:linux:dey:dey_app_development [2024/01/08 19:04] robin
行 1: 行 1:
 =====DEY应用程序开发===== =====DEY应用程序开发=====
-您可以使用Digi IDE(基于Eclipse定制的IDE)或是QT Creator来进行应用程序开发。下面示例中用到Digi的交叉编译工具,如果您用的DEY版本和示例命令不一致,请按[[ftp://ftp1.digi.com/support/digiembeddedyocto/|Digi官方FTP]]中对应版本的SDK进行替换。我们建议您使用最新的DEY版本和它对应的安装包。  +您可以使用Makefile或是Digi IDE(基于Eclipse定制的IDE)或是QT Creator来进行应用程序开发。Digi提供SDK来安装开发应用程序所需的交叉编译工具链,您需要根据您的ConnectCore硬件平台下载相应的SDK安装。 
 + 
 +Digi官方提供完备的应用程序英文文档,本中文文档为精简版,当您碰到问题,请访问官方的文档入口,这里以[[https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/ccmp15/yocto-application-development_c.html|CCMP157应用程序开发文档]]为例,其它平台,请进入后在右侧菜单中切换。 
 + 
 +====下载和安装Digi ConnectCore相关平台的SDK==== 
 +SDK提供了应用程序开发所需的交叉编译工具链,安装好SDK后,您可以使用终端的方式,或是IDE的方式来开发应用程序。下面示例中用到Digi的交叉编译工具,如果您用的DEY版本和示例命令不一致,请按[[https://ftp1.digi.com/support/digiembeddedyocto/|Digi官方FTP]]中对应版本的SDK进行替换。我们建议您使用最新的DEY版本和它对应的安装包。 
 <hidden 备用下载地址> <hidden 备用下载地址>
-如果碰到网络问题,从官网下载很慢,可以尝试备用的下载地址:http://dey-mirror.eccee.com:1080+如果碰到网络问题,从官网下载很慢,可以尝试备用的下载地址:http://dey-mirror.eccee.com:1080/digiembeddedyocto/soft/,请根据你的平台选择正确的sdk。
 </hidden> </hidden>
-====使用Eclipse Digi应用开发环境==== +下面以ConectCore MP157的SDK为例:\\ 
-您可以使用基于EclipseDigi IDE和相关插件来为您的硬件平台开创建和编译应用程序。+1. 下载[[https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/ccmp15-dvk/wayland/dey-glibc-x86_64-dey-image-qt-wayland-cortexa7t2hf-neon-vfpv4-ccmp15-dvk-toolchain-4.0-r4.sh|DEY 4.0-r4 SDK]]ConnectCore MP157 SDK]]  \\ 
 +2. 安装  \\ 
 +<code> 
 +chmod +x ./dey-glibc-x86_64-dey-image-qt-wayland-cortexa7t2hf-neon-vfpv4-ccmp15-dvk-toolchain-4.0-r4.sh 
 +./dey-glibc-x86_64-dey-image-qt-wayland-cortexa7t2hf-neon-vfpv4-ccmp15-dvk-toolchain-4.0-r4.sh 
 +</code> 
 +根据提示,一般只需一直回车,即可安装好SDK\\ 
 +3.根据项目大小和使用习惯开发应用程序 \\ 
 +您可以使用IDE,也可以直接使用终端和Makefile来编译程序,请从右侧菜单选择您所需的开发方式。 
 + 
 +====使用基于EclipseDigi官方IDE应用开发环境Digi ADE=== 
 +您可以使用Digi提供的IDE来为您的硬件平台开创建和编译应用程序。Digi Application Development Environment简称DADE,是一个集成式开发环境,用户只需安装一次,就可以在IDE中自动配置好相关插件,并且IDE中集成有例程和开发文档供用户参考
 ===下载并安装IDE软件=== ===下载并安装IDE软件===
-您可以用下面任一种方法安装Digi应用程序开发环境:+您可以用下面任一种方法安装Digi ADE应用程序开发环境:
   * Digi应用程序开发环境安装包,它包括Eclipse和所有需要用到的插件,包括Digi插件以及JRE 8。   * Digi应用程序开发环境安装包,它包括Eclipse和所有需要用到的插件,包括Digi插件以及JRE 8。
   * 如果您之前已经在用Eclipse开发软件,那么只需安装Digi插件即可。   * 如果您之前已经在用Eclipse开发软件,那么只需安装Digi插件即可。
行 16: 行 32:
   * 使用DEY工具链交叉编译C/C++项目和例程   * 使用DEY工具链交叉编译C/C++项目和例程
   * 在您的开发板远程启动和调试应用程序   * 在您的开发板远程启动和调试应用程序
-注意,为了保障开发顺利进行,您用于开发的主机应安装有64位的Linux操作系统(Ubuntu 18.04及其以上),多核和4G的RAM,并且可用磁盘空间大于30G+注意,为了保障开发顺利进行,您用于开发的主机应安装有64位的Linux操作系统(Ubuntu 20.04及其以上),多核和8G以上的RAM,并且可用磁盘空间至少大于100G。 
 + 
 +1、下载安装包:https://ftp1.digi.com/support/digiembeddedyocto/eclipse,会自动跳转下载最新的安装包,一般是一个40003033_版本号.run文件,以40003033_H.run为例
  
-1、下载安装包:https://ftp1.digi.com/support/digiembeddedyocto/eclipse/eclipse-dey-3.0-r2.run 
-(如官网FTP有更新版本,请尽量使用最新版本的IDE)  \\ 
 2、安装过程中,您需要有足够权限,因此先运行:  \\ 2、安装过程中,您需要有足够权限,因此先运行:  \\
 <code> <code>
行 25: 行 41:
 上面的用户名或用户组一般为您登录的用户名   上面的用户名或用户组一般为您登录的用户名  
 </code> </code>
-3、下载完成后,需要先更改属性赋予该*.run文件可执行权限,然后双击*.run运行安装程序,按提示一步步完成安装。您也可以在命令行下执行+3、下载完成后,需要先更改属性赋予该*.run文件可执行权限,然后在桌面上双击*.run运行安装程序,按提示一步步完成安装。您也可以在命令行下执行
 <code> <code>
-$ chmod +x eclipse-dey-3.0-r2.run  +sudo chmod +x 40003033_H.run  
-$ ./eclipse-dey-3.0-r2.run +$ ./40003033_H.run
 </code> </code>
  
-===安装的交叉编译工具链=== +===安装配置平台的交叉编译工具链=== 
-Digi提供了个预编译的SDK,它带有了匹配预编译镜像所需的交叉编译工具链和库文件等。安装好的工具链包括一些文件和目录:环境设置脚本,配置文件,主机和目标板rootfs等。 +我们在第步已经安装好对应平台SDK,首次运行Digi ADE我们需要配置好它。你也可以从菜单中找到工具链的安装配置页面:Window>Preferences中的DEY Toolchains。如果您的硬件平台的SDK没在安装好,或是你需要增加一种平台的SDK,可以点击“Download new toolchains...”按钮会自动搜索以下载对应平台的交叉工具链。但Eclipse并不是一种高效的下载工具,通常建议您独立下载SDK并安装后供IDE配置和使用。 
-  * 安装Digi工具链 +不同平台一般可根据硬件能力选择fb视窗支持(x11或xwayland)两种工具链,分别对应 Framebuffer和视窗的两种显示方式。下载安装好工具链后,选中一个作为默认的工具链,并应用它。
-默认地,首次启动开发环境会提示您需要配置工具链,默认目录在/opt/dey,如果您从未下载安装过Digi平台的SDK,会提示目录不存在,请在终端内用install命令新建个有读写权限的目录 +
-<code> +
-$ sudo install -o <your-user> -g <your-group> -d /opt/dey +
-$ sudo chmod +x ./dey-glibc-x86_64-dey-image-qt-XXXX-<arch-platform>-toolchain-<version>.sh  (请根据自己需求选择对应平台的工具链) +
-$ ./dey-glibc-x86_64-dey-image-qt-XXXX-<arch-platform>-toolchain-<version>.sh   +
-</code> +
-虽然你可以从IDE菜单中安装工具链,但由于通过eclipse下载工具链很慢,建议手工下载SDK安装,eclipse可以认出手工安装的工具链。\\ +
-你也可以从菜单中找到工具链的安装配置页面:Window>Preferences中的DEY Toolchains。 +
-点击“Download new toolchains...”按钮会自动搜索以下载对应平台的交叉工具链。 +
-每个平台都有fb视窗(x11或xwayland)两种工具链,分别对应 Framebuffer和视窗的两种显示方式。图形窗口管理器是在Framebuffer之上的视窗架构,Framebuffer更简单,更省内存,而视窗显示服务器架构可利用的开源桌面软件资源较丰富,但编译出来的程序也更大,并且基于视窗sdk的程序只能在带有桌面显示支持的镜像上运行。如果你的设备不带显示屏,下载个fb版本的工具链就够了。\\ +
-下载安装好工具链后,选中一个作为默认的工具链,并应用它。+
  
 {{digi:arm-embedded:linux:dey:dey-toolchains-config.png?400|}} {{digi:arm-embedded:linux:dey:dey-toolchains-config.png?400|}}
  
 ===连接到核心板=== ===连接到核心板===
-Eclipse带有一个终端插件,让您可以从内置终端连接到远程设备上以方便调试。如果没找到终端窗口,可以从菜单上找到Window> Show View> Other>Terminal中打开。在终端视图中,点击Open a Terminal按钮新建一个终端窗口,您可以选择任一种远程协议来连接到目标板上。通常地,用SSH最为方便,速度也最快。请根据目标板的IP地址配置好远程终端。+Eclipse带有一个connection连接插件,让您可以从内置终端连接到远程设备上以方便调试。如果没找到connections配置窗口,可以从菜单上找到Window> Show View> Other>connections中打开。在终端视图中,点击New Connection按钮新建一个连接,您可以选择任一种远程协议来连接到目标板上。通常地,用SSH最为方便,速度也最快。请根据目标板的IP地址配置好远程终端。
  
 ===创建C/C++项目=== ===创建C/C++项目===
行 85: 行 90:
  
 2.**安装DEY交叉编译工具链** 2.**安装DEY交叉编译工具链**
-安装完成后,请先不要运行。我们还需要下载并安装支持QT的DEY工具链,您也可以使用自行编译的工具链。请从Digi的官方FTP中下载对应版本的SDK安装包来安装。当前的最新版本是2.4-r2,手工下载安装,请到{{ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/sdk|Digi官网SDK下载中心}}下载后安装。+安装完成后,请先不要运行。我们还需要下载并安装支持QT的DEY工具链,您也可以使用自行编译的工具链。请从Digi的官方FTP中下载对应版本的SDK安装包来安装。当前的最新版本是3.0-r4,手工下载安装,请到{{ftp://ftp1.digi.com/support/digiembeddedyocto/3.0/r4/|Digi官网下载}}下载后安装。
 \\ \\
 <tabs> <tabs>
   * [[#cc6ulsbc|ConnectCore 6UL sbc pro]]   * [[#cc6ulsbc|ConnectCore 6UL sbc pro]]
-  * [[#cc6sbc|ConnectCore sbc pro]] +  * [[#cc8xsbc|ConnectCore 8X sbc pro]]  
-  * [[#cc8xsbc|ConnectCore 8x sbc pro]] +  * [[#cc8mnano|ConnectCore 8M nano sbc pro]]
 <pane id="cc6ulsbc"> <pane id="cc6ulsbc">
 <code> <code>
-~> wget ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/sdk/ccimx6ulsbc/x11/dey-glibc-x86_64-dey-image-qt-x11-cortexa7hf-neon-toolchain-2.4-r2.sh    +~> wget https://ftp1.digi.com/support/digiembeddedyocto/3.0/r3/sdk/ccimx6ulsbc/x11/dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-ccimx6ulsbc-toolchain-3.0-r4.sh    
-~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa7hf-neon-toolchain-2.4-r2.sh +~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-ccimx6ulsbc-toolchain-3.0-r4.sh 
-~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa7hf-neon-toolchain-2.4-r2.sh+~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-ccimx6ulsbc-toolchain-3.0-r4.sh
 </code>  \\   </code>  \\  
 \\ \\
 </pane> </pane>
-<pane id="cc6sbc">+<pane id="cc8xsbc">
 <code> <code>
-~> wget ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/sdk/ccimx6sbc/x11/dey-glibc-x86_64-dey-image-qt-x11-cortexa9hf-neon-toolchain-2.4-r2.sh    +~> wget https://ftp1.digi.com/support/digiembeddedyocto/3.2/r1/sdk/ccimx8x-sbc-pro/xwayland/dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8x-sbc-pro-toolchain-3.2-r1.sh    
-~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa9hf-neon-toolchain-2.4-r2.sh +~> chmod +x dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8x-sbc-pro-toolchain-3.2-r1.sh  
-~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa9hf-neon-toolchain-2.4-r2.sh+~> ./dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8x-sbc-pro-toolchain-3.2-r1.sh 
 </code>  \\   </code>  \\  
 \\ \\
 </pane> </pane>
-<pane id="cc68xsbc"> +<pane id="cc8mnano"> 
-ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/sdk/ccimx8x-sbc-pro/fb/dey-glibc-x86_64-dey-image-qt-fb-aarch64-toolchain-2.4-r2.sh +<code> 
-~> chmod +x dey-glibc-x86_64-dey-image-qt-fb-aarch64-toolchain-2.4-r2.sh +~> wget https://ftp1.digi.com/support/digiembeddedyocto/3.2/r1/sdk/ccimx8mn-dvk/xwayland/dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8mn-dvk-toolchain-3.2-r1.sh 
-~> ./dey-glibc-x86_64-dey-image-qt-fb-aarch64-toolchain-2.4-r2.sh+~> chmod +x dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8mn-dvk-toolchain-3.2-r1.sh 
 +~> ./dey-glibc-x86_64-dey-image-qt-xwayland-aarch64-ccimx8mn-dvk-toolchain-3.2-r1.sh
 </code>  \\   </code>  \\  
 \\ \\
行 199: 行 205:
 ====用终端命令行开发应用程序==== ====用终端命令行开发应用程序====
 您也可以使用命令行的方式来编译Hello world应用程序,并在您的板子上运行。之前的IDE章节已经安装好了DEY的工具链,如果你没有安装,可以从[[ftp://ftp1.digi.com/support/digiembeddedyocto|官方的FTP]]中下载对应平台的SDK并安装它。 您也可以使用命令行的方式来编译Hello world应用程序,并在您的板子上运行。之前的IDE章节已经安装好了DEY的工具链,如果你没有安装,可以从[[ftp://ftp1.digi.com/support/digiembeddedyocto|官方的FTP]]中下载对应平台的SDK并安装它。
-当前的最新版本是2.6-r3,请安装您核心模块和之上运行的DEY版本对应的SDK,以CC6ul为例+当前的最新版本是3.0-r4,请安装您核心模块和之上运行的DEY版本对应的SDK,以CC6ul为例
 <code> <code>
-~> wget ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r3/sdk/ccimx6ulsbc/x11/cc6ulsbc/dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-2.6-r3.sh   \\ +~> wget ftp://ftp1.digi.com/support/digiembeddedyocto/3.0/r4/sdk/ccimx6ulsbc/x11/cc6ulsbc/dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-3.0-r4.sh   \\ 
-或用浏览器下载上面地址链接,或是用国内镜像http://dey-mirror.eccee.com/sdk/cc6ulsbc/dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-2.6-r3.sh+或用浏览器下载上面地址链接,或是用国内镜像http://dey-mirror.eccee.com/sdk/cc6ulsbc/dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-3.0-r4.sh
  
-~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-2.6-r3.sh +~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-3.0-r4.sh 
-~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-2.6-r3.sh+~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-toolchain-3.0-r4.sh
 </code> </code>
  
行 260: 行 266:
 </code> </code>
  
-更多信息,请参考官方文档中的[[http://cms.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto_t_cl-app-create-build|应用程序开发]]+更多信息,请参考官方文档中的[[http://cms.digi.com/resources/documentation/digidocs/embedded/dey/3.0/cc6ul/yocto_t_cl-app-create-build|应用程序开发]]