差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
digi:arm-embedded:linux:dey:dey_app_development [2024/01/09 23:26] robindigi:arm-embedded:linux:dey:dey_app_development [2024/01/09 23:52] (当前版本) robin
行 12: 行 12:
 下面以ConectCore 93核心模块的的SDK为例来说明SDK安装过程和在程序开发及IDE配置中如何使用相关的交叉编译工具链:\\ 下面以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]] \\ 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/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/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]]  \\  
行 53: 行 53:
 $ ./40003033_H.run $ ./40003033_H.run
 </code> </code>
 +安装完成后,请关闭这个Shell,以便后面的其它IDE安装或运行不受本次配置的环境变量的影响。
  
 ===安装配置平台的交叉编译工具链=== ===安装配置平台的交叉编译工具链===
行 98: 行 99:
  
 ====使用QT Creator开发应用程序==== ====使用QT Creator开发应用程序====
-本章节将介绍如何在Linux环境下使用QT Creator来进行DEY应用程序开发。注意,您的电脑至少需要有4G RAM和10G以上的硬盘空间才能正常使用QT Creator进行开发。+本章节将介绍如何在Linux环境下使用QT Creator来进行DEY应用程序开发。注意,您的电脑至少需要有4G RAM和100G以上的硬盘空间才能正常使用QT Creator进行开发。QT开发在应用程序开发的官方文档中有专门的章节。\\ 
 + 
 +注意:安装QT时,不同的发行版本可能需要一些依赖包,有QT无法安装时,可运行下面一些依赖包安装:\\ 
 +普通ubuntu桌面版本,可能只需要libxcb-xinerama0,xubuntu则需要libxcb-icccm4 \\ 
 +sudo apt install libxcb-xinerama0  libxcb-icccm4 \\ 
 +如果仍有问题,可运行下面更多的依赖包安装 \\ 
 +sudo apt install libxcb-xinerama0 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libxcb-icccm4  \\
  
 ===下载并安装QT Creator软件=== ===下载并安装QT Creator软件===
-1.**安装QT Creator**  \\ +下载安装QT creator 9.0.2版本 \\ 
-从QT官网https://download.qt.io/official_releases/qtcreator/下载最新版本的QT Creator。\\ +在桌面环境中终端安装,不要远程ssh登陆安装,因为需要桌面交互才能完成安装。\\   
-下载完成后,赋予可执行权限并运行安装程序。\\ +wget https://download.qt.io/official_releases/qtcreator/9.0/9.0.2/qt-creator-opensource-linux-x86_64-9.0.2.run  \\ 
-~> chmod +x qt-creator-opensource-linux-x86_64-X.Y.Z.run \\ +或用国内镜像:\\ 
-~> ./qt-creator-opensource-linux-x86_64-X.Y.Z.run \\+wget http://dey-mirror.eccee.com:1080/digiembeddedyocto/soft/qt-creator-opensource-linux-x86_64-9.0.2.run \\ 
 +chmod +x qt-creator-opensource-linux-x86_64-X.Y.Z.run \\ 
 +./qt-creator-opensource-linux-x86_64-X.Y.Z.run \\ 
 +安装过程需要注册QT,安装完最后一步请去掉那个启动QT Creator的勾选框,先别启动,我们需要安装Digi SDK后才启动。  \\
  
-2.**安装DEY交叉编译工具链** +===安装SDK=== 
-安装完成后请先不要运行。我们还需要下载并安装支持QT的DEY工具链,您也可以使用自行编译的工具链。请从Digi的官方FTP中下载对应版本的SDK安装包来安装。当前的最新版本是3.0-r4手工下载安装,请到{{ftp://ftp1.digi.com/support/digiembeddedyocto/3.0/r4/|Digi官网下载}}下载安装 +一般建议先安装SDK再到IDE中配置,我们之前已经演示过SDK的安装,如果是先安装QT Creator,则启动之前,需要先安装SDK安装完SDK之后,请关闭该Shell,重新打开一人新的shell终端来运行环境配置和启动IDE。\\ 
-\\ +进入sdk安装目录,运行环境配置
-<tabs> +
-  * [[#cc6ulsbc|ConnectCore 6UL sbc pro]] +
-  * [[#cc8xsbc|ConnectCore 8X sbc pro]]  +
-  * [[#cc8mnano|ConnectCore 8M nano sbc pro]] +
-<pane id="cc6ulsbc">+
 <code> <code>
-~> 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    +cd /opt/dey/4.0-r4/ccimx93-dvk 
-~> chmod +x dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-ccimx6ulsbc-toolchain-3.0-r4.sh +environment-setup-cortexa55-dey-linux 
-~> ./dey-glibc-x86_64-dey-image-qt-x11-cortexa7t2hf-neon-ccimx6ulsbc-toolchain-3.0-r4.sh +然后进入/home/robin/qt-crator/bin目录,运行Qt-creator 
-</code>  \\   +cd ~/qtcreator-9.0.2/bin
-\\ +./qtcreator.sh & 
-</pane> +</code> 
-<pane id="cc8xsbc"> +===创建一个新设备配置=== 
-<code> +请在开发板console中配置好网络,并用ip addr查好IP地址,确保开发板和电脑可相互ping通。\\ 
-~> 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    +然后从菜单中选择edit>preferences>devices>add一个remote linux device,
-~> 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-xwayland-aarch64-ccimx8x-sbc-pro-toolchain-3.2-r1.sh  +
-</code>  \\   +
-\\ +
-</pane> +
-<pane id="cc8mnano"> +
-<code> +
-~> 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 +
-~> 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>  \\   +
-\\ +
-</pane> +
-</tabs>+
  
 +{{:digi:arm-embedded:linux:dey:pasted:20240109-233929.png}}
 + 
 +建议还是生成密钥对,然后部署到板子上,按提示操作即可,点Test,测试通过即可。如果不用密钥登陆,请在添加好后,把Authentication Type改为default即密码登陆,也可以一样验证通过。
  
 +===设置DEY编译器===
 +由于运行了环境配置,所以会自动检测生成的部分配置选项,也可以按官方文档手动一步步再设置一遍。\\
 +菜单edit>preferences>kits>QT  versions选中dey那个qmake,并应用。\\
  
-3.**从配置好工具链的Shell中启动QT Creator** +{{:digi:arm-embedded:linux:dey:pasted:20240109-234331.png}}
-打开一个新的Shell窗口,进入到工具链的安装目录,然后运行工具链的环境变量设置脚本: +
-<code> +
-~> . environment-setup-<arch>-dey-linux-gnueabi +
-</code> +
-到QT Creator的安装路径中的bin目录下,执行QT Creator的启动脚本来启动QT Creator: +
-<code> +
-~> ./qtcreator.sh & +
-</code>+
  
-===配置QT Creator=== +同样地,在compliers,debuggers项卡都按文档一样设置,左侧菜单中选中CMake按文档方法配置CMake\\
-在用QT Creator创建第一个应用程序前您需要配置好对Digi平台的DEY工具链的支持。 +
-1.**创建一个新的设备配置** +
-点击Tools>Options,从左侧列表中选择Devices,右侧面板中点击"Add",一个新的对话框会列出所有可用的设备类型。中"Generic Linux Device"并点击" Start Wizard"来开始配置向导。在向导中输入配置名称,设备IP和用户名密码等(默认为root,密码为空),完成向导。 +
-2.**配DEY编译器** +
-点击Tools>Options左侧列表中选择Build & Run,在右侧面板选择Qt Versions点击"Add"添加一个新DEY编译器。浏览文件系统,找到工具链安装目录下qmake程序通常它位于: +
-<code> +
-<工具链安装目录>/sysroots/x86_64-deysdk-linux/usr/bin/qt5/qmake +
-</code>+
  
-点击Apply保存+===创建并配置新的kit配置=== 
 +给新的kit配置取个名,如cc93kit,选remote linux device,注意sysroot和Qt mkspec由于是手动输入路径,容易输错,此时kit就变得不可用了,所以一定要小心,不要输错,特别是别少了根路径 
 +文档总是对的,如果有错,一定是自己不小心!配置好如下所示:
  
-3.**配置DEY的C/C++编译器** +{{:digi:arm-embedded:linux:dey:pasted:20240109-234702.png}}
-点击Tools>Options,从左侧列表中选择Build & Run,在右侧面板中选择Compilers,点击Add添加并从下拉列表中选择GCC>C,在名称中输入用于识别对应平台DEY所用GCC,如<platform>_DEY_GCC,点击Browse来查找设置编译器的路径,请选中工具链下的arm-dey-linux-gnueabi-gcc程序。它一般位于: +
-<code> +
-<工具链安装目录>/sysroots/x86_64-deysdk-linux/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-gcc +
-</code> +
-点击Apply保存配置。 +
-用上面同样的方法添加<platform>_DEY_G++C++编译器并保存,对应的二进制文件程序一般位于: +
-<code> +
-<工具链安装目录>/sysroots/x86_64-deysdk-linux/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-g++ +
-</code>+
  
-===设DEY调试器=== +完成后就可以照文档编译一个Hello World效果如
-点击Tools>Options从左侧列表中选择Build & Run,在右侧面板中选择Debuggers,用Add按钮添加一个新的调试器在对话框中输入名称<PLATFORM>_DEY_GDB,点击Browse来查找调试器路径,一般在工具链的安装目录的arm-dey-linux-gnueabi-gdb程序。通常它位于 +
-<code> +
-<工具链安装目录>/sysroots/x86_64-deysdk-linux/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-gdb +
-</code> +
-保存并应用。+
  
-===创建开发套件配置=== 
-点击Tools>Options,从左侧列表中选择Build & Run,在右侧面板中选择Kits,用Add按钮添加一个新的开发套件配置。输入配置名称,如<PLATFORM>_DEY,在Device type中选择Generic Linux Device,并在设备中选择之前配置好的设备。点击Browse来查找Sysroot,您需要选择工具链中的<arch>-dey-linux-gnueabi目录,一般它位于: 
-<code> 
-<工具链安装目录>/sysroots/<arch>-dey-linux-gnueabi/ 
-</code> 
-在C Complier和C++ Complier和Debugger中,分别选中之前配置好的C和C++ DEY编译器和调试器。\\ 
-在Qt Version中,选择之前配置好的QT DEY Complier。\\ 
-在Qt mkspec中填入工具链中的 Qt mkspec路径,一般它位于: 
-<code> 
-<工具链安装目录>/sysroots/<arch>-dey-linux-gnueabi/usr/lib/qt5/mkspecs/linux-oe-g++ 
-</code> 
-点击Make Default来使它成为默认配置,然后点击OK保存并关闭配置对话框。 
  
-===创建一个Hello World的Qt快速程序=== +{{:digi:arm-embedded:linux:dey:pasted:20240109-234755.png}}
-1.**创建应用程序** +
-菜单File > New File or Project,从左侧的Projects下选择Application,选中Qt Quick Application - Empty. 点击Choose来开启项目创建向导。\\ +
-在配置向导中,选中之前创建的DEY编译器和套件,完成向导。\\ +
-我们将向项目main.qml添加如下的简单代码,然后保存 +
-<code> +
-Text { +
-    anchors.centerInparent +
-    text"Hello, World!" +
-} +
-</code>+
  
-2.**编译运行应用程序** 
-编译过程中的信息会显示在Compile Output终端窗口中。编译完成后,需配置一下应用程序的运行环境。 
-点击Projects图标,在左侧Build & Run下选择Run,右边面板就会显示当前的运行配置。我们需要配置Run Environment,点击它的Details,在Base environment for this run configuration中选择Clean Environment,以确保程序运行时使用干净的环境配置。\\ 
-接下来需要添加一个新的环境变量让应用程序启动时选择正确的显示器。点击环境变量列表右边的Add,名称设置为DISPLAY,值设置为:0.0  \\ 
-点击左侧工具栏的Run图标,程序会自动传到目标板并运行,显示一个有Hello World字样的窗口。 
  
-3.**调试运用程序** 
-从Tools > Options菜单项中选择Debugger,在右侧面板中选择GDB,在Additional Startup Commands框中填入:<code>handle SIGILL pass nostop noprint </code>,然后点击OK关闭窗口。(注意,该项仅需配置一次,以后的调试无需重复配置。)  \\ 
-双击main.cpp,打开后右击下面这一行: 
-<code> 
-return app.exec(); 
-</code> 
-选择Set Breakpoint at Line 17以便在显示Hello world之前设置一个断点。在左侧工具条中,点击Start Debugger按钮来开始调试。程序会停在断点处。 
  
 ====用终端命令行开发应用程序==== ====用终端命令行开发应用程序====
-您也可以使用命令行的方式来编译Hello world应用程序,并在您的板子上运行。之前的IDE章节已经安装好了DEY的工具链,如果你没有安装,可以从[[ftp://ftp1.digi.com/support/digiembeddedyocto|官方的FTP]]中下载对应平台的SDK并安装它。 +安装好SDK后,您也可以使用命令行的方式来编译Hello world应用程序,并在您的板子上运行。
-当前的最新版本是3.0-r4,请安装您核心模块和之上运行的DEY版本对应的SDK,以CC6ul为例 +
-<code> +
-~> 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-3.0-r4.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-3.0-r4.sh +
-</code>+
  
 ===创建并编译Hello world应用程序=== ===创建并编译Hello world应用程序===
行 270: 行 197:
 编译之前,请先配置好该session的环境变量,Source一下工具链中的环境设置脚本 编译之前,请先配置好该session的环境变量,Source一下工具链中的环境设置脚本
 <code> <code>
-~>source /opt/dey/2.6-r3/ccimx6ulsbc/environment-setup-cortexa7t2hf-neon-dey-linux-gnueabi+~>source /opt/dey/4.0-r4/ccimx93-dvk/environment-setup-cortexa55-dey-linux
 </code> </code>
 然后可以直接make了,如果您编译的是Qt应用程序,则应该使用qmake: 然后可以直接make了,如果您编译的是Qt应用程序,则应该使用qmake:
行 283: 行 210:
 ~> scp hello-world root@192.168.42.30:/home/root/ ~> scp hello-world root@192.168.42.30:/home/root/
 </code> </code>
- 
-更多信息,请参考官方文档中的[[http://cms.digi.com/resources/documentation/digidocs/embedded/dey/3.0/cc6ul/yocto_t_cl-app-create-build|应用程序开发]]