|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??" @/ u1 Z6 T% s$ {
DONE:% M! H5 |4 r- d& b; ~6 d
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
) T8 d8 T3 W6 j9 }5 O6 D9 w& ^ MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件4 Z, S6 q/ ?6 o/ C9 m% z
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
$ P/ Y* m# W1 m; P; {" t
( Q# W3 I1 T, |/ F
# b6 p- M+ z8 Q' k5 P7 w. R9 N# h
* @/ o7 d1 A e c+ `1 s MOV32 regVal, 0x0B
9 D- m1 }3 Q4 n, W s1 O) r SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?2 I7 E' Y+ D. J, W& ? h
! V8 r1 q+ |8 | W) d// Clear the status of the interrupt
9 P4 l( G \# }2 d; ^) ~3 q! r LDI regVal.w2, 0x0000. t, q8 L; u+ W
LDI regVal.w0, SYS_EVT5 h0 s& x3 \ T7 T+ l. T/ _% M
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
! v4 `0 F* F, J6 G8 `7 B# ~
3 d# q7 O8 K V* q% mCALL DELAY_500MS
* w2 E% H) m, k0 u1 U JMP DONE
. L- Q& X! ]' J& i0 ~" M9 g$ q# \: v) w6 |; e% \
HALT) I o% \5 ^) U. ^$ J) z
8 z7 {# G5 M9 F9 d
下面的图是改的0xC0000004地址数据状况?
% V' K& W1 {% B$ G( w& O" ?# ?7 H. U( [3 n6 F
3 p; N! l H; J0 p) X0 a5 m7 D1 R# b* z; ?5 U+ j$ o
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|