找回密码
 注册
关于网站域名变更的通知
查看: 166|回复: 3
打印 上一主题 下一主题

ca5_max_power.s测试需要soc有一些特别的硬件电路吗?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-30 13:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我这里有ARM给的一个关于cortex-a5的测试代码压缩包a5_validation.tar.gz. 我想把其中的ca5_max_power.s在我自己的soc上运行,# w' ~+ U% j+ M4 e% P( b& U
+ f3 X/ [, e7 `" o0 {+ K; r$ h
我用的ca5_max_power.s的信息是+ L$ _7 j% _- |
% Q, G& E+ w5 o! ~' N0 x
; Revision : $Revision: 60190 $
! `' j/ k9 n. o0 |6 t" R9 g. c- S9 |& }* N
;5 J/ F# s# j, ?' v8 p0 h  G

1 _, K- g3 Q: H9 M  p; J; Release Information : CORTEX-A5-MPCore-r0p1-00rel0$ N% o( b* K1 x3 y/ S  P( Q
2 u  m0 W2 y- e* t/ q9 C
我有两个问题想问一下,
" f" M% n1 ]/ B0 |
! U7 o; }, I# W) k6 ~: U+ J$ F8 Jca5_max_power.s测试需要soc有一些特别的硬件电路吗?在我自己的cortex-a5 soc上可以运行测试吗?1 y* P1 V) y) a
' J' R# |2 F/ N1 f) A
ca5_max_power.s有调用macro: CPU_WFE_TRIGGER_EVENTI, 定义在validation_macros.hs,
9 ]* @3 @8 {4 f. U1 A
2 B( d# D, Z; E% _! U6 r5 |8 _这个macro定义中有用到TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED, 请问这三个地址是什么,
. z0 V: u; y1 J4 x7 ~
$ q$ l2 t( W8 a3 J3 s测试代码里定义在0xa2000000的偏移上, 请问如果porting到我自己的soc上,这个基地址应该是什么?' V0 Z- X9 U; n. t% P

, y& M2 R: ^. ~: D8 h! {2 w这个macro定义如下:
. b. @1 E; l4 x
2 E( b; }3 D+ ]; V8 V0 BLDR r7, =TBVAL_INTSEL
. r5 D2 a! Q" R& B; {" |
: @: r# F2 ?2 J/ @7 d- PMOV     r0, #0, {: p: a3 j( S- k  W' }7 B

! d! c5 U1 v, f: n9 M) u+ DSTR     r0, [r7]
) b: t) E0 }% C% p
' ^) Z# I  j, k8 n$ p1 G; X  fDSB
4 Q3 g; Q3 K" m( i' K0 c7 t! y
; Trigger condition: "All CPU's WFE must be set in order to set EVENTI"
: O7 d# h# c) k2 g3 ]% p! F; s8 V7 ?/ }! ?8 t/ F
; NB: depends on the number of CPUs implemented if MP case& z: q. V: A8 i0 X* O

$ Y* w5 L/ A4 \1 vLDR     r7, =TBVAL_INTTRIG5 T, }% O3 C  H6 [0 C6 b. [
: ?! n' L+ ^2 L5 o  Y
LDR     r1, =data_cpunb
5 N+ z+ n- ~& {. Z
. V. G* Z  @) p6 c4 W/ b# eLDR     r0, [r1]" i! a  {. w! j) |3 G* Y

# p2 m% f  {9 c; y  |* sMOV     r1, #16 d# B! L; ^3 b  i% M* X3 v

8 w  z! L/ u8 y# c9 b' VLSL     r1, r0$ j' [. h0 d* z- i" S" C" i; J4 l9 Q
$ D; x# A- N7 h* x' F8 j
SUB     r0, r1, #1
* G! y/ `# O3 D! s4 i# ^$ U- }
: _- M" P* e2 F# Z& T4 J/ PLSL     r0, #40 H4 G* b. d) m6 p+ S

) N4 I8 ^4 {2 ]1 ^STR     r0, [r7]
: A* m  J9 l" N4 k6 |4 T' k$ U& ~8 h8 g
; K4 u+ D. T- ^8 [5 ODSB
; S  ^* T+ c8 c% T9 o8 l" Z
3 j; G2 Y; }- p, }* Q; EVENTI generation enabled (held until programmed trigger condition is true)
6 [: v4 ]! k/ B9 }. L" f" J1 B# g+ ]+ G
LDR     r7, =TBVAL_INTSEL& X! g1 P, P2 ]2 a# ~
; ?) h  z2 Y! l* y
MOV     r0, #1<<8
7 X: f* F6 \) X
; z" K) o, A8 D7 {0 y( P8 I9 i6 N( MSTR     r0, [r7]
; r6 G' d. d/ O! P  E0 X' w8 L4 t- ?  ^
DSB
" l$ f1 O# j) ?0 O0 \2 H6 U( ]! s
: \1 t3 \3 K% X2 L; Schedule trigger now (delay == 0 cycle), q) B  y4 b4 T. r5 q; t  @' b

  F; ^# k% L0 K& lLDR     r7, =TBVAL_INTSCHED
1 n- S" O1 ~& ~; _+ r- c) c/ Z: C
, G( f! z4 G) t: zMOV     r0, #0, d9 r* c4 [) F3 E6 D* g7 D4 q
) B9 w; Z" r7 h
STR     r0, [r7]
' U. l; y) k! A$ t% S3 l9 e
3 C- M% w1 O& [* n3 b" `7 l" mDSB1 _; U# `( p1 Y* h

1 J9 `3 ^; F7 n9 Z, U9 ?

该用户从未签到

2#
发表于 2022-8-30 14:13 | 只看该作者
这个测试是用来测试CPU的最大功耗的,基本上就是使pipeline全开,包括dual issue, NEON, debug都跑起来。 因为只是个CPU本身的功耗,本来是不需要其他logic来支持的。% ~8 x6 A+ Y3 M6 B( {( N0 ~
) i3 E) i; d8 [* N
如果是Multicore的话, 刚开始的时候 代码控制只有CPU0往下走,其他CPU处于standy 状态(由WFI进入), 为了测 Multi-core全速运行的功耗,必须将其他的core也唤醒,所以问题2里面提到的 TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED是仿真环境的interrupt激励的触发方式,仿真环境可以通过写这些地址,让其产生一个IRQ/FIQ给其他CPU以唤醒他们。/ A  C1 e9 p" j9 D. |* u

该用户从未签到

3#
发表于 2022-8-30 14:57 | 只看该作者
再看看别人是怎么说的
0 n6 C" d2 |: H7 I) P

该用户从未签到

4#
发表于 2022-8-30 15:24 | 只看该作者
这个问题解决了没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 16:32 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表