|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??, F1 o* ~0 @; [" a
DONE:* E6 K$ W3 D4 ]0 f
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
! _& x6 s0 b+ z3 M' e) W MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件! Z r, P- ]9 F( \+ T2 ~6 L
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? # ?0 B; ~+ I! c1 l- E) I+ K4 s
' T' k; z+ `6 U5 ^: v6 Y0 h+ t1 E# J- \8 [3 U. T2 H( _/ w( h. M
. e" ^6 B$ g; x% c1 p% B g MOV32 regVal, 0x0B3 l# l+ N4 ?( u* Q
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?+ J7 d) J% v+ Q. N7 m2 C; r" c, k* J3 Q/ q
; M# A9 Y0 |) J, u9 C2 ?* e8 L0 F// Clear the status of the interrupt
4 y/ y% R5 W9 ?! Q9 q LDI regVal.w2, 0x0000, L: X- t3 C8 Y- ]
LDI regVal.w0, SYS_EVT
$ B$ \3 r, @1 x8 t SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断* y" O0 e* R% _
5 z3 @! ?2 k% {% S _
CALL DELAY_500MS 4 {2 f" ^+ n% x
JMP DONE
" ]0 B, J' _% p E2 ~- ~; l: J# C" H
HALT$ k# `3 A/ {$ B2 z) e4 `- p! U
& K8 u2 R/ T) D( ?% X. \% d2 C9 A
下面的图是改的0xC0000004地址数据状况?
, u" f) r% c3 p, ]: {* B
% D- A* `6 W! b7 z5 g
" w5 x4 Q0 S7 U7 a( p# I0 S+ t0 D! b. d" z, |9 ?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|