|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??
! F; g8 A z9 IDONE:
. y6 ^: |/ n, G% V //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
% f' x; n2 P* s- ^ MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
$ _" n+ n. x4 |4 Z7 j SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢?
. a t% P. q; \ S2 S. I1 J& i# _
8 `9 e- g- `: ^8 Q; y% P
1 }- |9 k0 W! G- P3 A5 @7 v. ? MOV32 regVal, 0x0B5 y2 J2 d+ R% v6 B
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?
3 {- a! \/ \3 k8 A7 {
5 X' H; H" j5 a; j8 Y$ z( q// Clear the status of the interrupt
# f" N# B* ]4 c4 U4 K* I& ] LDI regVal.w2, 0x0000- z( j/ S: H' S
LDI regVal.w0, SYS_EVT, D! k! `; Z0 f5 e- Q6 `- C
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断
7 p" E' r7 \4 M' v' c+ K8 H% z7 \# [) U* s- }7 `% H W
CALL DELAY_500MS 1 G, s3 a! N" D6 [
JMP DONE; a2 G/ _+ |' [+ g3 k: O8 h2 C
3 {1 r* _8 g# b5 J; z HALT* d/ i* |. F; }# R
, L' Z$ e h& [- X1 x2 G下面的图是改的0xC0000004地址数据状况?! T5 }6 U& S9 G6 a
! H# D; _, |$ X
$ z$ T) j X+ c U7 h
% C& B1 L$ Y1 m! e5 C) e) Y% G |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|