嵌入式开发者社区

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

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
" ~/ f) M7 ~# c* l0 U- ?' eDONE:- L' U: _8 d" a' K3 i
    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射( i& K' w; O" R% _' O* _
    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
" k# @/ d  T/ @! U8 z1 H- }    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢?
' ?( r9 y1 w, b+ C5 F$ G8 x  R2 D3 J

7 a' q1 |2 c) X7 @/ \9 o/ K7 ?0 m' X7 Y) ?, I' g. l7 s
    MOV32     regVal, 0x0B3 L* U  D) U. A
    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?
7 E& O+ p; |/ h1 v) @2 D! a- G* k' M6 q# v7 q( n- c' o
// Clear the status of the interrupt% b' l5 s; x9 @7 ?6 W1 |$ k
    LDI        regVal.w2,        0x0000
) A2 ]- [" _" O* M& e# Y3 r    LDI        regVal.w0,        SYS_EVT3 x, N. g$ P5 E8 M: r9 x( }
    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
- C8 }2 z, o& W3 a& T0 t- S% ^% l
/ i  E2 ]* |! A0 k  pCALL DELAY_500MS    6 O* ^% O+ V% ~% w8 n8 C7 V( Q
    JMP DONE/ ]; z$ E6 Y: z: t3 y2 X6 Q

3 E( J: \! V  B0 }# N# ?  [3 B" d    HALT$ t! ]1 c& o$ D& G: q

; ?. i) o  b% l; U8 j下面的图是改的0xC0000004地址数据状况?
5 g" {3 D4 g$ O4 L# ^# D& {[attach]2127[/attach], T* c5 s5 |: _4 K
: ^7 O  o. F2 F0 U; `4 Z
9 f8 U3 I" V; O9 Z

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:18/ E" X- E! ]) K9 u1 J
这里是调试用的,程序放到这个地方,这两条语句需要删除掉

/ g  S8 {/ w4 B非常感谢




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