2026 / 07 / 21
瑞萨RZ/G2L Bootloader单独编译方法详解

RZ/G2L微处理器配备Cortex®-A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出、USB2.0和千兆以太网,因此特别适用于入门级工业人机界面(HMI)和具有视频功能的嵌入式设备等应用。



在RZ/G2L的开发工作中,用户经常会提出需要单独编译Bootloader的需求。为了满足用户需求,本文将介绍一种RZ/G2L上脱离Yocto的单独编译Bootloader的方法,从而能够快速便捷地生成Bootloader文件。

首先介绍一下RZ/G2L的标准Bootloader启动流程,如下图所示:




在上述流程中,BL1为固化在ROM中的一段启动加载代码,用于引导BL2并对其进行安全验证;BL2主要完成一些平台相关的初始化,如DDR初始化;BL31是持久存在的可信固件,负责系统安全服务和在Secure World及Normal World之间切换;BL32包括一个可信安全的OS(如OP-TEE OS)以及安全应用;BL33为非安全固件,通常为U-Boot。

对于Secure版本的RZ/G2L,Bootloader包括BL1、BL2、BL31、BL32、BL33。而对于Non-Secure版本的RZ/G2L,Bootloader包括BL1、BL2、BL31、BL33。本文仅针对Non-Secure版本的RZ/G2L EVK,以下直接简称RZ/G2L。

对于RZ/G2L,用户可修改并重新编译的Bootloader文件包括trusted-firmware-a(TF-A)和U-Boot。

接下来,从github上获取Bootloader源码。

获取TF-A源码:

git clone https://github.com/renesas-rz/rzg_trusted-firmware-a
cd rzg_trusted-firmware-a
git checkout v2.6/rz
cd ..



获取U-Boot源码:

git clone https://github.com/renesas-rz/renesas-u-boot-cip
cd renesas-u-boot-cip/
git checkout v2021.10/rz
cd ..



注意本文以v2.6版本的TF-A和v2021.10版本的U-Boot为例。客户在实际使用时,需注意同步为所用VLP版本下的TF-A和U-Boot版本。

获取用于TF-A和U-Boot构建的自动化脚本:

wget https://raw.githubusercontent.com/renesas-rz/rzg2_bsp_scripts/master/build_scripts/build_common.sh
wget https://raw.githubusercontent.com/renesas-rz/rzg2_bsp_scripts/master/build_scripts/build_tfa.sh
wget https://raw.githubusercontent.com/renesas-rz/rzg2_bsp_scripts/master/build_scripts/build_uboot.sh
wget https://raw.githubusercontent.com/renesas-rz/rzg2_bsp_scripts/master/build_scripts/build.sh
chmod +x *.sh


其中,build.sh提供构建各镜像的入口,build_common.sh用于设置通用配置项,build_tfa.sh用于构建TF-A,build_uboot.sh用于构建U-Boot。

运行脚本
设置对应的板子信息以及要使用的交叉编译工具链:
./build.sh s

在下面的界面中完成相应的配置

设置板子型号,选择“5 smarc-rzg2l Renesas SMARC RZ/G2L”


设置RZ/G2L板子的版本,分为PMIC_Power和Discrete_Power版本,这里选择“PMIC_Power”


设置交叉编译工具链,这里选择“1 Poky (Yocto SDK) /opt/poky/3.1.11”




注意编译前,请确认Host PC中存在交叉编译工具链。如果不存在,则需要参考《SMARC EVK of RZ/G2L, RZ/G2LC and RZ/G2UL Linux Start-up Guide》文档第7.1.1节How to extract SDK,安装交叉编译工具链。

运行脚本,构建U-Boot
./build.sh u

运行脚本,构建TF-A
./build.sh t



构建完毕,生成的产物位于output_smarc_rzg2l路径下



其中,bl2_bp-smarc-rzg2l_pmic.srec和fip-smarc-rzg2l_pmic.srec即为需要烧写的Bootloader文件。

注意每次修改U-Boot时,除了需重新编译U-Boot外,还需重新编译TF-A,因为TF-A里面需要包含U-Boot输出文件信息,否则无法正常启动U-Boot。

以上,就是RZ/G2L单独编译Bootloader的方法。

关于烧写Bootloader文件的方法,可参考SMARC EVK of RZ/G2L,RZ/G2LC,RZ/G2UL Linux Start-up Guide Rev.1.06文档第4.4节Write the Bootloader。






文件下载
隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。

样品
申请

应用
资源

微信