|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
8 n% F0 V. b; `6 w" F! nDONE:. I6 I6 L4 B/ v! V/ i: s S
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射. c2 K( c+ o+ {5 R
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件( j+ j) F$ y8 M; d/ p- ]1 @
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
; d2 G# ?; ]# B/ O, ]2 u2 g& Q1 ~2 v0 i; p* p
: @3 ?5 x: o/ S; l5 t
$ z! D6 z% G! V1 ~ G5 C8 ^ MOV32 regVal, 0x0B3 T6 x* ?3 P; l5 j5 F, ?8 P
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
3 O% X1 k5 v% {( _6 x% B- L
. h3 }7 g5 d. X3 f2 E$ m/ X) Q. p// Clear the status of the interrupt
# A: a" c# }5 p2 \0 q! t LDI regVal.w2, 0x00000 @. ^1 h+ F4 |7 m8 T/ E
LDI regVal.w0, SYS_EVT
; k- F+ I" ~. I7 C1 u SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断1 U- o4 d$ a/ W r' _
* P; V6 `' W v3 m/ SCALL DELAY_500MS
" v" @# O! B. J, j3 I# u. u JMP DONE
5 U$ e% A$ P+ a: c. s; r7 u' t+ a' L d' w, p6 b, d8 J9 F
HALT* q8 E5 A, i0 u; T: [
$ c( y0 a9 G$ }1 {& D- t6 S/ Y
下面的图是改的0xC0000004地址数据状况?
( E4 I7 q3 ]: K; I/ @! W! P. G
, }1 h' a& b8 [# O" F1 E$ D5 Q1 z; Y+ \" p+ D, I
, T. t4 t+ q( B |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|