|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
; j2 B% _8 W/ ^% eDONE:
2 f, W$ d) ]$ ]; D! Z1 ]* I! o //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射$ o, I* J" y9 P
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
5 q+ Z6 Y2 J R0 }, I. B8 O/ \7 d9 U SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? . Z5 u: i1 i$ ]( `) R% [% C
" e& r7 s6 ~1 u' w0 }" _7 S
+ O6 v1 a7 |! ]
% y* y, X P: ]5 ^. R; ^6 i MOV32 regVal, 0x0B
$ H) L0 o" n: P6 P3 z SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?7 I: p3 B/ d" h% Q) a. \
# ~, ~5 a! f3 V' n; `% q2 M
// Clear the status of the interrupt
: g% v' i0 ?' I! R0 z LDI regVal.w2, 0x0000
5 _, x: \- u5 a9 {) w LDI regVal.w0, SYS_EVT3 K- u9 k: T4 ^8 n, x" g- G( ]5 z
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
" ~; M) V$ P1 t+ X( K3 J
% O' S n! t3 n" `6 LCALL DELAY_500MS 1 A5 u. g) Q: ~' {* G8 ^
JMP DONE
+ w. n3 c% D0 r( k0 |5 }
. N6 O+ C/ W- E7 e0 |9 f: F' N9 L HALT
, H8 p+ g" L! S# Z
' R. y$ y* { L$ ] z下面的图是改的0xC0000004地址数据状况?, p$ X- x4 @* W' c( w
5 L: O9 m5 O4 e) v6 A* u% ?
p1 v; H) @0 _8 Z+ T, r
. b6 G& s# D: Y; m" r |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|