|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
8 l6 U s& K3 R5 {# q/ tDONE:# r$ X8 H' A( O& M+ r
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
7 E6 m+ _% s( R$ ]$ ]) W MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件" {1 h# a( |9 `$ [/ J4 ~
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ) s, a3 d$ \9 `$ B$ y- u
, N3 c) _" y1 G4 V! H3 q) H
' h& A8 K9 Z; k, V2 [) T9 r3 N# K" ?8 {
8 V0 b$ |2 ~* r' }- v6 X+ q5 f% } MOV32 regVal, 0x0B
7 O" b/ f% O* J* Y- A% \5 F SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
5 D3 b$ _: y1 ?8 W8 `* H; p- D+ C+ z/ `- e' O' M# k8 Z
// Clear the status of the interrupt+ @# L% E! }5 n! V" J6 e& \
LDI regVal.w2, 0x0000
) G0 I7 F1 X$ S0 h9 Q3 ^ LDI regVal.w0, SYS_EVT
p `5 q( }. q- P SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断2 n8 @6 L* P: y4 u) J# m" U
3 F$ u" a; X7 sCALL DELAY_500MS " F* t& `5 u8 G! V! G) d0 R
JMP DONE+ ]7 w( G2 H: \5 D
' l3 x$ y/ c2 \1 I& m
HALT
" I1 I' h! m$ W& O7 v& y8 T8 \
/ ~+ T/ G8 W5 k" K& L- m下面的图是改的0xC0000004地址数据状况?' `( [ y; X2 X9 `, j* c
% t4 B% y# o1 B
. C$ b7 X2 f& ]6 W1 H0 ^* P$ Z
$ B: D* P" ?6 R( L: K. ` |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|