2440 中断优先级问题(作者gooogleman@foxmail.com)

来源:互联网 发布:sql数据字典表下载 编辑:程序博客网 时间:2024/05/07 20:28

2440 中断优先级问题(作者gooogleman@foxmail.com)

//-----------------------------------------------------------------------------------------------------------

// 日期:2009年3月23日 10:49:43

// 作者:gooogleman@foxmail.com

// 版权:gooogleman@foxmail.com

// 平台:wince5.0 2440 5.0 BSP

// 最后修改:2009年3月23日 11:21:12

//-----------------------------------------------------------------------------------------------------------

     折腾2440半年多来,没有看到代码有中断优先级的痕迹,我真不信2440有这么差劲,连优先级寄存器也没有?!后来在2440的数据手册上看到了答案,感觉2440在中断优先级配置方面还是比较精妙的。

     现在就来学习一下吧。

      2440数据手册382页有。

 

 

     从这个图可以看出,2440中断是以群组的形式存在的,再往下看看是怎么回事。

 

 

     从2440文档可以看出,每个仲裁都可以通过一位的仲裁控制器 (ARB_MODE)和两位的选择控制器 (ARB_SEL)来控制六个中断申请。但是注意的是无论ARB_MODE和ARB_SEL如何配置,REQ0永远是最高优先级,REQ5永远是最低优先级。

     2440可以通过ARB_MODE来选择中断优先级是手动旋转还是自动旋转,默认是自动旋转的;ARB_SEL用来设置具体中断的优先级。关于中断优先级寄存器在2440收据手册的390页有详细说明,再次不再赘述。

     我看了一下2440的BSP,没有出现中断优先级设置的代码,我想这样就是默认中断优先级自动旋转吧,哈哈,虽然这些知识粗浅,但是有必要掌握的。

转载请标明:作者gooogleman@foxmail.com,我在CSDN的博客:http://blog.csdn.net/gooogleman——如有错误,希望能够留言指出;如果你有更加好的方法,也请在博客后面留言,我会感激你的批评和分享。