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源码:
左右滑动查看完整内容
gitclonehttps://github.com/renesas-rz/rzg_trusted-firmware-a
cdrzg_trusted-firmware-a
git checkout v2.6/rz
cd..
获取U-Boot源码:
左右滑动查看完整内容
gitclonehttps://github.com/renesas-rz/renesas-u-boot-cip
cdrenesas-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。(您可复制下方链接至浏览器进行查看)
SMARC EVK of RZ/G2L,RZ/G2LC,RZ/G2UL Linux Start-up Guide Rev.1.06
https://www.renesas.com/en/document/gde/smarc-evk-rzg2l-rzg2lc-rzg2ul-linux-start-guide-rev106?r=1467981
如需了解更详细的使用方法请参考如下网站:
瑞萨官网
https://www.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rz-mpus/rzg2l-getting-started
RZ产品WIKI网站
https://renesas.info/wiki/Main_Page
-
mcu
+关注
关注
146文章
18013浏览量
368469 -
瑞萨
+关注
关注
36文章
22389浏览量
88119 -
交叉编译
+关注
关注
0文章
35浏览量
12871 -
编译
+关注
关注
0文章
680浏览量
34161 -
bootloader
+关注
关注
2文章
239浏览量
46776
原文标题:瑞萨RZ/G2L Bootloader单独编译方法详解
文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
基于瑞萨64位MPU RZ/G2L的uboot串口多波特率支持介绍

瑞萨RZ/A3M HMI MPU介绍

【RA-Eco-RA4M2开发板评测】初学瑞萨-使用瑞萨flash programmer烧录程序
Banana Pi 与瑞萨电子携手共同推动开源创新:BPI-AI2N
瑞萨RZ/G2L微处理器的SD卡GPIO控制功能介绍

RZ/G2L高速虚拟串口方案 基于瑞萨RZ/G2L SMARC开发板的虚拟(Virtual UART)实现方案

评论