NXP S32G2开发

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Linux BSP 30.0 User Manual for S32G


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


导言

Linux BSP是一组源代码,可用于为受支持的板卡创建U-Boot引导加载程序、Linux内核映像、根文件系统和可选的ARM Trusted Firmware(TF-A)映像
  • U-Boot Bootloader(引导加载程序)
    Linux BSP包含以下U-Boot引导加载程序二进制文件:
    auto_linux_bsp30.0/<板>/u-boot-<板>.s32
    此引导加载程序支持:
    SD/MMC/eMMC (u-boot-.s32) 和 QSPI (u-boot-.s32)
    其中u-boot.s32.qspi是按照“构建u-boot引导加载程序”一节中的步骤生成的。
  • Linux Kernel Imag(内核映像)
    包含一个基于Linux v5.10.41的预编译内核映像。 内核映像和dtb文件位于以下路径:
    auto_linux_bsp30.0_/<板>
  • Root File Syste(根文件系统)
    包含以下rootfs文件系统:
    binaries_auto_linux_bsp27.0_//fsl-image-[auto/base/flash]-.tar.gz。
    这个tar. gz文件系统包括NXP库,其内容可以装载为NFS共享,也可以存储在安全数字(SD)卡等引导媒体上。

提示:以下是本篇文章正文内容

一、Linux BSP 30.0 User Manual for S32G

这个Linux BSP是使用Yocto 3.2"Gatesgarth"发行版中包含的gcc 10.2.0 for ARM64 cross-compiler交叉编译器构建和测试的。
下面描述的所有步骤都已在Ubuntu-18.04 LTS(本机或通过虚拟机)上运行和验证。 建议安装Ubuntu-18. 04 LTS,然后再进行以下部分。

1. 开发环境准备

1.1. 安装Ubuntu-18.04 LTS

镜像地址(清华源): ubuntu-18.04.6-desktop-amd64.iso

启动盘制作

dd命令制作

sudo fdisk -l
sudo umount /dev/sdb
sudo mkfs.vfat /dev/sdb -I
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb bs=4M
sudo dd if=~/Downloads/ubuntu-18.04-desktop-amd64.iso of=/dev/sdb status=progress

另一种方法:
通过活动搜索栏打开启动盘创建器(Startup Disk Creator)

1.2. 安装依赖

  • 更新包管理器:
sudo apt-get update
  • Python 2.x - 2.6 或更高版本:
sudo apt-get install python
  • git 1.8.3 或更高版本:
sudo apt-get install git
  • curl:
sudo apt-get install curl
  • 安装repo
sudo apt install repo

另外一种方法(推荐)

mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
source ~/.bashrc

1.3. 下载源码

  • Yocto Project Environment:
    配置默认REPO_URL(可以添加到 ~/.bashrc 文件末尾)
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
mkdir fsl-auto-yocto-bsp
cd fsl-auto-yocto-bsp
repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b release/bsp30.0 --repo-url='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
repo sync
  • U-Boot bootloader source code
git clone https://source.codeaurora.org/external/autobsps32/u-boot -b release/bsp30.0-2020.04
  • Linux kernel source code
git clone https://source.codeaurora.org/external/autobsps32/linux -b release/bsp30.0-5.10.41-rt
  • ARM Trusted Firmware(TF-A)
git clone https://source.codeaurora.org/external/autobsps32/arm-trusted-firmware
  • optee_os component of OP-TEE
git clone https://source.codeaurora.org/external/autobsps32/optee_os -b bsp30.0-3.11 

2. 知识储备及学习路线

2.1. repo及manifest格式

参考文章: https://www.jianshu.com/p/d40444267e8d

2.2. yocto

官方文档: https://docs.yoctoproject.org
实用技巧: https://www.kancloud.cn/digest/yocto/138623


3. 构建

3.1. BSP Ubuntu构建

在构建 Ubuntu 目标映像的情况下,此版本包括对版本 18.04.5 LTS 和 20.04.1 LTS 的支持。
要构建 Linux BSP,请按照以下步骤操作:

  • 首次设置
    设置免密权限以执行sudo apt-get
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
./sources/meta-alb/scripts/host-prepare.sh
  • 创建构建目录并测试安装
source nxp-setup-alb.sh -m <machine>ubuntu

例如,对于S32G274A RDB2,machine为 s32g274ardb2ubuntu:

source nxp-setup-alb.sh -m s32g274ardb2ubuntu -d /home/ae/nxp/downloads -c /home/ae/nxp/sstate-cache-ubuntu
echo -e "UBUNTU_TARGET_VERSION = \"18.04.5\"\nDL_DIR ?= \"~/Downloads/yocto_downloads\"" >> conf/local.conf
  • bitbake <imagename>
bitbake fsl-image-ubuntu-base 

这将完全构建U-Boot,kernel内核,modules模块,TF-A(可选)和 rootfs 以用于部署。可以在/tmp/deploy/images/目录中找到生成结果。
此版本包括对以下各项的支持:

  • machine:
s32g274aevbubuntu, s32g274ardb2ubuntu, s32g254aevbubuntu,s32g233aevbubuntu;
  • Images:
fsl-image-ubuntu-base,  fsl-image-ubuntu, fsl-image-ubuntu-ros.

对于 Ubuntu 映像,默认情况下 Ubuntu 目标版本为 20.04.1。
对于 Ubuntu-18.04 映像目标,请在 /conf/local.conf 中添加以下行:

UBUNTU_TARGET_VERSION = "18.04.5"

然后运行 bitbake ,其中 是上面指定的任何受支持的 Ubuntu 映像。
部署 Ubuntu 映像并启动平台后,请使用以下凭据登录:

  • user: bluebox
  • password: bluebox

3.2. TF-A-Enabled映像

通过编辑/conf/local.conf 并追加以下行来部署:

DISTRO_FEATURES_append += "atf"

3.3 支持 OP TEE 的映像

通过编辑/conf/local.conf 并附加以下行来部署:

DISTRO_FEATURES_append += "optee"

3.4 支持 Xen 虚拟机管理程序的映像

通过将以下行附加到/conf/local.conf来启用:

DISTRO_FEATURES_append += "xen"

提示:这里对文章进行总结:
例如:

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值