[DSP编程] 关于中断问题

[复制链接]
 楼主| ttxs_2013 发表于 2013-12-11 10:19 | 显示全部楼层 |阅读模式
不同的中断,是不是都对应有各自的中断向量表?不同中断之间,中断向量表是否具有可移植性比如通用定时器中断是否可以移植到看门狗定时器中断?
zhangmangui 发表于 2013-12-11 23:49 | 显示全部楼层
每个中断都有自己的向量表   在CMD分配的时候也会分配相应的存储区
不同的中断的入口地址是不一样   其实只需要指定入口地址就行了
zhangmangui 发表于 2013-12-11 23:49 | 显示全部楼层
顺便分享

实现DSP中断需要做哪些通用工作
设置允许哪些非屏蔽中断
设置各个允许的非屏蔽中断的中断来源
设置开启总中断
设计中断向量表
将中断向量表通过cmd文件挂载到指令内存
提供中断处理函数
如果中断向量表首地址挂载的不是地址,那么需要设置中断向量表地址寄存器

对于不同的中断源,需要做各个自己的工作,比如如果是外部中断,那么需要设置管脚极性,即由高->低产生中断抑或反之。
为了照顾知识较少的读者,下面将从一个新工程出发,引导大家建立一个中断示例程序。
如果您对建立工程很熟悉,可以跳过此步。
 楼主| ttxs_2013 发表于 2013-12-12 22:06 | 显示全部楼层
zhangmangui 发表于 2013-12-11 23:49
每个中断都有自己的向量表   在CMD分配的时候也会分配相应的存储区
不同的中断的入口地址是不一样   其实只 ...

嗯,其实我在移植的时候已经发现了这个问题:  报错提示中断向量表空间分配大小不允许   只是想确认下自己的这个思路可不可行。。
 楼主| ttxs_2013 发表于 2013-12-12 22:22 | 显示全部楼层
zhangmangui 发表于 2013-12-11 23:49
顺便分享

实现DSP中断需要做哪些通用工作

既然是中断,中断的一般流程肯定是要满足的,所以我在移植的时候,还是按照通用定时器的代码来,就像楼主说的,不同的中断源,中断类型码肯定不一样,进而中断向量地址也不一样,而在做看门狗定时器中断时,我是感觉 以下的两条代码应该要修改

/*打开定时器0,设置其为上电的的默认值,并返回其句柄*/
mhTimer0 = TIMER_open(TIMER_DEV0, TIMER_OPEN_RESET
       
/*获取中断类型码 */
eventId0 = TIMER_getEventId(mhTimer0);

但是翻了数据手册,也没有查到,如果是看门狗中断的话,这条代码对应的csl函数应该是什么,该如何改?

不知道版主有没有明白我的意思,还希望指出问题所在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

125

帖子

4

粉丝
快速回复 返回顶部 返回列表