嵌入式开发者社区

标题: 创龙PRUtoDSP_Interrupt工程代码的疑问? [打印本页]

作者: 小石    时间: 2017-3-30 18:34
标题: 创龙PRUtoDSP_Interrupt工程代码的疑问?
请教下 创龙 PRUtoDSP_Interrupt工程当中,PRU代码部分的作用??  S$ q% B" ?& T
DONE:
. I6 _4 P7 Z  Y! M    //Generate SYS_EVT32 by event out mapping  通过事件输出生成SYS_EVT32映射
0 v: V- k% L- o    MOV32     r31, SYS_EVT                              // 这里写R31寄存器(R31=32),将产生中断输出事件到中断控制器的32号系统事件) f% u6 M) W' L
    SBCO      regVal, CONST_DDR, 0x04, 4     //  *(0xC0000000 + 0x04) = regVal    // regVal r17 = 32  为什么要有这一步呢?
' |0 E2 \+ F' O5 f
, F! l3 s) q1 d; ?" s& G* t  m
- {: \8 `0 Y, }2 O# U
$ G5 W  s/ ]6 u6 ^4 G7 O% V. u    MOV32     regVal, 0x0B9 B# `* v0 r" M  F) e
    SBCO      regVal, CONST_DDR, 0x04, 4    //  *(0xC0000000 + 0x04) = 0x0B     为什么要将 0xC0000004 的复制为0x0B呢?7 K  x9 z% G; p) Q; ~
- k# o- T: b4 H) O( m  G% s
// Clear the status of the interrupt
- [: z  q3 d6 F6 x1 |    LDI        regVal.w2,        0x0000
) d- |2 V5 v: x6 p% M  i. k% d) f    LDI        regVal.w0,        SYS_EVT
- C# E: }9 P& y% J3 d! F4 z2 c+ m    SBCO        regVal,        CONST_PRUSSINTC,        0x24,        4   // *(C0 + 0x24) = SYS_EVT   清除系统中断* ?% X* P8 L' |' T5 j0 w
6 s4 I! R8 A; p! l5 Y) B4 f( o
CALL DELAY_500MS    $ q- y) T$ {) W* p+ Q7 h! A4 K
    JMP DONE
. v3 C9 [* m  d! Q
$ ]/ Z9 d. S9 G! L% K- {" R. H1 T    HALT) j! B/ w. d/ p! A0 j7 d* `( i( q+ V9 V

) \, D3 h+ Q  [) k1 E下面的图是改的0xC0000004地址数据状况?1 S  w$ f8 F( l: {& F5 q
[attach]2127[/attach]
$ ]( i* S- T1 s* Q9 z7 a* ?  B+ j, N
* T( U' ^3 X  \2 v; H# K

作者: Lewis    时间: 2017-3-30 23:18
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
作者: 小石    时间: 2017-3-31 09:30
Lewis 发表于 2017-3-30 23:18( K7 ~/ N( U) n. @; W& r# x. }- z- V8 T
这里是调试用的,程序放到这个地方,这两条语句需要删除掉
3 h- ~" n  D" s- l* M7 g
非常感谢




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4