我是靠谱客的博主 疯狂绿草,最近开发中收集的这篇文章主要介绍S32G274A Linux BSP编译环境简述下载NXP S32G2 Linux BSP 31.0,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文档基于NXP S32G2 Linux BSP 31.0版本对编译环境进行描述

GCC:GCC 10.2.0 for ARM64 cross-compiler,包含在Yocto 3.2 "Gatesgarth"发布包里。

Host PC: 建议使用性能较好的机器,并硬盘剩余容量在250GB以上、内存容量在8GB及以上。

Host OS: Ubuntu-18.04 LTS (建议使用此版本;也可以部署在虚拟机上)

虚拟机的安装不进行说明

修改/etc/apt/sources.list之后,执行如下命令更新软件列表:

$ sudo apt-get update

更新源是清华还是阿里的自己看着办。

下载NXP S32G2 Linux BSP 31.0

安装一些必要的软件

$ sudo apt install python git curl

安装repo

什么是repo

repo是使用python开发的一个用于多版本管理的工具,可以和git协作,简化git的多版本管理

安装repo的方法:       

①根目录下创建bin文件夹

②配置环境变量PATH=~/bin:$PATH

③下载repo脚本git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

④将下载的git-repo文件夹中的repo文件复制到bin下,并且修改权限chmod a+x ~/bin/repo

⑤修改repo文件中的谷歌源为清华源,即将REPO_URL = 'https://gerrit.googlesource.com/git-repo'

配置git环境

 

下载S32G yocto工程

yocto简介

Yocto ,是一个开源社区。它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。 [1] 

Yocto Project™是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。极大地简化你的开发过程,因为你不用再从头裁剪一个完整的Linux发布版本,后者通常包括许多你并不需要的软件。

Yocto项目通过Poky来构建一个系统,并提供了一个开放源码的开发环境,针对目标为ARM,MIPS,PowerPC和x86架构,而平台包括x86-64和模拟器。

你可以使用Yocto项目的组件来设计,开发,构建,调试,仿真和对使用了Linux, X windows系统, 基于移动设备的GNOME应用框架和Qt框架的完整的软件堆栈进行测试.

Yocto兼容OpenEmbedded项目,你可以简单可靠地进行编译和开发.完全支持通过QEMU模拟器的广泛的硬件和设备的仿真.

Yocto项目可以为多种设备生成映像.

通过Yocto项目开发出来的映像可以在一个QEMU模拟器中进行引导,开发环境可以作为一个开发嵌入式软件的良好的测试平台.

操作流程

 

编译NXP S32G2 Linux BSP 31.0 Yocto工程

$ ./sources/meta-alb/scripts/host-prepare.sh

$ source nxp-setup-alb.sh -m <machine>

  1. 针对S32G274A,<machine>支持如下两个:

s32g274aevb,对应S32G274A EVB板;

s32g274ardb2,对应S32G274A RDB2板;

注意:-m 后面的选项根据自己的SOC板子来选,该bsp支持的板子和soc如下:

• Machines: s32g275sim, s32v234bbmini, s32v234evb28899, s32v234evb, s32v234pcie, s32v234tmdp,

s32v344sim, s32r45xsim, s32v234evbubuntu, s32v234sbc

  1. 针对S32G274A,< Images >支持如下两个:fsl-image-basefsl-image-auto

bitbake编译完成后,会生成depoly相关文件。可以depoly到对应板卡上,并启动。

 

Targets specific to NXP:

fsl-image-mfgtool-initramfs

fsl-image-auto

fsl-image-base

fsl-image-base-fit

fsl-image-bluebox

fsl-image-blueboxbootflash

fsl-image-blueboxdt

fsl-image-blueboxls2sdfactory

fsl-image-fit

fsl-image-flash

fsl-image-itbflash

fsl-image-nfs-initramfs

fsl-image-sim

fsl-image-ubuntu-base

fsl-image-ubuntu

fsl-image-ubuntu-ros

fsl-image-vsdk

bitbake的作用

BitBake是一个类似于GNU的make的构建工具,主要是为了管理嵌入式Linxu交叉编译的各个版本和包。

BitBake是一个通用任务执行引擎,用来执行shell和python形式的task,运行效率高支持并行,尤其能处理复杂的有内部task依赖关系的情况。

BitBake的另一个功能,是处理各种metadata,用来帮助任务的执行。

Bitbake本身就源自包管理系统,Gentoo Linux的Portage。

Bitbake是OpenEmbedded项目的基础组件( http://www.openembedded.org/ ),就是为了构建和维护许多的嵌入式Linux版本,项目源码地址:https://cgit.openembedded.org/bitbake/

Bitbake还被应用在Yocto项目中,相关文档介绍: http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html 

 开始时Bitbake属于OpenEmbedded项目的一部分,后来作为了一个独立维护和发布的工具。现在Bitbake由OpenEmbedded和Yocto项目共同维护。

BitBake操作对象是专属的recipes(食谱)文件,也就是后缀为bb的文件。

bb文件定义了当前包如何构建。

bb文件里面包含了构建package需要的源码地址,source URL (http, https, ftp, cvs, svn, git, local file system)。

还包含了包之间的依赖关系,和编译及安装选项。

bb文件里还用一些标准变量存储了和包构建相关的metadata。

Bitbake根据bb文件进行构建的过程中,会根据依赖关系,来执行本地或交叉编译过程,然后生成安装到本地或目标设备的包。

还可以生成完整的root file system的镜像文件image和kernel。

注意如果是交叉编译,要先配置好适合目标平台的交叉编译工具链。
 

 

最后

以上就是疯狂绿草为你收集整理的S32G274A Linux BSP编译环境简述下载NXP S32G2 Linux BSP 31.0的全部内容,希望文章能够帮你解决S32G274A Linux BSP编译环境简述下载NXP S32G2 Linux BSP 31.0所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部