瑞萨机器人处理器RZT2H CR52双核BOOT流程和例程代码剖析
RZT2H是多核。处理器。,发动时,需求一个“主核”先发动,然后主核依据规矩,加载和发动其他内核。本文以T2H内部的CR52双核为例,阐明T2H多核发动流程。
LSI reset release时,其内置的BOOT。ROM。总是从CR52_0开端履行,即咱们能够把CR52_0界说为主核。假如体系装备为程序从Ex。te。rnal XSPI_FLASH 发动,BOOTROM首要依据存放在external Flash开端方位的Pa。ram。eter中的界说,从Flash中加载Lo。ad。er程序。
Paramete。rs。for the Loader:
存放在External Memory区域的开端方位,存放着与程序加载相关的要害信息,如例如在各个发动形式下,发动期间的。CPU。缓存设置,用于与外部存储器。通讯。的引导外设(xSPI或。SD。HI)的装备以及加载程序的size等等。
Parameters for Loader的结构如下:
除了上述信息,其间DSET_ADDR_NML是跟多核发动相关的要害参数;该参数决议Loader Program的加载地址,而BOOTROM依据这个地址决议接下来在哪个核上,从哪个地址开端履行LOADER程序。
这儿弥补一下T2H程序结构和根本加载发动流程:
T2H渠道,烧录到External Flash上的内容逻辑上分红3部分:
上述的Parameter for Loader;
Loader program;
Application program;
发动时,BOOTROM依据Parameter for Loader从Flash加载Loader program到指定方位开端履行,然后Loader program再加载Application program并跳转履行。
在T2H多核架构下(4xCA55+2xCR52)Loader parameter中的:DEST_ADDR_NML有2个或许的地址规模,即BTCM7或许7System SRAM:
假如BOOTROM判别到加载地址是在BTCM中,那CR52_0持续履行(second boot CPU仍然是CR52_0),从加载地址开端履行LOADER PROGRAM,并完结整个发动流程。
假如BOOTROM判别到加载地址是SYSTEM,体系会以为second boot CPU是CA55_0,BOOTROM 就会Reset release CA55_0,并把CR52_0转换到WFI状况,然后让CA55_0履行Loader program。
以上介绍了在T2H多核体系中的主核First boot CPU和Second boot CPU的发动进程,可是其他的Core此刻都仍是在Reset 状况,等候 Second boot CPU为其加载程序和开释。
接下来以52双核为例,阐明CR52_0怎么完结本身程序加载和加载并发动CR52_1的进程;
在这个示例中,CR52_0用作Second boot CPU,以下历来是CR52_0的Loader Program需求完结的作业:
依据FSP。时钟。树,装备LSI的各个Clock;
初始化Loader Program的Data段和BSS段;
装备ADDRESS_EXPANDER_INIT:
Address EXPANDER的作用是:经过映射的办法,使能32 bit Master拜访。4G。area之外的地址空间,详见UM 13.4.5;
TrustedZone 400初始化;
COPY运用程序的PRG段/DATA段/BSS段,到相应的运转RAM空间。假如需求发动其他内核,则把其他内核的PRG/DATA,也COPY到对应RAM区域,然后Release方针内核;
核间通讯用到的。信号。量初始化;
Master MPU初始化;
GIC初始化和体系界说的中止的初始化装备;
TF。U初始化;
Main()跳转运用;
其间历来5中发动方针。CPU(CR52_1)。
的历来如下图:
上述历来中需求特别强调的当地:
发动进程,需求从CR52_0拜访CR52_1的ATCM空间。依据T2H的架构,这个拜访只能经过AXI总线,且有必要把CR52_1的ATCM region经过MPU装备为Device特点,而且只能运用LD和ST指令;
对应到代码中,上面的7个历来在函数SystemInit()文件startup.c中都能找到对应的完结;
要点阐明函数bsp_cpu_reset_release()该函数完结上述历来的2,3,4,6,7;
要点剖析历来6:
代码段如下:
这段代码完结的动作:
把1st分支指令[inst]经AXIS。接口。仿制到CR52_1 ATCM的开端地址(dst_cpu1:0x2100_000);
仿制跳转指令要用到的方针地址(addr);
操作到的存储地址如图示:
最终历来7:
CR52_1跳转到进口函数system_init,开端履行:
以上,以双CR52 Core为例,阐明晰T2H多核体系的BOOT流程。
延伸阅览:
日本。瑞萨。电子此前量产面向工业设备的 MPU(。微处理器。单元)RZ / T2H,估计用于。机器人。等,声称 CPU 软件处理性能比曾经提高了 20~30%。一个芯片能够一起操控最多 9 轴的。电机。。
RZ / T2H 的 CPU 选用四个。 Arm。Cortex-A55 内核,最高主频为 1.2GHz。,支撑 LP。DDR。4-3200 32bit 内存;实时 CPU 包含两个 Cortex-R52,最高主频 1GHz。
内容来源:https://a02.webvip.vn/app-1/7m cn 2in1,https://chatbotjud-hml.saude.mg.gov.br/app-1/novinhas-brasileira
(责任编辑:新闻)