差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
上一修订版两侧同时换到之后的修订记录
digi:arm-embedded:linux:dey:dey_app_development [2024/01/08 19:04] robindigi:arm-embedded:linux:dey:dey_app_development [2024/01/09 23:26] robin
行 2: 行 2:
 您可以使用Makefile或是Digi IDE(基于Eclipse定制的IDE)或是QT Creator来进行应用程序开发。Digi提供SDK来安装开发应用程序所需的交叉编译工具链,您需要根据您的ConnectCore硬件平台下载相应的SDK安装。 您可以使用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官方提供完备的应用程序英文文档,本中文文档为精简版,当您碰到问题,请访问[[https://www.digi.com/resources/documentation/digidocs/embedded/|官方的文档入口]],选择对应的ConnectCore硬件平台,进入Digi Embedded Yocto文档,侧菜单中选择Application Development章节,查看相关的内容
  
 ====下载和安装Digi ConnectCore相关平台的SDK==== ====下载和安装Digi ConnectCore相关平台的SDK====
-SDK提供了应用程序开发所需的交叉编译工具链,安装好SDK后,您可以使用终端的方式,或是IDE的方式来开发应用程序。下面示例中用到Digi的交叉编译工具,如果您用的DEY版本和示例命令不一致,请[[https://ftp1.digi.com/support/digiembeddedyocto/|Digi官方FTP]]中对应版本的SDK进行替换。我们建议您使用最新的DEY版本和它对应的安装包。 +SDK提供了应用程序开发所需的交叉编译工具链,安装好SDK后,您可以使用终端的方式,或是IDE的方式来开发应用程序。下面示例中用到Digi的交叉编译工具,如果您用的DEY版本和示例命令不一致,请[[https://ftp1.digi.com/support/digiembeddedyocto/|Digi官方FTP]]中选择对应版本的SDK进行替换。我们建议您使用最新的DEY版本和它对应的安装包。 
 <hidden 备用下载地址> <hidden 备用下载地址>
-如果碰到网络问题,从官网下载很慢,可以尝试备用的下载地址:http://dey-mirror.eccee.com:1080/digiembeddedyocto/soft/,请根据你的平台选择正确的sdk。+如果碰到网络问题,从官网下载很慢,可以尝试备用的下载地址:http://dey-mirror.eccee.com:1080/digiembeddedyocto/soft/,请根据你的平台选择正确的sdk。 
 </hidden> </hidden>
-下面以ConectCore MP157的SDK为例:\\ +除了下载预编译好的SDK安装外,您也可以在编译系统固件镜像时,使用-c populate_sdk来编译生成SDK安装包。\\ 
-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]]  \\+下面以ConectCore 93核心模块的的SDK为例来说明SDK安装过程和在程序开发及IDE配置中如何使用相关的交叉编译工具链:\\ 
 +1. 下载[[https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/ccimx93-dvk/xwayland/dey-glibc-x86_64-dey-image-qt-xwayland-cortexa55-ccimx93-dvk-toolchain-4.0-r4.sh|Connectcore 93的DEY-4.0-r4 SDK]] \\ 
 +如果您使用其它平台,请相应选择下载: 
 +[[https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/ccmp13-dvk/fb/dey-glibc-x86_64-core-image-base-cortexa7t2hf-neon-vfpv4-ccmp13-dvk-toolchain-4.0-r4.sh |ConnectCore MP133 DEY-4.0-r4 SDK ]] \\ 
 +[[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|ConnectCore MP157 DEY-4.0-r4 SDK]]  \\   
 +[[https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/ccimx8mn-dvk/xwayland/dey-glibc-x86_64-dey-image-qt-xwayland-cortexa53-crypto-ccimx8mn-dvk-toolchain-4.0-r4.sh|ConnectCore 8m nano DEY-4.0-r4 SDK]] \\ 
 +[[https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/ccimx8x-sbc-pro/xwayland/dey-glibc-x86_64-dey-image-qt-xwayland-cortexa35-ccimx8x-sbc-pro-toolchain-4.0-r4.sh|ConnectCore 8x DEY-4.0-r4 SDK]]
 2. 安装  \\ 2. 安装  \\
 +不同SOM平台请使用您下载的SDK文件名来替换
 <code> <code>
-chmod +x ./dey-glibc-x86_64-dey-image-qt-wayland-cortexa7t2hf-neon-vfpv4-ccmp15-dvk-toolchain-4.0-r4.sh +chmod +x ./dey-glibc-x86_64-dey-image-qt-xwayland-cortexa55-ccimx93-dvk-toolchain-4.0-r4.sh 
-./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-xwayland-cortexa55-ccimx93-dvk-toolchain-4.0-r4.sh
 </code> </code>
 根据提示,一般只需一直回车,即可安装好SDK\\ 根据提示,一般只需一直回车,即可安装好SDK\\
行 21: 行 28:
  
 ====使用基于Eclipse的Digi官方IDE应用开发环境Digi ADE=== ====使用基于Eclipse的Digi官方IDE应用开发环境Digi ADE===
-您可以使用Digi提供的IDE来为您的硬件平台开创建和编译应用程序。Digi Application Development Environment简称DADE,是一个集成式开发环境,用户只需安装一次,就可以在IDE中自动配置好相关插件,并且IDE中集成有例程和开发文档供用户参考。 +您可以使用Digi提供的IDE来为您的ConnectCore硬件平台开创建和编译应用程序。Digi Application Development Environment简称DADE,是一个集成式开发环境,用户只需安装一次,就可以在IDE中自动配置好相关插件,并且IDE中集成有例程和开发文档供用户参考。使用该开发环境,您可以:
-===下载并安装IDE软件=== +
-您可以用下面任一种方法安装Digi ADE应用程序开发环境: +
-  * Digi应用程序开发环境安装包,它包括Eclipse和所有需要用到的插件,包括Digi插件以及JRE 8。 +
-  * 如果您之前已经在用Eclipse开发软件,那么只需安装Digi插件即可。 +
-Digi应用程序开发环境提供了一个预配置好的Eclipse开发环境,使用该开发环境,您可以:+
   * 下载和安装不同Digi硬件平台所需的DEY工具链   * 下载和安装不同Digi硬件平台所需的DEY工具链
   * 创建新的C/C++项目   * 创建新的C/C++项目
行 32: 行 34:
   * 使用DEY工具链交叉编译C/C++项目和例程   * 使用DEY工具链交叉编译C/C++项目和例程
   * 在您的开发板远程启动和调试应用程序   * 在您的开发板远程启动和调试应用程序
-注意,为了保障开发顺利进行,您用于开发的主机应安装有64位的Linux操作系统(Ubuntu 20.04及其以上),多核和8G以上的RAM,并且可用磁盘空间至少大于100G。+注意,为了保障开发顺利进行,您用于开发的主机应安装有64位的Linux桌面操作系统(Ubuntu 20.04及其以上),多核和8G以上的RAM,并且可用磁盘空间至少大于100G。 
 +===下载并安装IDE软件=== 
 +您可以用下面任一种方法安装Digi ADE应用程序开发环境: 
 +  * Digi应用程序开发环境安装包,它包括Eclipse和所有需要用到的各种插件 
 +  * 如果您之前已经在用Eclipse开发软件,那么只需安装Digi插件即可,详情请参考官方文档。 
 +下面我们以ConnectCore 93的程序开发为例:
  
-1、下载安装包:https://ftp1.digi.com/support/digiembeddedyocto/eclipse,会自动跳转下载最新的安装包,一般是一个40003033_版本号.run文件,以40003033_H.run为例。+1、下载Digi ADE安装包:https://ftp1.digi.com/support/digiembeddedyocto/eclipse,会自动跳转下载最新的安装包,一般是一个40003033_版本号.run文件,以40003033_H.run为例。
  
 2、安装过程中,您需要有足够权限,因此先运行:  \\ 2、安装过程中,您需要有足够权限,因此先运行:  \\
 <code> <code>
-$ sudo install -o <your-user> -g <your-group> -d /opt/eclipse  +$ sudo install -o $USER -g $USER -d /opt/eclipse  
-上面的用户名或用户组一般为您登的用户名  +上面的$USER也可以用您登的用户名替代。  
 </code> </code>
 3、下载完成后,需要先更改属性赋予该*.run文件可执行权限,然后在桌面上双击*.run运行安装程序,按提示一步步完成安装。您也可以在命令行下执行 3、下载完成后,需要先更改属性赋予该*.run文件可执行权限,然后在桌面上双击*.run运行安装程序,按提示一步步完成安装。您也可以在命令行下执行
行 48: 行 55:
  
 ===安装配置平台的交叉编译工具链=== ===安装配置平台的交叉编译工具链===
-我们在第一步已经安装好对应平台的SDK,首次运行Digi ADE,我们需要配置好它。你也可以从菜单中找到工具链的安装配置页面:Window>Preferences中的DEY Toolchains。如果您的硬件平台的SDK没在安装好,或是你需要增加一种平台的SDK,可以点击“Download new toolchains...”按钮会自动搜索以下载对应平台的交叉工具链。但Eclipse并不是一种高效的下载工具,通常建议您独立下载SDK并安装后供IDE配置和使用。 +我们在第一步已经安装好对应平台的SDK,首次运行Digi ADE,我们需要配置好它。如果向导没有引导您配置项目的工具链,你也可以从菜单中找到工具链的安装配置页面:Window>Preferences中的DEY Toolchains。如果您的硬件平台的SDK没在安装好,或是你需要增加一种平台的SDK,可以点击“Download new toolchains...”按钮会自动搜索以下载对应平台的交叉工具链。但Eclipse并不是一种高效的下载工具,通常建议您独立下载SDK并安装后供IDE配置和使用。Digi ADE支持安装多个不同SOM的SDK您只需选中一个当前所需的SDK作为默认的工具链,并应用它。
-不同平台一般可根据硬件能力选择fb或视窗支持(x11或xwayland)这两种工具链,分别对应 Framebuffer和视窗的两种显示方式。下载安装好工具链后,选中一个作为默认的工具链,并应用它。+
  
 {{digi:arm-embedded:linux:dey:dey-toolchains-config.png?400|}} {{digi:arm-embedded:linux:dey:dey-toolchains-config.png?400|}}
  
 ===连接到核心板=== ===连接到核心板===
-Eclipse带有一个connection连接插件,让您可以从内置终端连接到远程设备上以方便调试。如果没找到connections配置窗口,可以从菜单上找到Window> Show View> Other>connections中打开。终端视图中点击New Connection按钮新建一个连接,您可以择任一种远程协议来连接到目标板上。通常地用SSH最为方便速度也最快。请根据目标板的IP地址配置好远程终端+Eclipse带有一个connection连接插件,让您可以从内置终端连接到远程设备上以方便调试。Connections的配置按钮主界面上如下所示按下按钮新建一个连接,然后中Generic Connection根据向导一步一步添加设备的连接: 
 + 
 +{{:digi:arm-embedded:linux:dey:pasted:20240109-231743.png}} 
 + 
 +点击Browse按钮查看网络内的设备如果没在列表中可以用ADD按钮通过开发板的IP地址添加, 
 + 
 +{{:digi:arm-embedded:linux:dey:pasted:20240109-232205.png}} 
 + 
 +最终添加好一个ConnectCore 93的开发板的连接配置如下: 
 + 
 +{{:digi:arm-embedded:linux:dey:pasted:20240109-232424.png}} 
 + 
 +点击Finish完成添加
  
 ===创建C/C++项目=== ===创建C/C++项目===
行 75: 行 93:
  
 ===运行或调试项目=== ===运行或调试项目===
-编译成功后,您可以远程运行或是调试它。在工具栏按钮中,有个当前目标板连接的下拉菜单,如果你还没有连接到任何目标,请点击“New Connection",根据向导,建立一个新的连接。创建好后点击边上的连按钮连接到目标板上+编译成功后,您可以远程运行或是调试它。在工具栏按钮中,有个当前目标板连接的下拉菜单,如果之前连接到开发的步骤已经建立连接,就可以直使用
  
 连接好后,可以通过项目的右键菜单Run As > DEY C/C++ Remote Application或是Debug As > DEY C/C++ Remote Application来运行或是调试程序。 连接好后,可以通过项目的右键菜单Run As > DEY C/C++ Remote Application或是Debug As > DEY C/C++ Remote Application来运行或是调试程序。