找回密码
 注册
关于网站域名变更的通知
查看: 141|回复: 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上运行,# K, k8 W+ c, ?2 H5 n8 Z1 [

, b3 Z: l* y0 O& {我用的ca5_max_power.s的信息是2 y$ O9 R, K# h. e
$ b, J; `$ C0 N$ w9 j6 ~0 P! V
; Revision : $Revision: 60190 $
6 G8 v( @- |" {3 Q' x) g+ P, B; \3 B6 `3 K% Z8 W) G9 W
;
. }7 W7 S* M' L! \- \7 h5 u% E4 y9 N& a; C
; Release Information : CORTEX-A5-MPCore-r0p1-00rel0
& Z: A# m8 W5 B3 m% g* z
' k+ o+ B  z7 X6 S我有两个问题想问一下,
; j% g; q+ g( \, m* C! u
3 L; {) i; I4 G7 s( H+ H$ p  v, T6 h: Cca5_max_power.s测试需要soc有一些特别的硬件电路吗?在我自己的cortex-a5 soc上可以运行测试吗?2 V" g1 K% q0 k: M) a

+ Q% p; ]' T) \; a- l1 t0 O7 mca5_max_power.s有调用macro: CPU_WFE_TRIGGER_EVENTI, 定义在validation_macros.hs,  ?$ F6 y3 a' Q& o- j7 ~

2 J( r5 o( P, l" _这个macro定义中有用到TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED, 请问这三个地址是什么,+ z2 D) W/ ~, f

- z* [1 s+ @' C# s1 I5 x( L测试代码里定义在0xa2000000的偏移上, 请问如果porting到我自己的soc上,这个基地址应该是什么?; @  n8 }" C2 v9 T/ [
; m/ v) V5 G2 j& ]7 k& _
这个macro定义如下:3 @8 s3 H- x2 q; @. k1 C, Y! y# h

' J' C9 z8 _$ k" j* y$ @LDR r7, =TBVAL_INTSEL$ m/ R% p& s1 I! g" p3 r# l- k
8 G$ e! t0 n# g6 L( @
MOV     r0, #0" l7 P3 Z8 ^  Z" J

5 C9 H$ E( e* s3 y1 ASTR     r0, [r7]6 ?# i$ j9 n* Q" c; G5 Y
& p+ e; [) k6 g* N
DSB
9 g% X* M( F0 W$ p# v) [( X" p' G! W1 X5 q  T
; Trigger condition: "All CPU's WFE must be set in order to set EVENTI"
" B0 V9 r8 c  `0 a) P- D4 e- |- r6 q; B
; NB: depends on the number of CPUs implemented if MP case( U1 s) A& ]4 [; Q+ o9 M+ @
, h% \) F& u* L2 E% @
LDR     r7, =TBVAL_INTTRIG! y. f; C4 `. r/ P, a9 Q

# Y& b' x; S- I! E) M5 R% D7 d( gLDR     r1, =data_cpunb4 o( w& Z- B5 p  H( Z

0 H0 ]+ |- {. N; u) H5 w, o# sLDR     r0, [r1]) E8 P$ k1 e1 B( s) u+ m
& U, P$ Q8 a) N: J, z- _" f8 E
MOV     r1, #10 H, j# G/ c. h1 t5 f& n( I0 w
. {! @( S# I" A! V! P- D
LSL     r1, r0, J) Y4 T# }5 A
( ^0 i, a; b4 j0 a3 n# m
SUB     r0, r1, #1
4 k' B! Z' o7 E' p) I+ v  M+ |0 n* W9 A
LSL     r0, #4
4 J' B7 |. `. C* A9 H1 T$ R! t* i8 l) W2 y
STR     r0, [r7]
0 s% V& j: r+ U* b3 _6 z: r" L" N" y
; ]3 F! u! R( R2 q( kDSB% v: ]4 S4 o8 ]6 T" ^

# h; [$ G7 V6 j6 Y7 V) T; EVENTI generation enabled (held until programmed trigger condition is true)
! l& e7 _. b9 q  S: T) W3 x- k4 I/ e% P. X0 c: c% ~
LDR     r7, =TBVAL_INTSEL4 u, U$ Z/ B9 K$ A) N+ [
& ?% F- \/ w* M# x, `: m% H
MOV     r0, #1<<83 x8 T9 D( r  q  R1 P

) o. v  I. w' o8 n1 CSTR     r0, [r7]
# k+ s+ X+ Q# U6 ~9 l' T; a
, L8 g' f+ s% p% @8 ~7 KDSB
3 B9 P; X$ S4 w) F: j7 i
5 {. M* R4 }# D' S/ [; Schedule trigger now (delay == 0 cycle)( t* j, A9 I/ @1 u/ j+ X# H3 c. ~3 ?
! f+ `) h  z/ _, o$ v# b2 r
LDR     r7, =TBVAL_INTSCHED
( e8 Q; L+ `1 A! W  O+ c
. I4 L, }! |& s$ @6 _MOV     r0, #0
; ^: _* b4 ~9 N# s1 D! Y4 t
% x0 ^+ E0 ]4 d; a& H0 `2 f4 ^+ Y: [STR     r0, [r7]9 j6 a  S( E4 f+ c( V7 Y+ F5 m

% }) X; y7 b, e! d5 A0 {1 BDSB9 V- o3 h% n" H
# e: R4 L) P7 l1 o2 G: o2 z  ]

该用户从未签到

2#
发表于 2022-8-30 14:13 | 只看该作者
这个测试是用来测试CPU的最大功耗的,基本上就是使pipeline全开,包括dual issue, NEON, debug都跑起来。 因为只是个CPU本身的功耗,本来是不需要其他logic来支持的。0 D% ~: k# H& R1 V' ~) Q- `0 g

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

该用户从未签到

3#
发表于 2022-8-30 14:57 | 只看该作者
再看看别人是怎么说的" z2 U% q0 q, w$ K9 `5 T

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-29 22:34 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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