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
+關注
關注
147文章
18924瀏覽量
398000 -
瑞薩
+關注
關注
37文章
22481瀏覽量
90852 -
交叉編譯
+關注
關注
0文章
37瀏覽量
13024 -
編譯
+關注
關注
0文章
694瀏覽量
35157 -
bootloader
+關注
關注
2文章
244瀏覽量
48025
發布評論請先 登錄
瑞薩RZ/G2L Linux Thermal Framework軟件熱管理介紹
HMI應用新選擇:基于瑞薩RZ/A3M的LVGL Demo Setup教程(下)
【瑞薩RA6E2】瑞薩E2S軟件安裝過程,等待過程玩下97_e2 studio_ZGZZ
基于瑞薩RZ/G2L微處理器的Ubuntu系統移植指南
瑞薩RZ/G2L MPU的DDR配置(1)
基于瑞薩64位MPU RZ/G2L的uboot串口多波特率支持介紹
瑞薩MCU方案:瑞薩RZ/G2L Bootloader單獨編譯方法詳解
評論