搜索
bottom↓
回复: 0

《STM32MP157快速体验》第六章 ATK-STM32MP157交叉编译篇

[复制链接]

出0入234汤圆

发表于 2021-6-3 10:19:26 | 显示全部楼层 |阅读模式
1)实验平台:正点原子STM32MP157开发板
2)  章节摘自【正点原子】《STM32MP157快速体验》
3)购买链接:https://item.taobao.com/item.htm?&id=629270721801
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/arm-linux/zdyzmp157.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子STM32MP157技术交流群:691905614
O1CN01abYcZO23XsL4ETed4_!!230947266.png

原子哥在线教育平台.jpg

152443zfu1nrzhhhh6wuc8.png

第六章 ATK-STM32MP157交叉编译篇



正点原子提供了三个交叉编译工具链,常用的是gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf这个工具链,用于【正点原子】STM32MP1嵌入式Linux驱动开发指南教学用。下面是这三个交叉编译工具链的介绍。
在网盘路径STM32MP157开发板->开发板光盘A-基础资料->5、开发工具->1、交叉编译器路径下可以看到如下三个交叉编译器,如下图解释。
第六章ATK225.png

图6 1 提供的三种交叉编译工具链

解释:
1.en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz是ST官方交叉编译工具链。
2.gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz是通用官方ARM交叉编译工具,ST推荐使用。
3.st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh由ST的Yocto项目编译出,已经裁剪过,节约用户硬盘的空间。被封装成脚本形式,在Ubuntu下直接执行安装,我们常用来编译与构建Qt应用程序。
6.1 安装通用ARM交叉编译工具链
6.1.1 编译TF-A
请参考【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.x.pdf。
6.1.2 编译U-Boot
请参考【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.x.pdf。
6.1.3 编译内核
请参考【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.x.pdf。
6.2 安装含编译Qt应用程序的交叉编译工具链
前面所安装的通用ARM交叉编译工具链是不能编译Qt应用程序的。所以还需要装能编译Qt应用程序的交叉编译工具链。
在开发板光盘A-基础资料->5、开发工具->1、交叉编译器路径下找到st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh。将它拷贝到Ubuntu虚拟机上(温馨提醒,ATK-STM32MP157教学都是使用Ubuntu18.04开发,建议使用Ubuntu18.04,是为了用户的环境与作者的环境一样,出错也好解决)。
拷贝到Ubuntu后,赋予st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh可执行权限。
chmod +x st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh
然后直接执行它,直接安装,安装过程中会询问安装的目录,我们默认即可,按Enter继续。安装需要耗时较长,请耐心等待。
./st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh
安装完成后,安装的交叉编译工具链都会安装在/opt/目录下。
ls /opt/st/
第六章ATK1467.png

图6.2 1 安装交叉编译工具链的目录

6.2.1 编译及运行Qt应用程序
注:编译出厂的Qt综合例程,例程仅供参考使用。一个综合例程包括了许多子例程,接近20个!例程丰富,可自行参考来改写。相对新手来说这个还是有一定的难度,因为例程使用qml与C++混编。需要注意的是,出厂例程是基于800*480分辨率来开发,如果有IMX.6U用户使用480*272分辨率的屏(实在是太小了,图标等都不好放),但原子已经做了适配,只能通过滑动的方式来显示整个界面。800*480是做界面常用分辨率,日后开发或者写嵌入Qt应用程序建议最低以800*480的为准。
以开发板光盘A-基础资料->1、程序源码->9、Qt综合例程源码->QDesktop-fb为例,把整个QDesktop-fb文件夹拷贝到Ubuntu虚拟机下。注意不要拷贝中文路径,编译Qt应用程序是不能有中文路径的。
        如下图,已经拷贝QDestkop-fb目录到家目录下。
第六章ATK1906.png

图6.2.1 1 拷贝QDesktop-fb文件夹到家目录

使能第6.2小节安装的交叉编译工具链,我们只是安装了它,要使用时还需要使能它。执行下面的指令,在当前终端下导入交叉编译工具链的环境变量(注意切换终端时需要重新使能这个环境变量才能编译)。
  1. <font size="4">source /opt/st/stm32mp1/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi</font>
复制代码

第六章ATK2155.png

使用qmake指令生成Makefile,用于编译。
  1. <font size="4">qmake</font>
复制代码

第六章ATK2189.png

图6.2.1 2 qmake生成Makefile

输入下面的指令进行编译,-j 16是同时允许16条编译指令进行,参数16是根据虚拟机分配的核心数,一般是核心数的2倍。
  1. <font size="4">sudo apt-get install make        // 若找不到make指令,请安装make。
  2. make -j 16</font>
复制代码

正在编译,编译过程中如有警告可忽略。
第六章ATK2380.png

图6.2.1 3 编译Qt综合例程

编译完成可以看到当前目录下生成一个QDesktop-fb应用程序。我们将QDesktop-fb与src文件夹拷贝到我们的出厂文件系统同一级目录下,直接执行QDesktop-fb即可启动QDesktop应用程序。(请不要拷贝到其他文件系统(如busybox或者buildroot文件系统)下执行!只有我们出厂文件系统配置了Qt环境。)
第六章ATK2592.png

图6.2.1 4 编译出来的可执行程序“QDesktop-fb”

如下图,已经拷贝QDesktop与src文件夹到/home/root目录下。如果LCD屏或者HDMI已经运行了其他应用,请先退出!出厂系统桌面可在“设置”App里点击退出。
第六章ATK2739.png

图6.2.1 5 拷贝到/home/root目录下

如下,在开发板的串口终端直接执行QDesktop-fb,&的作用是后台运行。
  1. <font size="4">systemctl stop atk-qtdesktop-linuxfb        // 先停止出厂系统正在运行的Qt界面服务
  2. psplash-drm-quit                                        // 关闭psplash界面,防止占用LCD
  3. ./QDesktop-fb -platform linuxfb &</font>
复制代码

第六章ATK2968.png

LCD或者HDMI显示QDesktop-fb界面如下,若需关闭,点击设置App里的退出即可。

第六章ATK3017.png

至此,快速体验文档已经结束,希望对大家有所帮助!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 02:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表