打印

关于DSP中断

[复制链接]
4905|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Alex_lyf|  楼主 | 2010-1-21 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚开始学DSP,想编一个定时器中断,对CCS环境不熟悉,以前在用单片机的时候写中断程序需要先设置中断向量表,写中断服务程序等东西,不知道在CCS下这些步骤是怎么完成的啊?要用到哪些CCS的关键字呢?

相关帖子

沙发
Alex_lyf|  楼主 | 2010-1-21 21:17 | 只看该作者
最好能给出程序讲解,呵呵

使用特权

评论回复
板凳
xsthand| | 2010-1-25 16:42 | 只看该作者
dsp程序一般分为三个部分:功能实现主程序当然也包含中断服务程序,中断向量表,cmd文件。中断向量表,和cmd文件一般都比较固定稍加修改就可以用。下面是中断向量表文件:
.sect ".vectors" ;开始命名段.vecotrs
.global CodeStart ;引用程序入口的全局符号定义
;。。。引用其它中断程序入口的全局符号定义
.align 0x80 ; 中断向量表必须对齐128字的页边界
RESET: B CodeStart ; Reset中断向量,跳转到程序入口
NOP ;用NOP填充表中其余空字
NOP ;B指令占了两个字,所以要填两个NOP
NMI: RETE ;不可屏蔽中断
NOP
NOP
NOP
; 软件中断
SINT17 .space 4*16 ;软件中断使用较少,简单起见用0填充
SINT18 .space 4*16
SINT19 .space 4*16
SINT20 .space 4*16
SINT21 .space 4*16
SINT22 .space 4*16
SINT23 .space 4*16
SINT24 .space 4*16
SINT25 .space 4*16
SINT26 .space 4*16
SINT27 .space 4*16
SINT28 .space 4*16
SINT29 .space 4*16
SINT30 .space 4*16
INT0: RETE ;外部中断INT0
NOP
NOP
NOP
INT1: RETE ;外部中断INT1
NOP
NOP
NOP
INT2: RETE ;外部中断INT2
NOP
NOP
NOP
TINT: RETE ;Timer0中断
NOP
NOP
NOP
BRINT0: RETE ;McBSP #0 接收中断
NOP
NOP
NOP
BXINT0: RETE ;McBSP #0 发送中断
NOP
NOP
NOP
DMAC0: RETE ;无定义(默认)DMA0中断
NOP
NOP
NOP
TINT1: RETE ;Timer1中断(默认)或DMA1中断.
NOP
NOP
NOP
INT3: RETE ;外部中断3
NOP
NOP
NOP
HPINT: RETE ;HPI中断
NOP
NOP
NOP
BRINT1: RETE ;McBSP #1接收中断(默认)或DMA2中断
NOP
NOP
NOP
BXINT1: RETE ;McBSP #1发送中断(默认)或DMA3中断
NOP
NOP
NOP
DMAC4: RETE ;DMA4中断
NOP
NOP
NOP
DMAC5: RETE ;DMA5中断
.end
想用哪个中断在相应的位置填上一条跳转指令就可以了例如你想用定时器中断把上面文件出的
TINT1: RETE ;Timer1中断(默认)或DMA1中断.
NOP
NOP
NOP
改为

TINT1: B TINT1_ISR ;Timer0中断
NOP
NOP
相当于加了一条跳转指令到你的中断服务程序
这里的中断服务程序应该是TINT1_ISR
不同的片子中断个数稍有差别不过都我说的这是c54x的片子

使用特权

评论回复
地板
xsthand| | 2010-1-25 16:46 | 只看该作者
你要是有兴趣,给个邮箱我可以给你发些入门的初级资料。

使用特权

评论回复
5
Alex_lyf|  楼主 | 2010-2-25 23:38 | 只看该作者
呵呵,好啊。非常感谢,我的邮箱是lyf198511@163.com

使用特权

评论回复
6
狼主2012| | 2013-3-7 21:34 | 只看该作者
657612838@qq.com,非常感谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

55

帖子

0

粉丝