|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??1 w0 `0 L3 |8 N7 i0 l4 [
DONE:
' h) n# O3 j0 t" E8 A$ f/ S //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
2 ?5 W/ s' d1 n: X( V( S MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
* _" f2 s6 X/ F" @' ]* W SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? & ?7 v* S3 \4 Z; D3 `. t
. Z+ Q+ ]6 h/ z# J: ~1 G/ j
4 I$ Z C- {9 n
1 w9 Z) r6 C+ S8 F$ a MOV32 regVal, 0x0B1 ]0 o% S1 z5 A0 E a* ?
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?, y$ R1 w8 a. Q; t/ A
0 \" G2 Y0 e. Q) t
// Clear the status of the interrupt3 C0 i( @5 b, y, B, s
LDI regVal.w2, 0x0000
. }# I, ~' o3 e) | LDI regVal.w0, SYS_EVT
# x8 b3 U$ _8 C$ s- t4 b SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
* \; K. @7 P0 i9 W
. d! R+ F l3 _( \CALL DELAY_500MS
% ?, C. ?! Z- {) C4 c; q$ D JMP DONE
0 T2 a$ u7 L/ Y5 V
6 Q) W1 U. n0 E6 o: \ _ HALT; r, [6 e* t2 p4 l
7 S' |/ b8 l. {2 M) ]2 F6 D下面的图是改的0xC0000004地址数据状况?; V( T9 W J: L) h7 }4 h
( T* M, V" f& ^3 z; C9 M6 n* p j7 t' v0 r/ z
5 p1 H. n! |9 X/ v6 }. N
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|