嵌入式开发者社区

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

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??' R; t1 z% F& x4 y7 x
DONE:
7 C/ G4 I; r5 c/ d8 q    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射- j7 f# J  Q' [: z7 ~9 D( Z
    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件2 m% u9 u  R' p6 Z" x! y  m
    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢? % G0 N/ }6 x5 W

% `( Y2 N  j+ S# \# [- k" C# a$ f1 p* K. ?0 N; e; P$ P
( X# [: Y2 G) z" J
    MOV32     regVal, 0x0B5 y4 c' O. V0 u  M$ a. |
    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?
- l0 O3 B; g: [- F% [( y0 L+ K% A
: p, m' M& V6 \5 ~; i# F// Clear the status of the interrupt
! F1 p; U1 G/ c% ~/ _( n+ o    LDI        regVal.w2,        0x0000) O* y1 Y. ~7 U6 Q1 A$ u) g: T; v+ S
    LDI        regVal.w0,        SYS_EVT, ?% o& n( l( b6 O. h9 E5 b( {
    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断
6 |8 J( j4 }7 G9 S% b
  H6 H5 c. @$ R3 c$ V/ ^7 MCALL DELAY_500MS   
* V* g! u6 L+ s* G. H    JMP DONE
7 F5 H$ w' [+ c. y" B1 F
: y! _1 p9 y: X& E3 H/ |    HALT
3 Z5 k2 Y; X, n5 U' r0 B% O
, U6 d6 _3 @: l% l下面的图是改的0xC0000004地址数据状况?
: ]4 ?8 A" D7 A. Q: M- x5 A% Y1 q) H[attach]2127[/attach]
* y0 P' m6 E/ H
; p' E+ g6 _$ c/ `1 e9 u! c! C" C8 m3 ]% f

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:18
% p& z) ~6 j7 z5 R: H这里是调试用的,程序放到这个地方,这两条语句需要删除掉
! X9 c: t8 S. a+ f; x& O
非常感谢




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