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. 关于notify() 和notifyAll() 一个需要注意的地方

    notify() 和 notifyAll()都是唤醒其他正在等待同一个对象锁的线程. 下面是我遇到的一个问题,记下来,免得忘了. 直接上代码,有错误的代码: 代码描述:有一个Caculate类,类中又 ...

  2. 使用ViewPager和FragmentPagerAdapter实现Tab

    前面我们分别利用ViewPager和Fragment实现了Tab效果.但是使用Fragment实现的Tab不能够左右滑动.如果我们既想使用Fragment又想让Tab能够滑动,那么怎么办呢?这 就是今 ...

  3. swift的动态库

    共享可执行文件 iOS 有沙箱机制,不能跨App间共享共态库,但Apple开放了App Extension,可以在App和Extension间共间动态库(这也许是Apple开放动态链接库的唯一原因了) ...

  4. functions and closures are reference types-函数和闭包是引用类型

    Closures Are Reference Types In the example above, incrementBySeven and incrementByTen are constants ...

  5. web.xml中Listener的作用

    Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应 ...

  6. Selenium基础知识(元素定位的调试)

    对一个不能直接定位的元素来说,调试是很常见的事,所以这里也简单总结了一下. 调试定位元素的工具很多,介绍也多,就不一一介绍了.下次有时间再补充.以下是我常用调试的方法(浏览器自带的控制台调试,仅介绍一 ...

  7. Many-to-many relationships in EF Core 2.0 – Part 1: The basics

    转载这个系列的文章,主要是因为EF Core 2.0在映射数据库的多对多关系时,并不像老的EntityFramework那样有原生的方法进行支持,希望微软在以后EF Core的版本中加入原生支持多对多 ...

  8. Hbuilder连接安卓模拟器,调试app

    本人用的是夜神模拟器,所以下面的命令也是基于夜神的,其他模拟器请自行百度. 1.首先,启动HBuilder和夜神模拟器 然后打开cmd命令提示符 cd进入夜神模拟器bin目录 执行以下命令 nox_a ...

  9. OC - 时间日期类NSDate

    OC - 时间日期类NSDate //NSDate 时间日期类 NSDate 二进制数据流 { //1.获取当前时间 零时区的时间 //显示的是格林尼治的时间: 年-月-日 时:分:秒:+时区 NSD ...

  10. 用java集合模拟登录和注册功能

    package com.linkage.login; import java.util.HashMap;import java.util.Iterator;import java.util.Map;i ...