找回密码
 注册
关于网站域名变更的通知
查看: 167|回复: 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上运行,9 e+ y/ s4 I' O0 f% a6 J
# W) \5 F7 ^$ r; u! O( |
我用的ca5_max_power.s的信息是) Q. s( a2 t5 ~3 j. {

8 E) ~9 @/ C9 f. Y; Revision : $Revision: 60190 $
! c" H2 D8 w6 K# @
9 A" L* t, e0 x. |' ~" @0 F) E;* z$ K& u$ v+ y! d1 N& D% Q2 |- ^

1 h6 S( V- g1 O3 d, n! e- g0 |; Release Information : CORTEX-A5-MPCore-r0p1-00rel0' e$ E# M- j# g1 ~  E- U8 ?

+ ]6 h) }- Y' h) N6 y我有两个问题想问一下,7 V- h9 D- r: d) H/ C4 k

( W9 K9 P% f4 ^2 K" @& v! m. Zca5_max_power.s测试需要soc有一些特别的硬件电路吗?在我自己的cortex-a5 soc上可以运行测试吗?5 F% e+ J; m: g' F; X' z' }; \

# [' l" e; S2 l! d  G" tca5_max_power.s有调用macro: CPU_WFE_TRIGGER_EVENTI, 定义在validation_macros.hs,
# k, _$ I8 @1 b" m% r1 Y6 K9 J7 K) E- {6 R, Q2 k3 ~" K; L
这个macro定义中有用到TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED, 请问这三个地址是什么,5 G) Q, O& N& R/ }$ z- m& }$ V

! Q) w& ?7 m3 E9 t% G$ \+ e, C) ~测试代码里定义在0xa2000000的偏移上, 请问如果porting到我自己的soc上,这个基地址应该是什么?
7 X! c" }2 N" o; M) \$ M) v4 v9 r' m1 M3 u5 d
这个macro定义如下:0 E1 }$ f% y' J" E7 f# u0 @
9 \8 x) l1 U: h* ^* W
LDR r7, =TBVAL_INTSEL
, o# K" o+ f+ F3 ~% u
- G3 R* Q  \# {2 m6 [( DMOV     r0, #04 }4 o' o. J" e. ^* p, L: j
0 q% ~# d( v. ]& {
STR     r0, [r7]
( S6 ~$ r- n" t8 t; P1 T3 M; o4 M. w$ l, E3 d% {) q
DSB6 @6 S2 [$ Z' k' `
0 V* @0 ~) c' |% Q) {4 Y* `
; Trigger condition: "All CPU's WFE must be set in order to set EVENTI"
/ z/ l, P1 B% L& O
5 h. T  m8 s( ], }: `! }" k' u; NB: depends on the number of CPUs implemented if MP case1 O% L1 B( R* I2 z- H, L, E2 w# y
' o& R6 U5 X0 ?- ]* V5 _5 A8 y
LDR     r7, =TBVAL_INTTRIG8 b1 A, e! v/ c, O* K( g

  w- b2 j. R1 K' H$ m; @+ QLDR     r1, =data_cpunb: a) x3 l; P4 A% M0 \2 C$ }

# p. G: W; N& V/ F4 \! U: CLDR     r0, [r1]
5 Q! u4 W  g7 ~: f. G& }" d9 T8 N0 w' R* K5 \8 t
MOV     r1, #1+ i: q  B: V+ M' j7 p4 Y

) C  Q( x& }" v3 S( C3 gLSL     r1, r0
0 y9 Q) b  r  J0 x. D4 r$ E& `/ r1 Y; M  T9 ~
SUB     r0, r1, #17 v$ a3 `* R- n- L
/ `5 F# Z. \0 T
LSL     r0, #4
* @) \4 L  O0 S6 f  W# F/ q3 }3 J/ K( |0 Z- B4 U5 M$ J! q
STR     r0, [r7]$ T6 ?8 ?% s7 ]- m* u! T. t5 O

* o8 \7 a5 E1 BDSB3 P" a2 k7 ~( Q- {' B6 ]% n

7 _0 [+ c7 H" T1 o" ]% {, D; EVENTI generation enabled (held until programmed trigger condition is true). g6 d/ V" B1 `
  e" X* M8 i/ r* d. Z* g
LDR     r7, =TBVAL_INTSEL% J# s! y7 {+ G2 Z
. C3 E  ]0 B/ C; w# t
MOV     r0, #1<<85 I% @% e, _3 K( j: ^& M; K) W

+ `# `9 _, }0 eSTR     r0, [r7]3 O& w( y* u& [  `% G. ?- ?
, F+ {9 y5 G; S, h1 K) e' @1 A6 [
DSB
& R, f( E$ q; W; s+ O7 @5 ]& ^5 o
5 y: B' }1 o" Q" P; Schedule trigger now (delay == 0 cycle)" S: x+ ^$ _& w2 ^& S1 ]; K4 j* }, K
( R1 v1 B4 N$ A0 k7 h0 q! U/ a
LDR     r7, =TBVAL_INTSCHED7 m4 n" L  H/ q! Z
9 E( a; G: |# }# t  i; w
MOV     r0, #0# p' V. \. r  g. f% ?

4 O8 E/ q8 z% ^! ?/ z) s) P' zSTR     r0, [r7]+ ?- v9 [( g( k, F& c
0 n5 D5 q1 m5 D0 {' h3 G; x
DSB+ l, ~) Q# t8 E# _4 e- _. h7 L- S9 |

1 P: o, V% }6 ?

该用户从未签到

2#
发表于 2022-8-30 14:13 | 只看该作者
这个测试是用来测试CPU的最大功耗的,基本上就是使pipeline全开,包括dual issue, NEON, debug都跑起来。 因为只是个CPU本身的功耗,本来是不需要其他logic来支持的。2 M* Q& ^1 y( h' H/ A) E% }

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

该用户从未签到

3#
发表于 2022-8-30 14:57 | 只看该作者
再看看别人是怎么说的
0 [1 x! ]; J+ }3 T8 v  d: j% C5 {0 i# R

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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