|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??! X' r9 B5 h. Y6 K% o: B6 |8 c
DONE:
1 v/ C* z) ~+ z! Y* J& ~6 a //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射
; z2 k+ H* m* D$ {, h/ H% { MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件& ~3 O( z) w7 M* a4 z- |9 T3 U
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? ! L7 Z) S+ ~0 W' R: ]3 E$ F
! Z9 X) O7 f2 ~9 N! U5 Q5 [# U7 W& E2 n( p* `: {
4 W( m! Q/ k6 @- S MOV32 regVal, 0x0B; R& F) C/ a. \2 i
SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?1 G z3 P' c7 p# ?; M8 o& C: R, U
6 o I/ H& B7 M8 Z! s$ u( p5 N
// Clear the status of the interrupt3 h4 S8 C+ }8 f
LDI regVal.w2, 0x0000
5 n: u. s# p1 V- l LDI regVal.w0, SYS_EVT! G5 _- t6 o% v
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断/ \' H+ [ r/ e$ l1 a! p5 u
' @$ W- ~' V J1 {& B* ?( vCALL DELAY_500MS
4 D' G( ^* B( y& Y JMP DONE
; t0 `% }: V5 c3 ^, y7 [2 v0 { [9 l
' }7 S6 ~9 _! r1 U; w& T HALT" ^2 M5 w/ ^6 a: Z" d/ c
- M; n, K6 O# V2 D% H) @$ |5 y2 D4 b下面的图是改的0xC0000004地址数据状况?6 ~5 u; B' o* i3 u
- h9 r* c5 t. ?7 _! B3 S& i1 C, A5 T% o8 j) n g7 t
; M. W% U* f$ t |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|