PHYTEC开发板之前开发环境和开发板的开机测试都已经完成,根据指导和PHYTEC工程师的答疑,使用套件中附赠的网线直接连接主机和开发板,最方便的做法是,虚拟机直接桥接物理网卡,并在虚拟机phyvm中设置ip为192.168.3.10/255
网关设置 192.168.3.1
设置完成后,打开虚拟机桌面的ssh ,没有问题的话,ssh中启动为图中开发板启动信息,提示输入root后,即可开发查看开发板中状态和文件内容。

如果有问题的话,一定要查看网络连接和设置是否连通。ssh调试联通后,即可开始开发程序。在开发前根据手册安装好c,c++ 开发支持,以及eclipse开发支持,官方VM中已经都安装完成,根据手册指导。打开虚拟机terminal
输入
source
/opt/phytec-yogurt-vendor-xwayland/BSP-Yocto-FSL-i.MX8MP-PD21.1.1/environment-setup-aarch64-phytec-linux
这个设备型号linux核心要查看 ssh调试窗口启动时画面提示的设备linux信息,两者需要一致。
在ssh调试窗口输入systemctl stop phytec-qtdemo 远程关闭开发板的QT运行程序
,开发板会切换到开发模式,开发板鼠标点击左上角的开发窗口,查看文件信息和输入对应命令。

开发手册中已经有比较完备的开发指导,按手册,打开eclipse开发界面,建立开发空间文件路径,导入实例程序。
自己也可以根据实例程序新建自己的测试程序,完成调试,c,c++的程序开发和调试如下所示,开发修改程序后调试并链接程序,在eclipse调试中设置在开发板中调试,
·
打开 Eclipse® 后,单击Window -> Preferences
·
打开Preferences窗口后,在此上下文下搜索 Remote Development ,单击Remote Connections
·
单击添加并输入以下新连接设置:
| Connection
name: Device Host:
192.168.3.11 User:
root Select
Password based authentication keep
·
从eclipse菜单栏中选择文件*** ► 新建 ► ***项目。
将打开一个新对话框。
·
选择C 项目并单击 下一步 。
·
输入项目名称myHelloWorld并选择 Linux GCC 。单击 完成 。
您将看到带有**myHelloWorld项目的 C/C++ IDE 。
要为您的电路板编译您的项目,您必须使用 GNU C/C++ 交叉编译器。
·
右键单击myHelloWorld项目并选择 Properties 。
出现“属性”对话框。
·
选择***C/C++ 构建 ► *** 设置 。
·
选择***GCC C *** 编译器 。
·
在命令输入字段中输入 ***${CC} *** 。
·
选择***GCC C *** 链接器 。
·
在命令输入字段中输入 **{CC}*** *并在* *{COMMAND} 之后的 命令行模式中添加 ${LDFLAGS } 。
·
选择***GCC *** 汇编器 。
·
将命令输入字段更改为***${AS}***
·
单击 应用 。
·
选择构建步骤选项卡。
·
在构建后步骤命令输入字段中输入以下命令:
| scp
./myHelloWorld root@192.168.3.11:/home/root/. ;ssh root@192.168.3.11 /home/root/myHelloWorld |
·
单击 应用 。
·
单击 确定 。
·
从菜单栏中选择项目*** ► ***清理。
·
用***OK *** 确认 。
该项目将被重建。
·
在虚拟机的ssh控制台中 输入***./myHelloWorld***以启动应用程序。
·
您将看到以下输出:
| Welcome
to the World of PHYTEC! (serial) Welcome
至此,c,c++ eclipse 开发的程序在虚拟主机的开发新建建立,并且在开发板上运行测试就全部完成。
接下来,我们测试QT程序的开发和在开发板上的测试,和之前一样要停止开发板上QT demo的运行,
systemctl stop phytec-qtdemo

并在虚拟机终端执行
source
/opt/phytec-yogurt-vendor-xwayland/BSP-Yocto-FSL-i.MX8MP-PD21.1.1/environment-setup-aarch64-phytec-linux
然后运行 /usr/bin/qtcreator.sh
&
·
通过单击Open Project导入示例项目。
这将打开一个对话框,其中会自动设置*/opt/prj_workspace/Qt*的路径。

·
双击HelloQuick文件夹。
·
选择HelloQuick.pro并单击 打开 。开左侧项目侧边栏下的文件夹Resources和所有以下内容,直到看到 MainForm.ui.qml 。

·
双击MainForm.ui.qml
Qt Creator® 打开设计模式,您可以看到我们项目的设计UI界面。
·
修改开发完程序后,我们需要单击 菜单栏中的*工具** ► * 选项 ... 。 出现一个新对话框。 如果尚未选择,请单击 *Build & Run * 。 只需单击一下,项目就会被构建、部署到目标并执行。
·
单击左侧灰色条底部附近的绿色实心三角形。

目标成功部署到目标后, 应用程序输出 框架显示在 mainwindow.cpp 源代码下的框架中,您可以在其中看到来自目标的提示。
打开虚拟机SSH终端或在开发板控制终端 root目录下 中输入 ./*** HelloQuick ***
QT程序demo将展示通过触摸屏或鼠标可以控制程序中两个按钮进行输出,如果需要其他功能,在QT程序中修改并配合C,C++ 程序实现相关功能。

在本次程序开发测试中,遇到的问题主要有三方面,
1,虚拟主机与主板的调试链接,主要通过USB调试和网络接口调试,
USB调试的时候需要虚拟机设置端口对应电脑主机的COM端口添加正确,网络接口IP设置正确,连通没有问题后,通过phy虚拟机桌面的SSH终端输入ROOT 可以连接调试开发板,
2,在开发程序的时候,eclipse 和QT设置中,直接设置开发板的调试地址要正确,这样在虚拟机开发后直接可以在开发板上调试程序。

3,由于我多次修改程序,造成开发板的/home/root空间被100%占用,这样在eclipse和QT上调试显示程序的时候,容易报错disploy ,提示目标没有空间,

这个问题通过和论坛客服以及开发板官方工程师咨询后,通过开发板官网下载的手册里可以找到拓展和修改空间的方法,这样,开发程序就不会收到影响。
解决方法简单写一下,后面是官方链接请参考,非常详细。
调整ext4根文件系统的大小
- Get the current device size:
target$ fdisk -l
/dev/mmcblk2
target$ fdisk /dev/mmcblk2

具体操作参考:https://www.phytec.de/cdocuments/?doc=6QDhGg#L1017e-A2i-MX8MPlusBSPManual-Resizingext4RootFilesystemResizingext4RootFilesystemhttps://www.phytec.de/cdocuments/?doc=6QDhGg#L1017e-A2i-MX8MPlusBSPManual-Resizingext4RootFilesystemResizingext4RootFilesystem
这个手册上的指导更为准确。
至此,本次该开发板的程序开发测试并在开发板上测试程序完成。