|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??8 Z9 x7 V3 X+ z6 A8 C
DONE:# v3 P9 l5 [+ k1 @! K4 Z$ ]
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
( v( l) n' Q- Z4 r1 ^3 N MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件# `! x- c; {1 u7 o" X- C
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
0 `3 x" a2 b7 u Y( n2 |0 x; A* ?0 j+ `
! b2 T* R' i( k7 _7 l- m
9 ^: O# z) ?" H4 W' S MOV32 regVal, 0x0B
: `2 m+ q- x3 E! @. x2 _1 _ SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
! w' O+ }: c _. k1 V& L& e( r) ]2 |; T9 z% c7 r9 O& z
// Clear the status of the interrupt1 t2 m: L9 `5 m- {0 k' U
LDI regVal.w2, 0x0000
; _4 Y' ]* U8 n9 e- y9 v LDI regVal.w0, SYS_EVT3 N7 u- D* Z+ c& G& R) V% ?
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断 W( ]4 O+ B3 b, Y2 ?( i3 q& H
: F( |1 b7 n/ D5 R( G! s$ PCALL DELAY_500MS 1 |& z7 m' R) {" u4 a2 t& O
JMP DONE
6 ^! o( a( Q, ]( F) p+ Y7 T& I' m; v9 v0 H5 Z8 I# g2 u7 W2 C
HALT1 Q9 V, G0 [2 w) Q4 ~
9 J r& p0 W4 B! ` O下面的图是改的0xC0000004地址数据状况?' Q1 |# F. q* N! Y
1 y" \% n- }1 t* o, s6 Y; k
/ P% ?$ L, [4 L
5 ?; ?( D: U- j: Y) q. W |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|