dsp5509的中断系统
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的中断系统的更多相关文章
- 【原创】MIPS中断系统的板级验证及实例测试
“五一”假期前后这约五天时间,终于将MIPS中断系统进行了板级验证及实例测试.因为老师给的交叉编译工具不会用,所以测试代码完全用MIPS汇编编写.使用MARS而没有用QtSpim,其实我觉得SPIM这 ...
- 【原创】MIPS浅议之——中断系统之我见
最近,准确的说应该是最近两个月的时间,我都在研究MIPS的异常与中断.或者可以说,最近这两个月,我才真正了解中断系统的整个结构和处理流程以及为什么要这样做?这段时间我最大的体会就是以前我们在“计算机组 ...
- STM32F072B-DISCO 深入研究 中断系统
STM32F072B-DISCO 是我认为性价比最高的一款CPU的demo系统,以前一直在用PIC的CPU但最近几年ST异军突起,几次课题查找芯片无一例外都是ST,像USB,CAN,ZIGBEE等,S ...
- TMS320F28335项目开发记录9_28335中断系统
28335中断系统 1.中断系统 在这里我们要十分清楚DSP的中断系统. C28XX一共同拥有16个中断源,当中有2个不可屏蔽的中断RESET和NMI.定时器1和定时器2分别使用中断13和14.这样还 ...
- STM8的中断系统以及外部中断详解
STM8具有最多32的中断系统,在中断的处理上类似于cortexm系列的芯片,首先是每个中断的向量都是固化在系统内部的,用户需要向相应的中断向量flash位置写入中断处理函数,其二,每个中断向量都具有 ...
- 【CC2530入门教程-03】CC2530的中断系统及外部中断应用
第3课 CC2530的中断系统及外部中断应用 广东职业技术学院 欧浩源 一.中断相关的基础概念 内核与外设之间的主要交互方式有两种:轮询和中断. 轮询的方式貌似公平,但实际工作效率很低,且不能及 ...
- ARM-Linux中断系统
1.前言 了解Linux中断子系统,同时也需要了解ARM体系结构中断处理流程:在熟悉整个软硬件架构和流程基础上,才能对流程进行细化,然后找出问题的瓶颈.<2. 梳理中断处理子系统> 但是所 ...
- C51单片机_day_01(定时器和中断系统)
c51单片机 51单片机是控制电路系统的开关,当然芯片就是51芯片,现在随着科技的发展,也是出了很多,功能更多,更全的芯片. 51是用c语言做为程序编程的语言 ——我对基本基础 ...
- Linux中断(interrupt)子系统之一:中断系统基本原理【转】
转自:http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于AR ...
随机推荐
- Codeforces Round #430 (Div. 2) 【A、B、C、D题】
[感谢牛老板对D题的指点OTZ] codeforces 842 A. Kirill And The Game[暴力] 给定a的范围[l,r],b的范围[x,y],问是否存在a/b等于k.直接暴力判断即 ...
- MQ7.5以后的权限问题解决
MQ7.5以后权限是个问题,目前我也没有什么特别好的解决办法,把认证通道关闭就可以正常使用. 下面是IBM 官方的解释,可惜我没调通,望高人指点! 疑问 您使用MQ 7.1或者7.5创建了一个新的队列 ...
- Perl 修改文件内容
把test.txt文件中的字符aaa替换成bbb perl -pi -e "s/aaa/bbb/gi" test.txt 把test.txt文件中的字符aaa替换成bbb,并生成一 ...
- PHP读取文件内容的五种方式(转载)
php读取文件内容的五种方式 分享下php读取文件内容的五种方法:好吧,写完后发现文件全部没有关闭.实际应用当中,请注意关闭 fclose($fp); php读取文件内容: -----第一种方法--- ...
- Kali-linux测试网络范围
测试网络范围内的IP地址或域名也是渗透测试的一个重要部分.通过测试网络范围内的IP地址或域名,确定是否有人入侵自己的网络中并损害系统.不少单位选择仅对局部IP基础架构进行渗透测试,但从现在的安全形势来 ...
- Maven的一些基本命令
mvn -v 查看maven版本 compile 编译 test 测试 package 打包 clean 删除target install 安装jar包到项目 使用 archetype 创建目录文件 ...
- idea教程视频以及常用插件整理
最近在同事的强烈安利下把eclipse换成idea了,本以为需要经历一个艰难的过渡期,谁知道不到3天就深感回不去了. 哎,只能说有时候人的惰性是多么可怕! idea实在是太太太强大了. 不要再问原因. ...
- Linux下shellcode的编写
Linux下shellcode的编写 来源 https://xz.aliyun.com/t/2052 EdvisonV / 2018-02-14 22:00:42 / 浏览数 6638 技术文章 技 ...
- 【题解】洛谷P1032 [NOIP2002TG]字串变换(BFS+字符串)
洛谷P1032:https://www.luogu.org/problemnew/show/P1032 思路 初看题目觉得挺简单的一道题 但是仔细想了一下发现实现代码挺麻烦的 而且2002年的毒瘤输入 ...
- nodejs 做的带管理后台的东东,主要学习到 ....我忘了学到什么了
效果 http://www.steel-pot.com/ function handleStr(str,isHtml,callback) { if(!isHtml) { callback(str); ...