1. DSP5509有32个中断,中断分为软件中断和硬件中断,同时软件中断不可以屏蔽。软件中断由指令触发。55x在中断时DSP会自动保存ST0_55、ST1_55、ST2_55三个寄存器。

2. 其中中断最关键的,但是用户也不必关心的是,进入中断之前,需要把关键寄存器的值都入栈,就是把当前寄存器的值保存起来(在栈里面备份),因为进入中断可能需要改变这些寄存器的值,然后退出中断,再把栈里面的备份值重新写到关键寄存器,叫做恢复现场。

3. 看下工程,首先写一个中断ISR服务函数,5509A有5个外部中断,INT0-INT4,本次使用INT2

void interrupt XINT()
{
nCount++; nCount%=;
if ( nCount== )
PCR1^=;
}

4. 中断配置初始化函数

void INTR_init( void )
{
IVPD=0x80;
IVPH=0x80;
IER0=;
DBIER0=;
IFR0=0xffff;
asm(" BCLR INTM");
}

5. 相关的asm文件,主要是用来配置中断向量表

ISR序号 硬件中断优先级 中断名称 24位中断向量地址低八位 中断子程序功能
0 0(最高) RESET 0H 复位(硬件或软件)
1 1 NMI 8H 外部不可屏蔽中断
2 2 INT0 10H 外部硬件中断0
3 5 INT2 18H 外部硬件中断2
4 6 INT0 20H 定时器0中断
5 7 RINT0 28H McBSP0接收中断
6 9 RINT1 30H McBSP1接收中断
7 10 XINT1 38H McBSP1发送中断
8 11 --- 40H 软件中断8
9 13 DMAC1 48H DMA通道1中断
10 14 DSPINT 50H 主机中断
11 15 INT3 58H 外部硬件中断3
12 17 RINT2 60H McBSP2接收中断
13 18 XINT2 68H McBSP2发送中断
14 21 DMAC4 70H DMA通道4中断
15 22 DMAC5 78H DMA通道5中断
16 4 INT1 80H 外部硬件中断1
17 8 XINT0 88H McBSP0发送中断
18 12 DMAC0 90H DMA通道0中断
19 16 INT4 98H 外部硬件中断4或RTC中断
20 19 DMAC2 A0H DMA通道2中断
21 20 DMAC3 A8H DMA通道3中断
22 23 TINT1 B0H 定时器1中断
23 24 I2C B8H I2C总线中断
24 2 BERR C0H 总线出错中断
25 25 DLOG C8H 数据记录中断
26 26(最低) RTOS D0H 实时操作系统中断
27 27 --- D8H 软件中断27
28 28 --- E0H 软件中断28
29 29 --- E8H 软件中断29
30 30 --- F0H 软件中断30
31 31 --- F8H 软件中断31
        .sect ".vectors"

        .ref _c_int00           ; C entry point
.ref _XINT .if (.MNEMONIC) rsv: ; reset vector
B _c_int00 ; branch to C entry point
NOP
.align
nmi:
.loop
nop
.endloop
int0:
.loop
nop
.endloop
int2:
b _XINT
nop
.align

dsp5509的中断系统的更多相关文章

  1. 【原创】MIPS中断系统的板级验证及实例测试

    “五一”假期前后这约五天时间,终于将MIPS中断系统进行了板级验证及实例测试.因为老师给的交叉编译工具不会用,所以测试代码完全用MIPS汇编编写.使用MARS而没有用QtSpim,其实我觉得SPIM这 ...

  2. 【原创】MIPS浅议之——中断系统之我见

    最近,准确的说应该是最近两个月的时间,我都在研究MIPS的异常与中断.或者可以说,最近这两个月,我才真正了解中断系统的整个结构和处理流程以及为什么要这样做?这段时间我最大的体会就是以前我们在“计算机组 ...

  3. STM32F072B-DISCO 深入研究 中断系统

    STM32F072B-DISCO 是我认为性价比最高的一款CPU的demo系统,以前一直在用PIC的CPU但最近几年ST异军突起,几次课题查找芯片无一例外都是ST,像USB,CAN,ZIGBEE等,S ...

  4. TMS320F28335项目开发记录9_28335中断系统

    28335中断系统 1.中断系统 在这里我们要十分清楚DSP的中断系统. C28XX一共同拥有16个中断源,当中有2个不可屏蔽的中断RESET和NMI.定时器1和定时器2分别使用中断13和14.这样还 ...

  5. STM8的中断系统以及外部中断详解

    STM8具有最多32的中断系统,在中断的处理上类似于cortexm系列的芯片,首先是每个中断的向量都是固化在系统内部的,用户需要向相应的中断向量flash位置写入中断处理函数,其二,每个中断向量都具有 ...

  6. 【CC2530入门教程-03】CC2530的中断系统及外部中断应用

    第3课  CC2530的中断系统及外部中断应用 广东职业技术学院  欧浩源 一.中断相关的基础概念  内核与外设之间的主要交互方式有两种:轮询和中断. 轮询的方式貌似公平,但实际工作效率很低,且不能及 ...

  7. ARM-Linux中断系统

    1.前言 了解Linux中断子系统,同时也需要了解ARM体系结构中断处理流程:在熟悉整个软硬件架构和流程基础上,才能对流程进行细化,然后找出问题的瓶颈.<2. 梳理中断处理子系统> 但是所 ...

  8. C51单片机_day_01(定时器和中断系统)

                c51单片机 51单片机是控制电路系统的开关,当然芯片就是51芯片,现在随着科技的发展,也是出了很多,功能更多,更全的芯片. 51是用c语言做为程序编程的语言 ——我对基本基础 ...

  9. Linux中断(interrupt)子系统之一:中断系统基本原理【转】

    转自:http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于AR ...

随机推荐

  1. 10.spring:常用的数据库代码.....(不长使用了解即可)

    测试代码: ApplicationContext ctx = new ClassPathXmlApplicationContext("JDBC.xml"); DataSource ...

  2. 转发forward和重定向redirect的区别

    本质区别:转发只发送一次请求,重定向发送两次请求. 转发: request.getRequestDispatcher("/HiServlet").forward(request,r ...

  3. redis make报错

    解压redis后,第一次make出现报错: [root@localhost redis-3.2.5]# make cd src && make allmake[1]: Entering ...

  4. git提交项目

    https://www.cnblogs.com/java-maowei/p/5950930.html

  5. java连接数据库增删改查公共方法

    package dao; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connecti ...

  6. 【洛谷P2123】皇后游戏

    题目链接 这题的 实际上和"流水调度问题"是一样的 (我是不会告诉你我是看了讨论才知道的) 于是我就翻开了我们教练弄来的一本蓝不拉几的叫做"信息学奥赛一本通·提高篇&qu ...

  7. win8安装wampserver报403错误解决方法

    看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...

  8. ffmpeg 从mp4上提取H264的nalu

    转自http://blog.csdn.net/gavinr/article/details/7183499 1.获取数据 ffmpeg读取mp4中的H264数据,并不能直接得到NALU,文件中也没有储 ...

  9. Java日期类题目

    每类题都有各种各样解决的方式,大家随意发散 分析以下需求,并用代码实现 1.已知日期字符串:"2015-10-20",将该日期字符串转换为日期对象 2.将(1)中的日期对象转换为日 ...

  10. GoBelieve,IMSDK android版开发环境问题

    GoBelieve,IMSDK android版开发环境问题 --- Mac下,android Studio 需要java1.7配置问题 On a mac, check your java versi ...