嵌入式开发者社区

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

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
2 D  u4 k3 ]  c) L4 ], tDONE:
& O) `! Z9 h7 j7 @. K2 g8 Z    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射
* {' w" a% p3 c6 {3 c: c8 P    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件! [! S% ?2 o$ R6 E/ d6 [/ O% |
    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢? ' Y# r2 A2 Z5 X+ D1 E4 L

( ]' Q- n% V4 h, A
5 m9 h* }5 \2 T8 p$ z( Y
1 W. U# K4 f/ A, L" X    MOV32     regVal, 0x0B
) ]$ t( D1 K- V  o    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?6 r; x+ a" V5 r3 v

4 K( l& G4 i5 c2 q; x" v// Clear the status of the interrupt
# d- u. r- @+ O0 ]; m/ ]6 P    LDI        regVal.w2,        0x0000
- z$ E8 Q% J# B$ T    LDI        regVal.w0,        SYS_EVT* q$ g. [% k  l7 N/ u3 c( }* p
    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
) p- J0 d  C4 X  P" |$ n, |. z/ p
7 i3 d! W1 ]! B" b7 g/ ?, KCALL DELAY_500MS   
* W) o& b. g  N0 v3 k' i* c" @, G* R* p    JMP DONE* Z% w4 P8 ~2 i, M# }# p1 s* f; C
$ `" h: A  J* |' f% B( s
    HALT
# [, x1 n- Z, \( Z9 Y/ G" M6 x3 l9 m# W2 W; {
下面的图是改的0xC0000004地址数据状况?
, ?! `$ {8 @0 [0 H% {8 N# i: Z3 t8 i& n[attach]2127[/attach]6 n1 V& B) B6 Z: E6 `& \
. c( x0 q9 M; q2 a+ f' X
8 M2 f. f# e6 q+ V( c

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:185 t1 m- `: ^7 ^1 `- g/ j8 f# O
这里是调试用的,程序放到这个地方,这两条语句需要删除掉

1 N, I. ~3 C% h! a8 C非常感谢




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