嵌入式开发者社区

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

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
$ E; l% [/ [0 x6 b6 I0 q' ~, `- FDONE:2 _! A" E3 o) s# D+ @
    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射
) M( Y8 @' Z6 j$ t3 d$ Z    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
9 ~  k' P) @! q- W# ^    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢?
% c: {6 S: t8 U% ^6 z1 |
" d* H/ M7 u! Q# Z- z% `& ~1 X- [+ P% ?; M& P0 \& N* t) V8 r, _
: T6 S. _. J  F; z' t& E( Q
    MOV32     regVal, 0x0B  H$ _7 ~0 W0 Z4 m- [7 `
    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?* Z: I7 ^: B$ C; K( m7 s

$ d3 ?  s+ X. X5 q0 S$ G4 x// Clear the status of the interrupt3 K6 R; {$ h- k/ h& E
    LDI        regVal.w2,        0x00006 H  ?. X; d0 U( E* m# `2 d
    LDI        regVal.w0,        SYS_EVT
3 c" u) B$ t$ s/ H& b; i    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
: N9 b' J$ [0 g+ `3 b5 \7 N/ V) Z) L  G; O
CALL DELAY_500MS   
2 V6 g) n, q" G    JMP DONE
. ~" ]$ k" o+ F, B/ d6 g) ^! B5 j% t" w0 N1 x
    HALT" e& n  Y6 W# j
) j: }1 {9 S7 I
下面的图是改的0xC0000004地址数据状况?
9 P$ A  ~; ]# S- O[attach]2127[/attach]
0 `3 s3 E$ R5 h1 J) p8 J5 ^  w) h7 Z( ?* U
5 \! }- Q/ }! H/ k8 o4 e- B

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:186 V7 v- \5 f3 G( V* j% I! p
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
: g8 k8 x9 D  M7 P' Y$ k  _
非常感谢




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