在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1589|回复: 0

[原创] 求助 : DM648中斷服務副程式(ISR)的配置??

[复制链接]
发表于 2010-10-13 10:20:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cjsb37 于 2013-4-29 09:25 编辑

hi 大家好
我是是剛使用TI DM648的新人,想請教各位前輩關於ISR配置的問題。
用DM648 EVM Board開發關於Video In/Out 的Project。
以Video Port 3 作為Input, 然後偵測Video Capture complete與EDMA3 Trasfer complete。
目前用Polling的方式偵測中斷的產生,但想用ISR取代之。
先說明Polling Reister中斷,且已經能成功偵測。
1. Polling CCMPA bit of VPIS for Video Capture complete.
2. Polling TTC bit of IPR/IPRH for EDMA3 Trasfer complete.
接著想以ISR取代之,但一直無法成功,請問是哪邊出了問題??
以下是我ISR的配置流程(pseudo code)。
1. 首先配置中斷向量表文件。(如下圖所示)
2. 接著中斷分配。
INTMUX2 |= 40; //VP3 interrupt assing to  int 8
3. 配置IVT Pointer(ISTP)至vectors。
ISTP = &(vectors);
4. Enable VP3
VPCaptEnable();
最後一直無法進入c_int08 ISR中.........
*------------------------------------------------------------------------------
* Global symbols defined here and exported out of this file
*------------------------------------------------------------------------------
   .global _vectors
   .global _c_int00
   .global _vector1
   .global _vector2
   .global _vector3
   .global _vector4
   .global _vector5
   .global _vector6
   .global _vector7
   .global _c_int08  ; Hookup the c_int08 ISR in main()
   .global _vector9   
   .global _vector10
   .global _vector11   
   .global _vector12  
   .global _vector13   
   .global _vector14   
   .global _vector15   
*------------------------------------------------------------------------------
* Global symbols referenced in this file but defined somewhere else.
* Remember that your interrupt service routines need to be referenced here.
*------------------------------------------------------------------------------
   .ref _c_int00
*------------------------------------------------------------------------------
* This is a macro that instantiates one entry in the interrupt service table.
*------------------------------------------------------------------------------
VEC_ENTRY .macro addr
    STW   B0,*--B15
    MVKL  addr,B0
    MVKH  addr,B0
    B     B0
    LDW   *B15++,B0
    NOP   2
    NOP   
    NOP   
   .endm

*------------------------------------------------------------------------------
* This is a dummy interrupt service routine used to initialize the IST.
*------------------------------------------------------------------------------
_vec_dummy:
  B    B3
  NOP  5
*------------------------------------------------------------------------------
* This is the actual interrupt service table (IST). It is properly aligned and
* is located in the subsection .text:vecs. This means if you don't explicitly
* specify this section in your linker command file, it will default and link
* into the .text section. Remember to set the ISTP register to point to this
* table.
*------------------------------------------------------------------------------
.sect ".text:vecs"
.align 1024
_vectors:
_vector0:   VEC_ENTRY _c_int00    ;RESET
_vector1:   VEC_ENTRY _vec_dummy  ;NMI
_vector2:   VEC_ENTRY _vec_dummy  ;RSVD
_vector3:   VEC_ENTRY _vec_dummy
_vector4:   VEC_ENTRY _vec_dummy
_vector5:   VEC_ENTRY _vec_dummy
_vector6:   VEC_ENTRY _vec_dummy
_vector7:   VEC_ENTRY _vec_dummy
_vector8:   VEC_ENTRY _c_int08    ; Hookup the c_int08 ISR in main()
_vector9:   VEC_ENTRY _vec_dummy
_vector10:  VEC_ENTRY _vec_dummy
_vector11:  VEC_ENTRY _vec_dummy
_vector12:  VEC_ENTRY _vec_dummy
_vector13:  VEC_ENTRY _vec_dummy
_vector14:  VEC_ENTRY _vec_dummy
_vector15:  VEC_ENTRY _vec_dummy
*-------------------------------------------------------------------------






您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 00:50 , Processed in 0.013880 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表