|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??) f1 ~/ m* _1 f7 d4 Z: C5 T
DONE:. {# y4 z0 x3 s- \8 h% P2 W- ~
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
5 Y$ } v" j; G: |( J2 ~ MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件( L' }5 D' X8 O, t; Q' i* p: h( r$ Q
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ; m* \* _# _7 Y' B A5 r
! J8 O1 B: V8 q6 ~" b% ~6 m$ X, Q7 d5 `% q! ^& |
$ b- V# J$ J7 m$ {4 d MOV32 regVal, 0x0B
# M! Y6 E: \+ R6 R4 g SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?: Y: A8 m! U5 N) l
( L- E9 _) @5 }- J. h( a
// Clear the status of the interrupt
# M$ u) N! W6 J) u1 }- ] LDI regVal.w2, 0x0000
: D x( s4 T' R LDI regVal.w0, SYS_EVT
! m+ O, {) H1 f( u1 M SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
. M. W! n7 ?7 y% Q& T
% N, N7 l# ~' K0 D( lCALL DELAY_500MS . @/ a! E5 e ?# P( e
JMP DONE
8 I% p6 b' T; S1 [; V9 R) o% w" u
+ b6 C1 T: r5 p HALT7 [9 t c* N: c
4 ~2 p( u$ l3 D: }; |5 L7 k6 x下面的图是改的0xC0000004地址数据状况?
. `7 y% t+ W7 b& b' _. d
, ]1 B2 H# u: @' e; w) N* D. ~9 I. L- V' t$ V( X1 a" l
: K9 N S$ B( r8 U5 E; W K, } |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|