Xcp_SetCalPage->Xcp_SupportSetCalPage->SetCalPage
Case0: 切换RP
①设置三个core对应的寄存器OSEL为0;
②设置寄存器OVCCON,bit17:OVSTP为1,bit0 ~ bit2 CSEL0, CSEL1, CSEL2为1.
Case1:切换WP
①关闭中断;
②设置core0、core1、core2 的三个寄存器:RABR、OTAR、OMASK
其中:RABRx = 0x08010000
OTARx = 0x220000
OMASK = 0x0fff0000, 2^11*32 = 65,536 65536/1024 = 64 KB
根据以上配置:
Target address = segA + 00+ OBASE = 0x8022 0000
Redirected address = OMEM指向段的值 + 0 + TBASE = 0x90010000
结合:OMASK的配置:
Target address 地址范围: 0x80220000 ~ 0x8022FFFF 范围是:0x10000
Redirected address 地址范围: 0x90010000 ~ 0x9001FFFF 范围是:0x10000
③配置寄存器OVCENABLE : bit0 ~bit2: OVEN0、OVEN1、OVEN2 为1.
④ 配置三个core对应的寄存器OSEL为0x00000001,block0 设置为1.
⑤配置寄存器OVCCON:bit16:OVSTRT为1,bit0 ~ bit2 CSEL0, CSEL1, CSEL2为1.
⑥ 打开中断;