|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我这里有ARM给的一个关于cortex-a5的测试代码压缩包a5_validation.tar.gz. 我想把其中的ca5_max_power.s在我自己的soc上运行,
5 V! f8 r9 Y; h+ t# J. b0 y% K r5 ]" v- W5 G
我用的ca5_max_power.s的信息是
8 h: b( v4 b9 A4 U* }# J
- t3 i. p* e- u# H4 s) @/ v; Revision : $Revision: 60190 $! c' H5 r( m4 c
+ s3 i; O+ Y4 p# ^% Y; h
;
" s; s' o$ C/ P( T% ~, v, ?9 g
! E }3 r) o O' x5 O6 ^9 P% D; Release Information : CORTEX-A5-MPCore-r0p1-00rel0
! a1 y2 | y+ M' C6 q
, d" ?: `& M1 m我有两个问题想问一下,% B$ @: @: y! s; ~# M
- q/ L. S/ f9 b# s$ aca5_max_power.s测试需要soc有一些特别的硬件电路吗?在我自己的cortex-a5 soc上可以运行测试吗?
3 H% ^) B* m* B9 u2 U- B
' K8 }" p7 m, H/ A7 ~2 X3 x0 Jca5_max_power.s有调用macro: CPU_WFE_TRIGGER_EVENTI, 定义在validation_macros.hs,
* ^9 {6 p% H( ?
- `; D& Y8 `' T这个macro定义中有用到TBVAL_INTSEL, TBVAL_INTTRIG和TBVAL_INTSCHED, 请问这三个地址是什么,
* Z* ~3 p$ M( T5 H& u+ }4 A2 |" @ S N& X# D5 p4 Y5 z
测试代码里定义在0xa2000000的偏移上, 请问如果porting到我自己的soc上,这个基地址应该是什么?% U% }- z7 q7 n9 @8 Y
& K2 R5 p8 J8 W0 |
这个macro定义如下:' K" F% |; l8 t( y& d7 P
2 G$ a) B1 l" x# A* @) i* U: a6 n8 r
LDR r7, =TBVAL_INTSEL
+ }4 _3 n( F9 h2 m
7 H: i4 a1 D3 MMOV r0, #04 s4 V$ V$ ^5 q# e: Y8 p ^
6 c9 W. p% ^2 ^, w2 ~7 }
STR r0, [r7]
% ? p+ g- J- H. u: ]7 K( D5 b$ H0 @" M5 r0 |7 d( n8 p
DSB1 P( ^, d* Q. ^5 m
5 D2 B3 n& a7 S" @2 R. b; Trigger condition: "All CPU's WFE must be set in order to set EVENTI"; A: I7 s5 l( E. X; Y' t: v
7 y- o1 ^+ J! l" v" X0 U; NB: depends on the number of CPUs implemented if MP case9 Q3 c8 K4 Y7 s* z
2 v$ }4 L5 z0 S+ s# XLDR r7, =TBVAL_INTTRIG
1 c# C2 W9 ^9 b1 |
* B7 X! R: u+ z' o9 F- i/ v% [LDR r1, =data_cpunb
7 C s* E1 C j$ F* C3 |) V$ ^) V2 Q7 T" P6 f u4 d$ j
LDR r0, [r1]
( ~; _9 ?* z0 a+ L
0 Q/ M4 a$ l* s8 I9 e/ [! ~MOV r1, #1
. F! u, [- c8 Y: C
" v/ Q: n0 H3 x) R2 SLSL r1, r0
" ?6 C/ `- N6 v u% n" N" A0 R. [6 D* t7 r6 F# J( f
SUB r0, r1, #1
- x' l r+ w+ W( X5 Y F1 }* J
2 P y5 T0 @0 H l# |6 x: rLSL r0, #4) B3 V- L: ~7 M4 y. E
9 H% |% s7 z8 t+ l, b$ T6 rSTR r0, [r7]
: a3 L1 Q9 X* M# I" ]
* h% a; S) N& u+ x+ qDSB
1 N5 s: y3 c" ~
, L7 m5 q8 B+ _8 Q; EVENTI generation enabled (held until programmed trigger condition is true)
$ h! @; Z' Q. e. q
6 Z1 `/ C$ S/ Z& j& v; _) i* j: uLDR r7, =TBVAL_INTSEL( R4 o; M6 V# u- a
6 p. m; W" A: `. B8 q4 r
MOV r0, #1<<8
; Y6 q3 q( e9 z" P* z/ m
7 r3 Y- s9 Z% i/ d2 i& K' E1 k5 WSTR r0, [r7]6 J* n. ?$ V( p2 g4 ], G- G
9 u) H( D0 h1 @9 {6 N4 ]9 \! iDSB
1 W; f3 G/ [5 o6 P
) m' q( g( Q' B+ B0 O; Schedule trigger now (delay == 0 cycle)& j/ P0 n" y! h% C! f( S8 T- @
/ W5 P8 L+ m- }. \LDR r7, =TBVAL_INTSCHED' C+ o" ~; ~, Q2 I1 i
r8 z; P" O1 v% X( L+ QMOV r0, #0
# P+ a( o6 r2 E# [5 S& t( z% Q4 `: z3 ?
STR r0, [r7]
/ X4 b1 O+ Q% m8 c$ P, y5 r C- D; f" I& W: o/ h* r, F: o
DSB, O) Y; r1 u" _; O6 K2 O; f* [; [
, b6 |3 A( d" a6 l7 k8 A7 m! A
|
|