|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??5 e) ?1 J2 h2 c1 \" C# }
DONE: w8 u* C# J8 Z0 X$ \! t
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
' t1 F; [* Z: T6 ]( `4 R7 ~3 e MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
/ I% }0 a. T; e+ q. D' v SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ' b5 c) G4 r. Z* y9 A
, J. g: N4 u/ M/ }4 F L$ f/ b6 G; @, b; f0 Z1 R
) e7 W6 l1 n b$ J. A: ?
MOV32 regVal, 0x0B
- q/ t) Q& Z& C8 S$ \8 _0 F8 E SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?. X1 |7 T8 _" H! @2 ]8 o
" I8 u! o7 M; Z) {// Clear the status of the interrupt- K, ~8 h* R) w' y
LDI regVal.w2, 0x0000
: J. |' [3 E, x6 B! E# H LDI regVal.w0, SYS_EVT. o- |3 x! \/ S- u+ Q, x
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断# u% O' m4 r! H3 C. E& N
: o- U O! E+ I7 o) G
CALL DELAY_500MS & _2 N1 h2 l. v7 n
JMP DONE
. g* N& G9 G* h& t4 X/ f! c3 i( I! |3 x8 m9 M4 D4 z$ x- l4 k
HALT
3 Z) l0 e5 \' K0 w n: `5 M4 a& f+ U
下面的图是改的0xC0000004地址数据状况?! E5 \7 W/ L0 A9 X0 v1 e4 {
/ {4 o2 W: @6 S8 C5 D1 M
- s( ]8 v' D: E0 `: L' l* P
* `! }) J! k y ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|