|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
" B& w& Y' \& k" R0 H! hDONE: L3 v! a4 u- x# I5 Q
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
& ?9 t/ w- \4 W; M4 D) _ MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件1 @% h% l; n8 y4 Q
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
- o: c6 j% x% r; d8 K0 {2 L9 i; A) }3 O! E" s7 J
# q& y. C7 j2 @$ I$ R+ C! V# W
) E) r I4 p* T8 i+ B8 r
MOV32 regVal, 0x0B
+ y! L0 H8 }$ W* [+ v SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
8 v, k( M/ E; v9 y2 o4 Q' G3 s; N' H; F* y
// Clear the status of the interrupt- r# C7 [2 Y/ [! B4 N; l; T
LDI regVal.w2, 0x0000
; _0 d1 b+ ?8 r0 e% L7 D H LDI regVal.w0, SYS_EVT4 u t K' c, |' m5 n# Z6 Z2 i
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断" q& d, N9 f! d9 K8 ]
& i e5 X$ \2 M+ g# M' {% oCALL DELAY_500MS
+ e+ U' o( M* z JMP DONE
% r( `: X8 ~& {
' v2 B2 a% I# j; b' T HALT
. E' Q# ^5 A7 E
5 S2 d$ I9 j0 A9 p$ f, w& M下面的图是改的0xC0000004地址数据状况?! L8 W. F" b5 U+ p
1 Q- j7 u( b' q* ~2 m6 [0 x
% _$ O. ?2 ~! g0 e' c
/ K! v* Q' ]6 V5 X( \# d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|