STM32MP157系列教程连载-Linux系统移植篇1:STM32MP1微处理器之源码编译

本文是STM32MP157系列教程Linux系统移植篇,介绍了STM32MP1微处理器源码编译。包括系统移植前命令行提示符说明,详细阐述编译环境配置、SDK工具链安装、源码导入,还分别讲解了u-boot、tf-a、optee-os、linux源码编译及Yocto构建系统的步骤。

STM32MP157系列教程连载-Linux系统移植篇1:STM32MP1微处理器之源码编译

系统移植前说明

关于命令行提示符:

在实验步骤中会涉及到执行命令的操作,为区分操作是在Ubuntu上完成还是在开发板上完成,不同操作会有不同的提示符:

Ubuntu操作时命令行提示符为:linux@ubuntu:$
开发板Linux系统下操作时命令行提示符为:root@fsmp1a:$
开发板u-boot期间操作是命令行提示符为:STM32MP>

注意:由于部分操作需要进入特定目录下完成,导致命令行提示符较长如:

linux@ubuntu:~/FS-MP1A/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-2020.01-r0/u-boot-stm32mp-2020.01$

过长的命令行提示符不便于文档编写,所以本文中所有命令行提示符均忽略了当前工作目录的显示,命令行提示符不代表当前目录,具体当前操作是在哪个目录下完成,请结合文档上下文确定。

第 1 章 源码编译

1.1 编译环境配置

1.1.1 源码目录结构

由于OpenSTLinux所涉及到的源码较多,且有路径的依赖。所以请按照本文的说明建立源码文件夹。在用户home目录下建立fs-mp1a文件夹。

linux@ubuntu: $ cd ~
linux@ubuntu: $ mkdir fs-mp1a

将工作目录切换到fs-mp1a目录下,建立linux、optee-os、trusted-firmware、u-boot、tools文件夹。

linux@ubuntu: $ cd ~/fs-mp1a
linux@ubuntu: $ mkdir linux optee-os trusted-firmware u-boot tools

在这里插入图片描述
请务必按照此目录名称建立文件夹,否则会导致后续的OpenSTLinux系统编译错误。

1.1.2 SDK工具链安装

OpenSTLinux SDK是Yocto SDK定制发行版的软件开发套件,它提供了独立的交叉开发工具链和针对特定镜像中所使用到的特定链接库。

开发资料光盘中提供的SDK是基于FS-MP1A开发板的定制交叉编译工具链,该工具链可用于FS-MP1A开发板中所有项目的编译与调试。

将资料光盘下【华清远见-FS-MP1A开发资料\01-工具软件】的en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz复制到ubuntu主机中,可以采用共享文件夹的方式也可以使用tfp方式将文件存入FS-MP1A源码目录下的tools文件夹下进行解压。

linux@ubuntu: $ tar -xvf en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz  -C  /home/linux/fs-mp1a/tools/

解压之后得到sdk目录,进入到sdk文件夹之后内容如下。
在这里插入图片描述
执行st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-06-24.sh安装脚本。

linux@ubuntu: $ ./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-06-24.sh

运行之后会提示输入安装位置,直接按回车键默认即可:
在这里插入图片描述
继续询问是否安装SDK,输入Y,回车
在这里插入图片描述
默认安装路径安装在opt目录下,这个目录需要有root权限,所以安装时需要使用sudo 安装,过程中需要输入用户的sudo密码(如果当前用户sudo功能已经授权,这个密码就是用户的登录密码),输入密码后开始进行安装。
在这里插入图片描述
输入密码后等待安装,安装后显示如下:
在这里插入图片描述
导入sdk

linux@ubuntu: $ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

验证开发工具是否安装正确,显示版本信息如下图所示。

linux@ubuntu: $ $CC --version

在这里插入图片描述
1.1.3 源码导入

  • Bootloader源码
    将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\u-boot】下的u-boot-fsmp1a-2020.01.tar.xz和Makefile.sdk导入到fs-mp1a目录下u-boot文件夹中。
    在这里插入图片描述
    将u-boot-fsmp1a-2020.01.tar.xz解压之后得到u-boot-fsmp1a-2020.01文件夹。
linux@ubuntu:$ tar -xvf u-boot-<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值