全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

瑞萨MCU方案:瑞萨RZ/G2L Bootloader单独编译方法详解

时间:2025-07-08 14:47

人气:

作者:admin

标签: Bootloade  mcu  G2L  方案  瑞萨 

导读:  RZ/G2L微处理器配备Cortex -A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出...

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

9df0578e-5bb1-11f0-baa5-92fbcf53809c.png

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

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

9e14c984-5bb1-11f0-baa5-92fbcf53809c.png

在上述流程中,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”

9e301b8a-5bb1-11f0-baa5-92fbcf53809c.png

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

9e4b4b76-5bb1-11f0-baa5-92fbcf53809c.png

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

9e6026f4-5bb1-11f0-baa5-92fbcf53809c.png9e99871e-5bb1-11f0-baa5-92fbcf53809c.png

注意

编译前,请确认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

9eab5d68-5bb1-11f0-baa5-92fbcf53809c.png

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

9ec377e0-5bb1-11f0-baa5-92fbcf53809c.png

其中,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/G2LCRZ/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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信