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文章
17961瀏覽量
366181 -
瑞薩
+關注
關注
36文章
22380瀏覽量
88003 -
交叉編譯
+關注
關注
0文章
34瀏覽量
12855 -
編譯
+關注
關注
0文章
679瀏覽量
33952 -
bootloader
+關注
關注
2文章
239瀏覽量
46649
原文標題:瑞薩RZ/G2L Bootloader單獨編譯方法詳解
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于瑞薩64位MPU RZ/G2L的uboot串口多波特率支持介紹

【RA-Eco-RA4M2開發板評測】初學瑞薩-使用瑞薩flash programmer燒錄程序
Banana Pi 與瑞薩電子攜手共同推動開源創新:BPI-AI2N
瑞薩RZ/G2L微處理器的SD卡GPIO控制功能介紹

RZ/G2L高速虛擬串口方案 基于瑞薩RZ/G2L SMARC開發板的虛擬(Virtual UART)實現方案

評論