|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
' Z8 @( k1 n% O1 m( x3 C& S lDONE:
3 S8 ^- Q' B1 ]8 z+ J //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射! ?1 f$ x6 B$ C; o. u3 a! j5 U
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件+ h0 L+ ^5 B& y
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? 1 q& I3 f, S0 s0 z( @
) k( f5 \7 z2 D% L
v1 P9 L T* H& X# k/ ]+ M$ d) W9 T4 C5 M9 O& @ K
MOV32 regVal, 0x0B
8 Y8 w) _% C( L4 @- {' z" m4 s# I SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?" M& u+ C$ w8 Z* d
6 N) F+ g0 W2 d
// Clear the status of the interrupt
0 y, f; ^. X' {0 q$ N5 R3 y LDI regVal.w2, 0x0000
1 d/ u t9 G5 N& t# A4 q! C, W LDI regVal.w0, SYS_EVT. @; M+ W' O, D# o$ |: a0 x
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
& y; o) Z" i: k0 V! i( S9 d* i* q# |$ Z& n' n" d2 [* {: g7 r
CALL DELAY_500MS $ T; e- k& j4 @0 f9 A( L' T
JMP DONE
- e. n( h: x' S0 F! l9 j: r# _. W" ]5 a4 ^+ O9 Y
HALT
+ }! x0 ]8 `3 M' |% \/ U, C3 E' V" M7 |$ x
下面的图是改的0xC0000004地址数据状况?: G3 y& j5 I6 t" O; Y) f& F
# f. m: [+ ^) k% A
0 F! I- Y" }2 O7 m
9 B8 E: k2 b! A, k5 e% _# l
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|