|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??0 J4 g/ T" X- E& T9 e
DONE:7 m; X/ @6 V% @7 w
//Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射! [% Q4 G9 Q! \# h p8 B& k4 s( X
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件% _% x- { G. A u$ @) o8 C- ~# W2 l
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ! U. x3 a% S1 C
, [. F P8 P. T2 ]1 h( o8 f/ Y
3 E6 v. g+ j! U9 J1 W" S' Z
8 G' o* t, ?* n- H5 q MOV32 regVal, 0x0B- [/ f/ V7 B. M7 w
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?+ B* J9 x `8 ?- k
8 s& c4 X( `0 r. ?5 M2 N3 z% N
// Clear the status of the interrupt( l. d3 W8 ~& p4 R0 h' y2 h
LDI regVal.w2, 0x0000
' h; f% E* s; t) A. Q LDI regVal.w0, SYS_EVT
- e# K6 }; y# }" v0 M9 M, H, w SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断6 {6 k, o) k7 @2 G3 n2 G
' R1 D5 T$ d w
CALL DELAY_500MS : |1 m4 y ?$ T
JMP DONE
! N4 v- A( Q* G1 x6 {: A. D: ?0 V% [' x7 ]5 p+ I( ]
HALT9 f3 s" N+ ]7 s& q$ x7 q& ^" L
2 ~% E4 b% }. [0 W' W+ Y' q
下面的图是改的0xC0000004地址数据状况?: ^& d6 P- ~9 {7 u+ {/ u
2 T$ v: {( o8 ~: n& |. u2 H' G
4 `6 q. [: a4 |( [" @2 s1 i
1 U' ~# M( q, Q* Y |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|