|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??% ]- e, K2 ]; g0 n! ?0 `1 u0 x
DONE:
- g& H- Y# S! W* |8 { [, @ //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射, X1 @- Z2 |% ~$ X; B
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
. V; u4 c/ O& G: [+ O! p* K; K SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
7 {8 A5 i0 h4 I* H" Y, o9 ~6 v) f3 e( A4 T6 q8 \
6 h' X% e' A0 ~/ ^/ E" S, o
. T r* }. h$ y$ l. Y0 A
MOV32 regVal, 0x0B" A) q5 z* V4 i6 t
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢? m: Z+ K+ A% b n4 D" {9 H
! r- T$ W8 M" o: _' g3 O- ?* q
// Clear the status of the interrupt
4 }5 N( ] G8 x7 q" i9 S- u2 ~& ? LDI regVal.w2, 0x0000" z! v- c0 \+ H; {
LDI regVal.w0, SYS_EVT
0 m9 t; ~! x7 h# ` SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断- ~" ?3 T: x3 M
* q+ S5 t' q8 N& k: T
CALL DELAY_500MS ( |* S) D* N9 _% ^
JMP DONE
) L" t+ C/ D, H: I, T0 `7 X4 Q& x" Z
HALT
7 i* n* l& S* B3 [
+ K- X1 }- ?% n下面的图是改的0xC0000004地址数据状况?! I3 s& M7 p* d6 S |$ A
( `; Y* u# R9 x" M
8 r& p/ e! s, F. d3 @6 D9 M0 ~* z5 ?: l) Q9 u% p: d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|