|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??! V) ~' r! _$ e$ E1 g, \
DONE:
( X p9 c y' b. X9 Y //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
+ h W8 a/ F4 k3 ?7 m MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
- }( C1 Y$ g. f i SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ! n& `, f! T$ M0 |' f8 {' h5 v% G
% K: F, V; P6 N6 j
# T" P: V6 T3 T. K5 K
* |/ `4 P% O/ O, E MOV32 regVal, 0x0B/ E& o9 M% P$ D9 h8 x, B* |2 X7 J: M
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?! P$ N( v! f7 l5 o
+ K0 {' w% r) i7 h/ g$ V# Z0 X' `+ z+ C// Clear the status of the interrupt
$ q/ l0 _* `. ~7 X x, z LDI regVal.w2, 0x0000
7 q7 \) x. H4 \ \4 a LDI regVal.w0, SYS_EVT
3 e4 l5 q9 ]8 F SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
) [+ L" \9 u) p) A4 O+ I; N, R/ ]+ L# ~$ l
CALL DELAY_500MS
) [; z0 a# h9 Z5 c" I( |7 B) O JMP DONE$ }) ~% @$ Q2 t' f1 o
8 ]5 k& [6 z" F n
HALT
: y: r! m g; B$ d( l
0 x7 f7 a K7 b0 \9 h# V7 z0 c下面的图是改的0xC0000004地址数据状况?
! a/ `) ^) G7 b0 \# R% T4 b( @8 i% V7 K$ ?$ K
9 |( I. U1 s* k: f. ?; y# |& t/ f6 V
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|