“源码编译”的版本间的差异

来自华清远见研发中心
跳转至: 导航搜索
源码导入
源码导入
第62行: 第62行:
 
*Bootloader源码
 
*Bootloader源码
 
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\u-boot】下的u-boot-fsmp1a-2020.01.tar.xz和Makefile.sdk导入到fs-mp1a目录下u-boot文件夹中
 
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\u-boot】下的u-boot-fsmp1a-2020.01.tar.xz和Makefile.sdk导入到fs-mp1a目录下u-boot文件夹中
 +
 
[[Image:21-1-3-1.png]]<br>
 
[[Image:21-1-3-1.png]]<br>
 +
 
将u-boot-fsmp1a-2020.01.tar.xz解压之后得到u-boot-fsmp1a-2020.01文件夹
 
将u-boot-fsmp1a-2020.01.tar.xz解压之后得到u-boot-fsmp1a-2020.01文件夹
 +
 +
linux@ubuntu:$ tar -xvf u-boot-fsmp1a-2020.01.tar.xz
 +
 +
[[Image:21-1-3-2.png]]<br>
 +
 +
*trusted-firmware源码
 +
 +
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\tf-a】下的fsmp1a-trusted-firmware-2.2.tar.xz和Makefile.sdk导入到fs-mp1a目录下trusted-firmware文件夹中
 +
 +
[[Image:21-1-3-3.png]]<br>
 +
 +
将fsmp1a-trusted-firmware-2.2.tar.xz解压之后得到fsmp1a-trusted-firmware-2.2文件夹
 +
 +
linux@ubuntu:$ tar -xvf fsmp1a-trusted-firmware-2.2.tar.xz
 +
 +
[[Image:21-1-3-4.png]]<br>
 +
 +
*optee_os源码
 +
 +
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\optee】下的fsmp1a-optee_os-3.9.0.tar.xz和Makefile.sdk导入到fs-mp1a目录下optee-os文件夹中
 +
 +
[[Image:21-1-3-5.png]]<br>
 +
 +
将fsmp1a-optee_os-3.9.0.tar.xz解压之后得到fsmp1a-optee_os-3.9.0文件夹
 +
 +
linux@ubuntu:$ tar -xvf fsmp1a-optee_os-3.9.0.tar.xz
 +
 +
[[Image:21-1-3-6.png]]<br>
 +
 +
*linux源码
 +
 +
光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\linux】下的fsmp1a-linux-5.4.31.tar.xz导入到fs-mp1a目录下linux文件夹中
 +
 +
[[Image:21-1-3-7.png]]<br>
 +
 +
将fsmp1a-linux-5.4.31.tar.xz解压之后得到fsmp1a-linux-5.4.31文件夹
 +
 +
linux@ubuntu:$ tar -xvf fsmp1a-linux-5.4.31.tar.xz
 +
 +
[[Image:21-1-3-8.png]]<br>
 +
 +
*Yocto源码
 +
 +
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\Yocto】下的fsmp1a-ST-Yocto.tar.xz导入到fs-mp1a目录下
 +
 +
[[Image:21-1-3-9.png]]<br>
 +
 +
将fsmp1a-ST-Yocto.tar.xz解压之后得到fsmp1a-ST-Yocto文件夹
 +
 +
linux@ubuntu:$ tar -xvf fsmp1a-ST-Yocto.tar.xz
 +
 +
[[Image:21-1-3-10.png]]<br>
 +
 +
将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\Yocto】下的downloads.tar.xz导入到由fsmp1a-ST-Yocto.tar.xz得到的fsmp1a-ST-Yocto文件夹下。
 +
 +
[[Image:21-1-3-11.png]]<br>
 +
 +
将downloads.tar.xz解压之后得到downloads文件夹。
 +
 +
linux@ubuntu:$ tar -xvf downloads.tar.xz
 +
 +
[[Image:21-1-3-12.png]]<br>
 +
 +
至此OpenSTLinux全部源码就导入完成了。导入源码完成后的fs-mp1a目录结构如下。
 +
 +
[[Image:21-1-3-13.png]]<br>
  
 
== u-boot源码编译 ==
 
== u-boot源码编译 ==

2021年3月15日 (一) 10:45的版本

源码编译

编译环境配置

源码目录结构

由于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

38-1-1-1.png
请务必按照此目录名称建立文件夹,否则会导致后续的OpenSTLinux系统编译错误。

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文件夹之后内容如下。

38-1-2-1.png

执行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

运行之后会提示输入安装位置,直接按回车键默认即可:

38-1-2-2.png

继续询问是否安装SDK,输入Y,回车

38-1-2-3.png

默认安装路径安装在opt目录下,这个目录需要有root权限,所以安装时需要使用sudo 安装,过程中需要输入用户的sudo密码(如果当前用户sudo功能已经授权,这个密码就是用户的登录密码),输入密码后开始进行安装。

38-1-2-4.png

输入密码后等待安装,安装后显示如下:

38-1-2-5.png

导入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

38-1-2-6.png

源码导入

  • Bootloader源码

将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\u-boot】下的u-boot-fsmp1a-2020.01.tar.xz和Makefile.sdk导入到fs-mp1a目录下u-boot文件夹中

21-1-3-1.png

将u-boot-fsmp1a-2020.01.tar.xz解压之后得到u-boot-fsmp1a-2020.01文件夹

linux@ubuntu:$ tar -xvf u-boot-fsmp1a-2020.01.tar.xz

21-1-3-2.png

  • trusted-firmware源码

将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\tf-a】下的fsmp1a-trusted-firmware-2.2.tar.xz和Makefile.sdk导入到fs-mp1a目录下trusted-firmware文件夹中

21-1-3-3.png

将fsmp1a-trusted-firmware-2.2.tar.xz解压之后得到fsmp1a-trusted-firmware-2.2文件夹

linux@ubuntu:$ tar -xvf fsmp1a-trusted-firmware-2.2.tar.xz

21-1-3-4.png

  • optee_os源码

将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\optee】下的fsmp1a-optee_os-3.9.0.tar.xz和Makefile.sdk导入到fs-mp1a目录下optee-os文件夹中

21-1-3-5.png

将fsmp1a-optee_os-3.9.0.tar.xz解压之后得到fsmp1a-optee_os-3.9.0文件夹

linux@ubuntu:$ tar -xvf fsmp1a-optee_os-3.9.0.tar.xz

21-1-3-6.png

  • linux源码

光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\linux】下的fsmp1a-linux-5.4.31.tar.xz导入到fs-mp1a目录下linux文件夹中

21-1-3-7.png

将fsmp1a-linux-5.4.31.tar.xz解压之后得到fsmp1a-linux-5.4.31文件夹

linux@ubuntu:$ tar -xvf fsmp1a-linux-5.4.31.tar.xz

21-1-3-8.png

  • Yocto源码

将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\Yocto】下的fsmp1a-ST-Yocto.tar.xz导入到fs-mp1a目录下

21-1-3-9.png

将fsmp1a-ST-Yocto.tar.xz解压之后得到fsmp1a-ST-Yocto文件夹

linux@ubuntu:$ tar -xvf fsmp1a-ST-Yocto.tar.xz

21-1-3-10.png

将光盘资料中【华清远见-FS-MP1A开发资料\02-程序源码\05-预装系统源码\Yocto】下的downloads.tar.xz导入到由fsmp1a-ST-Yocto.tar.xz得到的fsmp1a-ST-Yocto文件夹下。

21-1-3-11.png

将downloads.tar.xz解压之后得到downloads文件夹。

linux@ubuntu:$ tar -xvf downloads.tar.xz

21-1-3-12.png

至此OpenSTLinux全部源码就导入完成了。导入源码完成后的fs-mp1a目录结构如下。

21-1-3-13.png

u-boot源码编译

tf-a 源码编译

optee-os 源码编译

Linux 源码编译

Yocto系统构建