|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
. {. `+ V; ~$ u% c8 Y. n y4 kDONE:: P6 h/ L' v; a& p% j: E
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射4 u) {& [6 _" \3 W5 @6 i# `
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件, B! [. x4 n- Q1 S0 ?4 k4 F
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
4 I( R& I$ r( y6 ]3 h, p( r" t" O, M8 h" q
0 \% c( y0 y% s/ Q' c; D4 Z$ d6 ?4 F$ }% F0 n$ h) a8 B
MOV32 regVal, 0x0B. r4 x1 w! K3 G& s5 n
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
' i. c, h5 J5 P* u" |
" J. c1 |! y1 ~) U* f; z9 P! K// Clear the status of the interrupt% B1 _- l3 x4 q u1 Z9 B7 G1 S
LDI regVal.w2, 0x0000
% M# C9 o B" t: h LDI regVal.w0, SYS_EVT
% ?' r% t$ b+ @# v5 Q& J$ g SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
" o. {. H. M f4 ]$ }$ R0 L$ }/ u5 i4 Z/ `5 W* s5 M4 c% x
CALL DELAY_500MS
9 Y' o8 u/ j9 h0 V JMP DONE+ E9 p _" t% o! ^
0 e! g% g C8 `; U) T: |2 \
HALT) X2 f6 V3 E+ S9 T6 J5 d. j
- z4 m( W, X4 W9 c4 G
下面的图是改的0xC0000004地址数据状况?/ o+ L4 R, @" Q# E
/ f+ x& l9 A+ c6 R7 t" `
' Q* I5 y' h% c; X/ f" Y
9 a+ x: t5 V- h3 k# U/ p |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|