|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??; z6 c. i# h0 c, V
DONE:
2 }+ j$ C" ^1 J: U5 f //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射1 w/ G6 ]' y4 Q: r1 M7 L. S; d
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
- ~- P$ g _! ^: e9 ~( { a; v SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
, I1 C5 v: h( L% v$ u
* Z8 ^ q, f& S$ m8 v& e. _
2 \4 q! z- i$ o: a/ M. ^
1 I% N7 K2 ~) g/ m2 d MOV32 regVal, 0x0B
9 d9 i8 |4 J8 J) n- B0 x SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?& F! `' c% T" F) a6 [
+ g! l' T. _3 E* }* s- M/ l2 n* q
// Clear the status of the interrupt
7 G3 }) A7 B" q" G. `+ _ LDI regVal.w2, 0x00001 N5 O, l0 Y) E) W% I. \8 U
LDI regVal.w0, SYS_EVT9 E: ?5 M0 \' ~( E3 ?: C
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
6 R9 ^* t. g h# T% T8 B6 Y2 i% u* d" }3 Z( c0 p7 W3 J3 G
CALL DELAY_500MS ) i2 q2 t& s: r4 O8 d+ a% G9 W
JMP DONE
' P. @6 L4 `9 K' i0 o4 @" k- p A3 k, A% i: O4 g/ F2 V! P
HALT
: x$ C* N( B' y4 d
& M4 O1 K6 T6 Q P下面的图是改的0xC0000004地址数据状况?
9 U2 x) p+ V0 f: H ~7 a4 r( U2 D/ O1 X2 y5 v" t- o
2 x, k4 A& m. j ^+ d
4 d$ M! J: q$ }' g3 F9 h9 h& L |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|