|
距离上次的分享过去了很长一段时间啊,这期间一直是在搞QT移植的事,搞了很长时间,由于自己学的不到位,所以很多的坑无法填上,所以导致移植耽误了下来。一开始自己是不准备编译yocto的。因为这个实在太大了,而且可能出现意想不到的错误。所以打算的是和之前一样用交叉编译器直接编译一个上去。可是运行起来缺少fb,这个是MP157太强大了,有GPU的加持,所以内核驱动上直接走的是这个GPU管理的。然后按照说法,可以构建两种QT支持。Wayland 方式和Eglfs 方式来显示。而这两种自己之前都没弄过。之后我就看了下官网上有构建QT的。那就是编译Yocto了。后期自己还会尝试下,直接用他们给的交叉编译器编译一个可以直接运行的。 接下来就把自己构建yocto的过程分享下,以及最后的成果。 首先就是用repo下载我们需要的构建资源。
具体就两个命令,不过也是有坑的,就是比较难下载,一直重复了N遍才下载下来,主要靠运气。链接: 参考这个就行。
这里需要根据提示安装所需要的工具。直接复制执行即可。
接下来就是漫长的等待下载构建的过程。
中间会出现报错的情况,只需要在执行命令即可,一报错就重新执行构建命令,知道最终出结果,这个过程可能需要持续数小时之久。主要是看电脑配置和网络情况。
当你发现9386行的命令执行完成后,就是其构建完成了。 你的磁盘此时应该也爆满了。现在还没结束。
最重要的交叉编译器还没构建出来。再执行构建命令。 bitbake st-example-image-qtwayland -c populate_sdk即可。然后就是继续等待。继续下载安装。
然后当你发现7695条任务执行完成后,就构建完成了交叉编译工具链。
最后就是执行命令安装。
安装QT编译的SDK。 ./tmp-glibc/deploy/sdk/st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh-y -d <working directory absolute path>/Developer-Package/SDK 当这些都弄完成了,就需要对系统进行烧写。 openstlinux-5.10-dunfell-mp1-21-03-31/build-openstlinuxweston-stm32mp1/tmp-glibc/deploy/images首先到这个目录下把烧写的image打包发送回我们的Windows。
使用cubeprogramer烧写。stm32mp1\flashlayout_st-example-image-qtwayland\trusted。这个目录下有很多tsv文件,这就涉及到ST使用的下载方式,用tsv文件管理着烧写文件。
打开后就是这样,下面红框报错是因为我们的映像文件不在那个目录下,是在stm32mp1目录下。
最后就是测试了,直接用windows上的qtcreator生成一个工程。拖到Ubuntu上编译就行。
就三个命令,一个先把交叉编译链的路径给配置下,之后就是qmake生成Makefile。最后make一下就OK了。
最后运行效果,就是载原有窗体上加了一个应用。 总结:不要小看构建yocto的复杂程序,虽然就是几个命令,应该不到15个命令。但是其过程内心很复杂,不知道啥原因的报错,反正报错就坚持这上条命令重复执行,知道不报错为之。而且其对你电脑也是考验,一不小心就是磁盘爆满了。 |
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32--STM32 微控制器详解
为什么学了几天STM32一脸茫然?
STM32 不同时钟频率有什么不同的影响
STM32入门指南:从零开始,如何为你的首个项目选择最合适的MCU?
STM32MP157D-DK1-编译并运行第一个程序hello world
STM32MP157D-DK1-SDK包安装
STM32MP157D-DK1-ssh连接方式
STM32MP157D-DK1-stlink串口进入终端
微信公众号
手机版