|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
$ F4 ?% d2 O7 J5 t& A( }DONE:8 |( l& q* m- X) n1 a
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
3 R* [' V3 a, j, g" C: k; d7 { MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件/ v; r) f9 l% E: F
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
! ~1 e; w' U, e! j) ^: d* Q" s# M0 Y% z+ L1 j/ w: X
$ W. O+ N2 Y, D/ M9 \
" M e7 \ y& u; A) i7 _( [ MOV32 regVal, 0x0B
+ N0 d, D1 T' A2 x/ p* O3 d3 s: ?! G8 h- d SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
2 a* N+ T- ]& D0 m2 C. J" j0 Z# W' F4 e9 e( J4 {
// Clear the status of the interrupt6 d. f. l6 ^, m
LDI regVal.w2, 0x00008 p. i* f- e! M, m5 s. |! g% p
LDI regVal.w0, SYS_EVT
% d4 `+ Y F5 ?/ B D8 ^- k% _ SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
4 f/ F- b* D- P" x5 a6 ?3 f' y: A2 j( m/ D
CALL DELAY_500MS 2 \/ _+ ~9 }3 Y, y
JMP DONE, g. E( x0 S/ q" p& b$ R1 d% g% M
/ K$ f: R Y! T2 T* n
HALT
0 p/ s9 G( ]+ e7 D: ]5 w1 i+ N d6 d' e s, ?
下面的图是改的0xC0000004地址数据状况?
. _' l, s4 |- _9 K `4 H1 w3 x6 n; b$ h4 u0 `5 k! Z' b
0 {. D& J; S2 p& X9 |# s: u) x
# J! i1 x+ E( Y |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|