您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 中断优先级选择的问题
本帖共有554个阅读者
发表帖子 发表投票 回复主题
中断优先级选择的问题
木杉是彬彬(论坛新手)
木杉是彬彬
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:227
积分:21
注册时间:2015/9/15
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
中断优先级选择的问题
关于中断优先级选择的一个疑问,发现手册中每种中断都会对应一个中断优先级,如下图

上传的图片
  20161221611054.jpg [ 122.25 KB 711×868 ] (缩略时请点击查看原图)

 

DMA12应该对应IVG8,可是我们的开发板例程中都没有按照这种对应关系配置中断优先级,
而实际使用过程中不按照这种对应关系配置优先级对中断结果好像没什么影响是吗?
既然没什么影响,为什么还要有这种对应关系存在?
我们是可以按照自己的程序设计随意配置中断优先级吗?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2016/1/22 16:04:52
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
每个模块都有一个默认的中断优先级,这个优先级是可以通过配置寄存器所改变的。例如:
*pSIC_IAR0 = 0xffffffff;
*pSIC_IAR1 = 0xffffffff;
*pSIC_IAR2 = 0xffff5fff;

register_handler(ik_ivg12, FlagA_ISR);
*pSIC_IMASK = 0x00080000;

上面是533上的IO中断,IO中断位于*pSIC_IAR2寄存器的bit12~bit15位,这里我设置的值为5,5对应的中断优先级为IVG12,所以在注册中断时,将IVG12注册到里面,如:register_handler(ik_ivg12, FlagA_ISR)
若我想注册为ik_ivg11,则需配置为*pSIC_IAR2 = 0xffff4fff;


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2016/2/24 23:03:52
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159212 Call, 1 Queries, Processed in 0.017578 second(s),