|
|
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??1 M, C6 }; P- g) x: ? k
DONE:
+ z0 \; {' U; w //Generate SYS_EVT32 by event out mapping 通过事件输出生成SYS_EVT32映射+ g/ e! e! n" x- V5 z3 O* B& K! {
MOV32 r31, SYS_EVT // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件
n1 ^5 Y; @+ z9 }: c3 `7 U' J SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = regVal // regVal r17 = 32 为什么要有这一步呢? 1 B* g* t% D# Z
?! w8 }; k9 e9 r
2 I1 V8 f/ Y7 ^
& H1 C/ E" {. N* N7 D MOV32 regVal, 0x0B
3 W; B/ {# N. l- K6 j SBCO regVal, CONST_DDR, 0x04, 4 // *(0xC0000000 + 0x04) = 0x0B 为什么要将 0xC0000004 的复制为0x0B呢?1 J4 N+ c( }- [" L
- d3 x0 S; y7 @4 w) @: D
// Clear the status of the interrupt; Z" f ?7 _- J/ M% D
LDI regVal.w2, 0x0000
# j7 b: h' f7 Z% m& p LDI regVal.w0, SYS_EVT" ^ V, X# j; q, Z7 x7 ^5 [' N
SBCO regVal, CONST_PRUSSINTC, 0x24, 4 // *(C0 + 0x24) = SYS_EVT 清除系统中断8 |3 U. U$ f p+ [
" o5 I4 @; W( |+ ~7 B a, V' n# m
CALL DELAY_500MS 3 b2 m, B( ]+ v
JMP DONE# n0 a: C6 U, |- q% B
, v) V( r* G# M6 m, J1 k; w HALT
+ H! m# Z/ I) M* n
& F0 w) n$ z) G/ ~2 C2 i7 b+ t8 K" s; ^0 }下面的图是改的0xC0000004地址数据状况?
) Z$ i$ ]+ y9 i, b+ N8 W* o/ k8 e. U% k" }
* R- t7 l9 L9 K0 e R
/ i& R6 X7 g! k* I |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|