嵌入式开发者社区

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

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??7 {* ?& a7 V7 N& q
DONE:
8 h2 O# M. k% g5 r- U    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射- }) }% S5 Q$ S
    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件9 s0 k, [9 X. a0 }
    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢? ) z& e7 g) {. L5 r

' h, Z2 j% d1 b4 I
) s  q, t% Y6 e" [% x% _- B, `7 t
5 l! D( P6 ?% [, L. x9 K, Z    MOV32     regVal, 0x0B) v. P' V, t! Q! N# ^* D3 K* M
    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?
' Q4 R8 b, x7 Q0 j% ~1 S7 D, E
3 A' }+ X; k9 c// Clear the status of the interrupt0 K, ~+ Y3 W( m
    LDI        regVal.w2,        0x0000
5 ^. V6 M1 h* v    LDI        regVal.w0,        SYS_EVT
1 Q; c! E5 O3 n8 C/ Y    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
% h4 T0 P, m( C# f. T$ g
* {  f5 c2 C: M* g" n" `4 V9 gCALL DELAY_500MS    1 k+ j" j: M6 b- v3 u) k
    JMP DONE/ a, G+ K: M) L3 Q

' X0 _9 J0 ^" }  t9 X7 E& N# E9 i" s    HALT
& \# Z/ z" z# x* m3 i: x6 C/ i% O9 y" I2 P
下面的图是改的0xC0000004地址数据状况?- `+ c2 H4 s" P
[attach]2127[/attach]
8 I. b$ g. N! F; T7 H' T; {2 I" S' X, a' i1 j

& N- [+ S6 V' {; W
作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:18
% g: j. a( G$ f这里是调试用的,程序放到这个地方,这两条语句需要删除掉

% P* k: ^% u/ k2 i非常感谢




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