ARM技术william hill官网
直播中

申根换

7年用户 1621经验值
私信 关注
[问答]

ca5_max_power.s测试需要soc有一些特别的硬件威廉希尔官方网站 吗

我这里有ARM给的一个关于cortex-a5的测试代码压缩包a5_validation.tar.gz. 我想把其中的ca5_max_power.s在我自己的soc上运行,

我用的ca5_max_power.s的信息是

; Revision : $Revision: 60190 $

;

; Release Information : CORTEX-A5-MPCore-r0p1-00rel0

我有两个问题想问一下,

ca5_max_power.s测试需要soc有一些特别的硬件威廉希尔官方网站
吗?在我自己的cortex-a5 soc上可以运行测试吗?

ca5_max_power.s有调用macro: CPU_WFE_TRIGGER_EVENTI, 定义在validation_macros.hs,

这个macro定义中有用到TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED, 请问这三个地址是什么,

测试代码里定义在0xa2000000的偏移上, 请问如果porting到我自己的soc上,这个基地址应该是什么?

这个macro定义如下:

LDR r7, =TBVAL_INTSEL

MOV     r0, #0

STR     r0, [r7]

DSB

; Trigger condition: "All CPU's WFE must be set in order to set EVENTI"

; NB: depends on the number of CPUs implemented if MP case

LDR     r7, =TBVAL_INTTRIG

LDR     r1, =data_cpunb

LDR     r0, [r1]

MOV     r1, #1

LSL     r1, r0

SUB     r0, r1, #1

LSL     r0, #4

STR     r0, [r7]

DSB

; EVENTI generation enabled (held until programmed trigger condition is true)

LDR     r7, =TBVAL_INTSEL

MOV     r0, #1<<8

STR     r0, [r7]

DSB

; Schedule trigger now (delay == 0 cycle)

LDR     r7, =TBVAL_INTSCHED

MOV     r0, #0

STR     r0, [r7]

DSB

回帖(1)

尚文清

2022-8-18 11:10:09
这个测试是用来测试CPU的最大功耗的,基本上就是使pipeline全开,包括dual issue, NEON, debug都跑起来。 因为只是个CPU本身的功耗,本来是不需要其他logic来支持的。

如果是Multicore的话, 刚开始的时候 代码控制只有CPU0往下走,其他CPU处于standy 状态(由WFI进入), 为了测 Multi-core全速运行的功耗,必须将其他的core也唤醒,所以问题2里面提到的 TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED是仿真环境的interrupt激励的触发方式,仿真环境可以通过写这些地址,让其产生一个IRQ/FIQ给其他CPU以唤醒他们。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分