|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
& k+ b$ U- y3 d. v0 E7 e mDONE:4 O" _7 @# G3 L
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
3 F8 [4 ^* n( j: `* m5 a' B: L6 d MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
+ F( ^6 T4 ~9 V/ H9 |8 M SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? 1 t9 Y4 f+ s. Z
/ X+ N W6 I" e7 z3 O# N `7 d, Z$ R$ @) }7 Y
4 P6 E7 o/ X: ]4 g0 e MOV32 regVal, 0x0B5 V2 G9 p4 W" t8 J. V' F
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?9 R5 V+ B# B) s" k$ k% v) n+ _# Y
+ f, H: Z1 q0 ?3 Z+ g+ `
// Clear the status of the interrupt% j: }, `5 Z9 C
LDI regVal.w2, 0x00005 I& G6 W; |+ o) {% o
LDI regVal.w0, SYS_EVT% P6 p' R$ B& y* N& k. D" F
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断 ]$ {; u6 P* K; {2 c( F5 s4 z' M
. R6 W }4 A, X5 S
CALL DELAY_500MS ; _% u7 U, m' o' z
JMP DONE+ y; _( {+ l0 a: S" a
( N8 M& [+ ^, v+ f" i/ d HALT; {: D; V1 {( s% v, G7 q+ I5 `
, v! S* v" B( s. l, d2 H8 h下面的图是改的0xC0000004地址数据状况?& N* S# {# u, i, k3 O% i( G# L
* ]' o1 f3 ~ O% ^$ A4 H8 ^/ H- f( T) E6 \- q. E
$ P- K, y6 G' y, v3 [5 H+ K7 x
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|