
距离上次的分享过去了很长一段时间啊,这期间一直是在搞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 " m- l5 o3 g3 j: {# _; z* T当这些都弄完成了,就需要对系统进行烧写。 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个命令。但是其过程内心很复杂,不知道啥原因的报错,反正报错就坚持这上条命令重复执行,知道不报错为之。而且其对你电脑也是考验,一不小心就是磁盘爆满了。 7 C3 s6 s' ?, H U5 F |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得