|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
* @+ r( e7 I& \' i6 v4 N# tDONE:
1 t. Q# j7 p7 n+ }* D i3 v //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射& Z, Z% R' Q; x9 Y( c- g3 ]0 Z: _$ T
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
9 ^! h9 H7 m" w SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ; e6 c% J7 u4 J8 d2 I/ J0 G, v: _
& P) u# L/ K3 E$ N* ^5 n
) D# B! x- t, s, M! ]% ~' Z' p' ]- ^: K) h+ w: @) o2 b9 C
MOV32 regVal, 0x0B
% |/ Y' e8 l/ s+ f SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
8 x8 z5 I7 e2 S0 J; d7 e" l9 T. ]2 o7 S- ?8 e1 `" b
// Clear the status of the interrupt4 t6 ]( H3 ~, T5 N
LDI regVal.w2, 0x00001 @9 m* Y* c5 @5 Y/ U/ t! R
LDI regVal.w0, SYS_EVT
; B% b. u, M6 m SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断$ j: ]$ ?) `$ ^7 s+ c% [
) I6 a7 J8 |4 p. J+ ~; }" e
CALL DELAY_500MS 7 Y) Z2 ^4 b0 Z V1 Q& w/ @
JMP DONE5 f4 h( G4 ^) K
3 T4 e5 G3 i/ ^% [ HALT5 @& t. r" _; ]# _/ Q6 x
; \" Z5 S U9 L) P& Q# ^% ^3 H# W
下面的图是改的0xC0000004地址数据状况? ~* m6 r/ N! E7 E& [
2 a5 X" |& v& R3 G3 @$ r
. ^0 I3 L& F& w+ r! z6 F% x7 L" v8 U
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|