嵌入式开发者社区

标题: 创龙PRUtoDSP_Interrupt工程代码的疑问? [打印本页]

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
+ r% ?$ ^+ K  W3 \DONE:
' `( |* p* \) z. N& Z    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射
: [0 K% P8 B- x1 O  L' r    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
( U# {+ M. t2 a. i  Z6 O$ {( B  p# @    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢?
/ R5 |7 x, R/ A1 R
6 y& D! r" _0 J* a3 Y1 @& T, r3 K0 y( v3 }* Q0 N- o
% [9 [. G1 U, X7 s6 X
    MOV32     regVal, 0x0B
+ G6 v: e" y0 u- v    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?
0 z) v8 R/ ?8 d/ Z0 I9 t; ]4 l' ]8 O+ Z2 u3 |
// Clear the status of the interrupt* T( }9 H; H% c6 z) L
    LDI        regVal.w2,        0x0000* D6 t' q0 I9 C5 e! \! S5 H
    LDI        regVal.w0,        SYS_EVT
+ U2 c! ^! P: A1 W7 A, @( m/ p' b& X    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
1 z4 V/ L, q. d: }* [3 m  H. U0 l! j
CALL DELAY_500MS   
. ~  D$ N) u# q$ R) V; P! i    JMP DONE
! C) d) c! b7 j3 }$ t7 |0 T5 }) j' P
    HALT0 w  h* }- d( @$ f
# f9 j! M# M3 S7 Y* w2 ?
下面的图是改的0xC0000004地址数据状况?1 d# s9 Y" N5 h# h
[attach]2127[/attach]4 K, }+ k& b+ @8 b  z
8 L8 E* \1 b9 Z2 h2 G. g
: \8 Z, H( ], I! l: M1 ~) V

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:186 i  w$ c0 H% \- {; r
这里是调试用的,程序放到这个地方,这两条语句需要删除掉

# E: d' _6 t' W; C7 R) z, V8 f" q非常感谢




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4