|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??# t3 v9 @3 J5 O( C G
DONE:
, e; ]+ }. k" f3 }3 A+ {" K5 q //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
; C$ s& d- [# N3 W- K MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件 U9 a( k8 g. o* e
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? & Q4 J |* O# X, K* V7 z
2 B; A \/ x5 t" \- D
6 K0 g0 z* m: D! A8 A8 U- N
# R1 j# f5 x+ U2 ^3 J, v MOV32 regVal, 0x0B2 b$ h6 [4 [( z. `+ t m# Z
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?- \' m9 W% u+ B* Y
7 d4 O3 G7 K" t+ ~$ |// Clear the status of the interrupt
% X* L1 z$ Z5 q LDI regVal.w2, 0x0000( [( L. m$ o6 ?" s
LDI regVal.w0, SYS_EVT7 j& `' I- [. k# _+ X* n
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
( F# ~: _* ]0 ~0 }/ r" c- ~+ y. Y% E
! p8 K4 ?, {6 ?5 I3 c% W2 \1 dCALL DELAY_500MS ! o4 s1 H' Z$ {* t! l5 c
JMP DONE# A9 W9 g! K% N
9 \$ y: i" _% Z; e. r HALT
$ Y/ t- j. P7 |- P8 Z9 a6 l0 }2 e% d9 X$ r5 w) Z$ [& D) K
下面的图是改的0xC0000004地址数据状况?
. m; p1 f8 ?4 q9 i$ q7 [3 z, ]& ~9 a1 U9 L9 r
/ g1 }# M2 a6 ?# T
6 s/ x- a1 `3 k% \( ? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|