嵌入式开发者社区
标题:
创龙PRUtoDSP_Interrupt工程代码的疑问?
[打印本页]
作者:
小石
时间:
2017-3-30 18:34
标题:
创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
+ r% ?$ ^+ K W3 \
DONE:
' `( |* p* \) z. N& Z
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
: [0 K% P8 B- x1 O L' r
MOV32 r31, SYS_EVT
// 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
( U# {+ M. t2 a. i Z6 O$ {( B p# @
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32
为什么要有这一步呢?
/ R5 |7 x, R/ A1 R
6 y& D! r" _0 J* a3 Y1 @& T, r
3 K0 y( v3 }* Q0 N- o
% [9 [. G1 U, X7 s6 X
MOV32 regVal, 0x0B
+ G6 v: e" y0 u- v
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B
为什么要将 0xC0000004 的复制为0x0B呢?
0 z) v8 R/ ?8 d/ Z0 I
9 t; ]4 l' ]8 O+ Z2 u3 |
// Clear the status of the interrupt
* T( }9 H; H% c6 z) L
LDI regVal.w2, 0x0000
* D6 t' q0 I9 C5 e! \! S5 H
LDI regVal.w0, SYS_EVT
+ U2 c! ^! P: A1 W7 A, @( m/ p' b& X
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
1 z4 V/ L, q. d: }* [
3 m H. U0 l! j
CALL DELAY_500MS
. ~ D$ N) u# q$ R) V; P! i
JMP DONE
! C) d) c! b7 j3 }
$ t7 |0 T5 }) j' P
HALT
0 w h* }- d( @$ f
# f9 j! M# M3 S7 Y* w2 ?
下面的图是改的
0xC0000004地址数据状况?
1 d# s9 Y" N5 h# h
[attach]2127[/attach]
4 K, }+ k& b+ @8 b z
8 L8 E* \1 b9 Z2 h2 G. g
: \8 Z, H( ], I! l: M1 ~) V
作者:
Lewis
时间:
2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者:
小石
时间:
2017-3-31 09:30
Lewis 发表于 2017-3-30 23:18
6 i w$ c0 H% \- {; r
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
# E: d' _6 t' W; C7 R) z, V8 f" q
非常感谢
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4