|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??( h- L, c$ o/ d6 ?) v: }8 V6 n
DONE:. E" S! v- H6 {4 _# w1 c& N
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射5 ?: B2 d) x# ]( @* _; g, p, Q# D
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件+ r2 c, B5 z0 B; s' [
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? 0 S1 A" j5 s# d3 T/ O/ ~
# n, _7 }3 u7 o% r
2 x* V z7 Z! a
( ^: S, {& C( [1 {* g$ Q3 { MOV32 regVal, 0x0B
9 E8 j$ c# [& w SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?: J9 R. s6 m$ I5 S7 }0 M, g4 p- B9 ~
5 r2 J U6 A) W9 A2 l
// Clear the status of the interrupt
, \( p9 {+ t& m3 P. D9 P LDI regVal.w2, 0x0000
1 U, i7 z- @- F; F6 @6 s LDI regVal.w0, SYS_EVT$ M; X2 P8 U# o6 n" v
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断* T7 }( h5 Z, {
5 L7 r }; \, z0 \/ v* n% m
CALL DELAY_500MS
& F: I$ f& J7 D; I* f4 e* _: s JMP DONE
5 x6 h$ {4 p @, N2 p: U P7 ]5 |$ v, G' o, n( `
HALT5 a" H$ h V- _8 {7 F% Z
. n: Q( e, [; V
下面的图是改的0xC0000004地址数据状况?
& G' J' \6 ~* f+ K$ S9 n# c1 B
+ l7 D& P5 R. P( D+ {: q6 L
# |" w/ s$ @, N- I) l
& A2 V9 [: Y2 o8 R$ v |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|