DSP_28335的中断PIE系统的个人理解
来源:互联网 发布:mysql no字段 编辑:程序博客网 时间:2024/05/16 12:30
DSP_TMS320F28335学习了很长时间,也用了很多次。每次用完过了一段时间就忘了,每次都有重复看,后来发现看完写点东西可以加深记忆,以及后续忘了之后再看。
DSP的中断系统是编程时最常用的,初学以及学完忘了之后,再回去看,往往很难理解。个人觉的主要从其结构理解会更容易一些。
1.总体结构
首先DSP28335支持1个不屏蔽中断(NMI)和16个具有优先级的可屏蔽中断。什么叫做不可屏蔽中断NMI呢?主要是指不需要通过IFR、IER、INTM来控制,只要满足中断条件需要就可以向CPU发送中断请求,其中断级别很高为3(复位为1,EMUINT-在线仿真为2);也就是说只要在正常情况下只要有满足中断条件,CPU就会保存当前的工作,率先来执行中断。当然这个中断是怎么实现的呢?主要是通过控制外部引脚,即通过外部引脚中断选择寄存器GIPOXNMISEL(详细见GPIO章节),来选择需要的引脚;注意这里还需要外部NMI中断控制寄存器XNMICR。具体怎样配置参考TI官方手册 http://www.ti.com.cn/cn/lit/ug/sprufb0d/sprufb0d.pdf。
16具有中断优先级的中断为(INT1——INT14,RTOSINT、DLONGINT)后面两个一般不用。其中定时器0可以选择INT1-INT12,但是PIE中断向量表选择在中断向量表第1组(即TIN0)。定时器1可以和其他类型的可以使用INT13,定时器2一般为DSP/BIOS保留使用中断INT14。也可以这么说定时器0,和1一般为用户使用,定时器2如果不被实时DSP/BIOS使用,可以被用户使用。还有它们对应的中断接口也不一样,需要注意注意一下。
在这14个中断接口中,又拿出12个中断接口为DSP的外设和外部中断使用(即INT1-INT12)组成了PIE中断扩展,中断扩展主要用来解决CPU没有空闲来解决所有中断的问题,所有采用了一个中断管理器PIE来管理这些中断。为了解决DSP28335太多的外设和外部中断XINT,又把每个中断接口分为INTx1——INTx8。这样就完成了12个中断扩展到96个中断的问题,当然这96个中断没有全被使用,有些是用户定义。具体结构如下图所示。
2.PIE中断结构
PIE中断实现过程主要分为以下几部分:
- DSP_28335的中断PIE系统的个人理解
- 对51单片机中断系统的理解
- 理解被中断的系统调用
- 个人对“进程上下文”和“中断上下文”的理解
- 关于SOC系统的个人理解
- 淘宝反作弊系统的个人理解
- android系统架构的个人理解
- 个人学习笔记---软中断(下半部)和软件中断(系统调用)的区别
- 关于中断的理解
- 对中断的理解
- 中断的理解
- 共享中断的理解
- 嵌入式中断的理解
- 对中断的理解
- 对于中断的理解
- 中断系统的基本知识
- 复杂的中断系统
- 中断系统的初始化
- stm32之外部中断EXTI
- 核函数介绍
- Flex地址栏获取参数
- 分文件
- 旱冰场造价
- DSP_28335的中断PIE系统的个人理解
- vim安装vim-airline插件
- RSA算法作业
- this application requires.net framework4.0,please install the.net framework then run this installer
- poj1442 最小路径覆盖
- nil NSNull NULL,用着。。。
- asp.net/c# 注册页实现激活邮箱验证
- 构建erlang的app
- 对于标量