STM32MP157嵌入式开发—3、ARM端带QT编译库的系统镜像烧录移植
作者:互联网
四、ARM端带QT编译库的系统镜像烧录移植(采用正点原子编译好的出厂系统)
4.1、Windows 使用 STM32CubePro 烧写固件到 eMMC将MP157开发板
插上电源,拨码开关选择为 000(USB 模式),将一根 USB Type-C数据线连接到底板 USB_OTG, 再连接到 PC(电脑)的 USB接口。 另一根 USB Type-C数据线连接到底板 USB_TTL(串口非必需连接, 目的是观察一些打印信息)。然后开发板上电。
双击 STM32CubeProgrammer 桌面图标打开 STM32CubeProgrammer 界面。按如下步骤,选择设备类型为 USB,点击刷新设备,刷新不出来可以按开发板上的 RESET 按钮(注意不要将此 USB 设备连接到 Ubuntu 虚拟机上去了)。如下图,出现 USB1 表明成功!注意:若没有安装过DFU驱动,插上电源上电。上电过后会自动安装 DFUSE驱动。
出现如上图,表明驱动安装正常
按下图的步骤,打开烧录到 eMMC 的 tsv 配置文件,网盘路径为:链接/MP157/QT开发环境搭建/QT安装/QT14.2文件系统。
下载到本地后,打开文件:
浏览固件所在目录,在网盘路径为链接/MP157/QT开发环境搭建/QT安装/STM32CubeProg 烧录固件包。
确认连接信息,直接点击 Download(下载)。
烧写过程中会重连接开发板,注意, 如果您正在使用 Ubuntu 虚拟机, 不要让开发板连接到 Ubuntu 虚拟机上去了。
下图为正在烧写中:
烧写完成如下图,拨码到 010, EMMC 启动即可。
4.2、EMMC启动后,首先打印TF-A启动信息:
4.3禁用 Qt 界面启动
由于我们目前使用的是yocto编译好的根文件系统,自带了qt桌面自启动服务,所以如果我们想要执行自己的qt应用程
序,需要禁用qt界面开机自启动,当然也可以选择不禁用。在高版本的内核和高版本的 Yocto 里,所使用的文件系统早
已经使用 Systemd 方式来用来启动守护进程,已成为大多数发行版的标准配置。
我们烧录的是zdyz编译好的出厂系统,如何禁用正点原子 Qt 桌面启动呢?出厂默认是启动 atk-qtdesktop-
linuxfb.service 这个服务,如果我们不需要桌面服务,就执行以下命令即可关闭或重启桌面服务。
但是下次机器重启仍会进入桌面服务。
systemctl stop atk-qtdesktop-linuxfb // 暂时停止 Qt 桌面服务,重启服务用 restart
systemctl reastart atk-qtdesktop-linuxfb // 重启 Qt 桌面服务
若想切换到 eglfs 方式启动 Qt 桌面。
systemctl daemon-reload // 重新加载服务
systemctl enable atk-qtdesktop-eglfs.service // 开启 Qt 以 eglfs 方式启动的服务
reboot // 重启生效
若不需要启动 Qt 桌面服务。使用 systemctl 指令将此三种方式显示 Qt 的服务关闭出厂默
认启动 atk-qtdesktop-linuxfb服务。只需要关闭此项即可。停止 Qt 桌面或者关闭 Qt 桌面(如果关
闭下次不会自动启动!)
systemctl disable atk-qtdesktop-linuxfb // 执行此项关闭 Qt 桌面服务,下次启动不生效
4.4、查看开发板Qt库的版本
要想在开发板上运行Qt程序,首先板子的系统要支持Qt图形库,而且要确定这个的库的版本。那么怎么看
开发板是否支持Qt呢?可以使用find搜索命令,搜索本地所有Qt相关的文件:
#进入到根目录
cd /
#搜索qt相关的文件
find -name "*Qt*"
#或者
find -name "*qt*"
如果搜索结果有很多so类型的文件,说明这个开发板上的系统是支持Qt的,而且后面的数字就是当前Qt库
的版本号。
可以看出,现在的系统是支持Qt的,库的版本是5.14.2。
至此,ARM端板卡的QT开发环境已经搭建完毕。
标签:烧录,桌面,QT,启动,STM32MP157,开发板,USB,Qt 来源: https://blog.csdn.net/weixin_43335226/article/details/113130853