RZT2H是多核處理器,啟動(dòng)時(shí),需要一個(gè)“主核”先啟動(dòng),然后主核根據(jù)規(guī)則,加載和啟動(dòng)其他內(nèi)核。本文以T2H內(nèi)部的CR52雙核為例,說(shuō)明T2H多核啟動(dòng)流程。
LSI reset release時(shí),其內(nèi)置的BOOTROM總是從CR52_0開(kāi)始執(zhí)行,即我們可以把CR52_0定義為主核。如果系統(tǒng)配置為程序從External XSPI_FLASH 啟動(dòng),BOOTROM首先根據(jù)存放在external Flash起始位置的Parameter中的定義,從Flash中加載Loader程序。
Parameters for the Loader:
存放在External Memory區(qū)域的起始位置,存放著與程序加載相關(guān)的關(guān)鍵信息,如例如在各個(gè)啟動(dòng)模式下,啟動(dòng)期間的CPU緩存設(shè)置,用于與外部存儲(chǔ)器通信的引導(dǎo)外設(shè)(xSPI或SDHI)的配置以及加載程序的size等等。
Parameters for Loader的結(jié)構(gòu)如下:

除了上述信息,其中DSET_ADDR_NML是跟多核啟動(dòng)相關(guān)的關(guān)鍵參數(shù);該參數(shù)決定Loader Program的加載地址,而BOOTROM根據(jù)這個(gè)地址決定接下來(lái)在哪個(gè)核上,從哪個(gè)地址開(kāi)始執(zhí)行LOADER程序。
這里補(bǔ)充一下T2H程序結(jié)構(gòu)和基本加載啟動(dòng)流程:
T2H平臺(tái),燒錄到External Flash上的內(nèi)容邏輯上分成3部分:
上述的Parameter for Loader;
Loader program;
Application program;
啟動(dòng)時(shí),BOOTROM根據(jù)Parameter for Loader從Flash加載Loader program到指定位置開(kāi)始執(zhí)行,然后Loader program再加載Application program并跳轉(zhuǎn)執(zhí)行。
在T2H多核架構(gòu)下(4xCA55+2xCR52)Loader parameter中的:DEST_ADDR_NML有2個(gè)可能的地址范圍,即BTCM7或者7System SRAM:

如果BOOTROM判斷到加載地址是在BTCM中,那CR52_0繼續(xù)執(zhí)行(second boot CPU仍然是CR52_0),從加載地址開(kāi)始執(zhí)行LOADER PROGRAM,并完成整個(gè)啟動(dòng)流程。
如果BOOTROM判斷到加載地址是SYSTEM,系統(tǒng)會(huì)認(rèn)為second boot CPU是CA55_0,BOOTROM 就會(huì)Reset release CA55_0,并把CR52_0轉(zhuǎn)換到WFI狀態(tài),然后讓CA55_0執(zhí)行Loader program。
以上介紹了在T2H多核系統(tǒng)中的主核First boot CPU和Second boot CPU的啟動(dòng)過(guò)程,但是其他的Core此時(shí)都還是在Reset 狀態(tài),等待 Second boot CPU為其加載程序和釋放。
接下來(lái)以52雙核為例,說(shuō)明CR52_0如何完成自身程序加載和加載并啟動(dòng)CR52_1的過(guò)程;
在這個(gè)示例中,CR52_0用作Second boot CPU,以下步驟是CR52_0的Loader Program需要完成的工作:
根據(jù)FSP時(shí)鐘樹,配置LSI的各個(gè)Clock;
初始化Loader Program的Data段和BSS段;
配置ADDRESS_EXPANDER_INIT:
Address EXPANDER的作用是:通過(guò)映射的方法,使能32 bit Master訪問(wèn)4G area之外的地址空間,詳見(jiàn)UM 13.4.5;
TrustedZone 400初始化;
COPY應(yīng)用程序的PRG段/DATA段/BSS段,到相應(yīng)的運(yùn)行RAM空間。如果需要啟動(dòng)其他內(nèi)核,則把其他內(nèi)核的PRG/DATA,也COPY到對(duì)應(yīng)RAM區(qū)域,然后Release目標(biāo)內(nèi)核;
核間通信用到的信號(hào)量初始化;
Master MPU初始化;
GIC初始化和系統(tǒng)定義的中斷的初始化配置;
TFU初始化;
Main()跳轉(zhuǎn)應(yīng)用;
其中步驟5中啟動(dòng)目標(biāo)CPU(CR52_1)
的步驟如下圖:

上述步驟中需要特別強(qiáng)調(diào)的地方:
啟動(dòng)過(guò)程,需要從CR52_0訪問(wèn)CR52_1的ATCM空間。根據(jù)T2H的架構(gòu),這個(gè)訪問(wèn)只能通過(guò)AXI總線,且必須把CR52_1的ATCM region通過(guò)MPU配置為Device屬性,并且只能使用LD和ST指令;

對(duì)應(yīng)到代碼中,上面的7個(gè)步驟在函數(shù)SystemInit()文件startup.c中都能找到對(duì)應(yīng)的實(shí)現(xiàn);
重點(diǎn)說(shuō)明函數(shù)bsp_cpu_reset_release()該函數(shù)實(shí)現(xiàn)上述步驟的2,3,4,6,7;
重點(diǎn)分析步驟6:
代碼段如下:

這段代碼完成的動(dòng)作:
把1st分支指令[inst]經(jīng)AXIS接口復(fù)制到CR52_1 ATCM的起始地址(dst_cpu1:0x2100_000);
復(fù)制跳轉(zhuǎn)指令要用到的目標(biāo)地址(addr);
操作到的存儲(chǔ)地址如圖示:

最后步驟7:

CR52_1跳轉(zhuǎn)到入口函數(shù)system_init,開(kāi)始執(zhí)行:

以上,以雙CR52 Core為例,說(shuō)明了T2H多核系統(tǒng)的BOOT流程。
延伸閱讀:
日本瑞薩電子此前量產(chǎn)面向工業(yè)設(shè)備的 MPU(微處理器單元)RZ / T2H,預(yù)計(jì)用于機(jī)器人等,號(hào)稱 CPU 軟件處理性能比以前提高了 20~30%。一個(gè)芯片可以同時(shí)控制最多 9 軸的電機(jī)。
RZ / T2H 的 CPU 采用四個(gè) Arm Cortex-A55 內(nèi)核,最高主頻為 1.2GHz,支持 LPDDR4-3200 32bit 內(nèi)存;實(shí)時(shí) CPU 包括兩個(gè) Cortex-R52,最高主頻 1GHz。

-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31494瀏覽量
223865 -
瑞薩
+關(guān)注
關(guān)注
38文章
22520瀏覽量
91316 -
代碼
+關(guān)注
關(guān)注
30文章
4977瀏覽量
74420 -
Boot
+關(guān)注
關(guān)注
0文章
154瀏覽量
37926
發(fā)布評(píng)論請(qǐng)先 登錄
基于米爾RK3576核心板的國(guó)產(chǎn)割草機(jī)器人解決方案
RZ/T2H和RZ/N2H MPU:工業(yè)級(jí)應(yīng)用的高性能之選
瑞薩系列-米爾RZ/T2H核心板開(kāi)發(fā)板 高端MPU,驅(qū)控一體單芯片方案
瑞薩電子AI解決方案助力優(yōu)化電子配送機(jī)器人開(kāi)發(fā)
瑞薩電子RA系列MCU 2025年新品回顧
瑞芯微SOC智能視覺(jué)AI處理器
RK3576機(jī)器人核心:三屏異顯+八路攝像頭,重塑機(jī)器人交互與感知
宇樹科技發(fā)布H2仿生人形機(jī)器人
自制巡線解迷宮機(jī)器人(上)
工業(yè)機(jī)器人的特點(diǎn)
明遠(yuǎn)智睿SSD2351開(kāi)發(fā)板:語(yǔ)音機(jī)器人領(lǐng)域的變革力量
使用RZ/T2H MPU提高工業(yè)機(jī)器人性能并顯著減少組件數(shù)量和開(kāi)發(fā)工時(shí)的方法
使用瑞薩電子RZ/T2H產(chǎn)品實(shí)現(xiàn)多關(guān)節(jié)機(jī)器人
瑞薩機(jī)器人處理器RZT2H CR52雙核BOOT流程和例程代碼分析
評(píng)論