|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
8 p, d- l- D5 @# X3 M# F/ @8 oDONE:
5 x. {& A3 z" Q( t' u; ~$ a/ S //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
4 H+ x! u9 F2 D- R$ `: P* g& U MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件+ Y& r s1 w# Y6 M$ h- A
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? + _6 T: S5 ?- e) L C
1 F6 W" y9 c( O+ R4 I+ q4 s
0 V8 v0 v# g. Q! `& H* p( n" V8 \& o3 s
9 X* j% s1 q9 A. W# ^) I6 S9 l MOV32 regVal, 0x0B
5 x/ v0 {4 T S' X; B& _+ ~; i/ V SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?4 z9 s3 R6 T* g, w6 c
7 ~4 A I! S+ I# ~
// Clear the status of the interrupt" k% m! V7 E% d. \6 l, a% U& o. K0 B
LDI regVal.w2, 0x0000( Z7 N7 ]+ w P6 s1 }, Y4 {
LDI regVal.w0, SYS_EVT3 `& A& @7 M3 V
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断$ h7 J6 h! v+ q# f+ u$ B9 j* y
- x* J" X" q: S( e) M0 e) b- S
CALL DELAY_500MS 4 Y8 i$ }7 n* y' \, X* {
JMP DONE
+ {! f0 f# k) C, W6 L" S
* J" D- ]* X# B1 h7 [# R- T HALT5 R( o* K9 ^4 B; F* ]
% O- M& i1 {2 A* C5 n" S下面的图是改的0xC0000004地址数据状况?
4 l, l$ o- ^7 w6 k+ x1 s+ d( U% @' ~5 F1 w" H: v% O
/ T, A1 @% P0 u7 v
: `# O/ P. C9 ^+ d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|