|
|
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 ? |
|