|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??$ h" J, Y, A/ C" h+ N. c
DONE:
9 E; o' E6 s$ N$ w) O; ]% n: n4 f' J ` //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
+ s/ M1 {' V Z4 ^ MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
; }. Z# x4 s7 J- P SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
8 W/ V8 R, @- d" Q1 M( r4 |! |, y- d- J4 d
' N; U) j. A6 B5 X: X% e$ Q& T
' n# {, q# v% v/ U2 t MOV32 regVal, 0x0B& O1 X& w1 N6 }3 R
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?; N. B" x7 p/ V) }) V- o
, A+ c% ^. b9 y6 b9 W' \$ N; s
// Clear the status of the interrupt- i( D$ V4 q& s0 L' [; b5 ?# o q
LDI regVal.w2, 0x0000& T3 ]) I* n* k2 Q$ y
LDI regVal.w0, SYS_EVT
3 \8 S( a0 T1 E2 y" K SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断" @$ @* d) c3 b" b
8 H- r( A7 [2 v& S: O. KCALL DELAY_500MS " E' x2 X. S2 K& F
JMP DONE
7 F3 g% _8 \4 j& P1 Z& ]
0 t% P1 w, @0 f n8 \5 u HALT
P& E Q. @6 j# T$ k1 O7 r6 ?
7 n* g2 F& ]7 {; E _) g2 T! _ W下面的图是改的0xC0000004地址数据状况?
0 O8 L4 f$ s- q7 c. k) N4 S: Q+ A6 F% G: @5 B. z4 K# h+ C
2 `# ^; W1 h' S" K7 s
7 l4 n: ^6 \8 A" R Y+ j _ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|