2013-06-20 21:08:48

中断的配置有两种常用的方式:

一是通过CSL提供的API进行配置,这种方法相对DSP/BIOS偏底层,也比较麻烦;这种方法要求对中断系统的工作方式很清楚。

二是通过DSP/BIOS的图形界面配置,这种方法对于新手来说更加方便,不用写代码,就能完成中断的配置;相对第一种,该方法对开发者的要求较低。

6455的中断是基于事件的,共有128个事件,但CPU可用的中断只有12个,这就有了事件组合(event combination),将128个事件分为4组,减小到四个组合后的事件。

关于如何通过DSP/BIOS配置中断,以及是否使用ECM(event combiner manager),详见TI中的问答贴:

http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/t/11832.aspx

如帖子中所述,当中断数量小于12时,不必要用ECM,当然,也可以通过event combiner进行分组;

当中断数量大于12时,需要通过event combiner将事件分组,从而处理多余12个事件的中断。

下面以配置GPIO4引脚为外部中断为例,分别用上面两种方式配置中断。

(参考:http://blog.csdn.net/gtatcs/article/details/8903509,该博文给出了使用ECM的配置例子,写的很详细)

不用ECM:

首先新建一个DSP/BIOS配置文件,根据工程需要配置CLK、MEM等,此处只说明中断的配置。

step1:

选中HWI-Hardware Interrupt Service Routine Manager,右键properties,弹出如下窗口:

在此处选择外部中断的除法方式是上升沿还是下降沿。

(疑问:6455有16个GPIO,datasheet上说的是都可配置为中断引脚,为何此处只有4、5、6、7引脚的极性设置?是只能配置4个外部中断吗?)

step2:

选中HWI_INT4,设置属性如下:

其中,interrupt selection number设置为55,是因为GPINT4对应的event number为55(event number可在6455的datasheet上找到);function为中断服务程序的名字。

在dispatcher下,使能 "use dispatcher" 选项。关于dispatcher的作用,详见:

step3:

确认HWI-Hardware Interrupt Service Routine Manager下的ECM没有勾选,如下:

至此,中断配置完成。

使用ECM的配置步骤如下:

step1:

选中HWI-Hardware Interrupt Service Routine Manager,右键properties,弹出如下窗口:

在此处选择外部中断的除法方式是上升沿还是下降沿。

(疑问:6455有16个GPIO,datasheet上说的是都可配置为中断引脚,为何此处只有4、5、6、7引脚的极性设置?是只能配置4个外部中断吗?)

step2:

选中HWI_INT4,设置属性如下:

其中,interrupt selection number设置为1,是因为GPINT4对应的event number为55(event number可在6455的datasheet上找到),而event32-63对应的EVT1;这时"function"中会自动生成"_ECM_dispatch"。点“确定”退出属性设置。

在dispatcher下,使能 "use dispatcher" 选项。关于dispatcher的作用,详见:http://blog.csdn.net/zzsfqiuyigui/article/details/6940795

step3:

选中ECM,在下面选项打钩,使能ECM:

step4:

在EVENT55中点右键,选择"Properties",打开属性框,在"function"中输入"_HEI_int4_isr"."arg"框中输入14(事件号),同时选中"unmask event source“,点确定。

DSP6455 DSP/BIOS中断配置问题(是否需要ECM-事件组合以及实例)的更多相关文章

  1. DSP/BIOS程序启动顺序

    基于TI的DSP芯片的应用程序分为两种:一般应用程序:DSP/BIOS应用程序. 为简化编程,TI提供了一套C的编程接口,它以API和宏的形式封装了TI的所有硬件模块,这套接口统称DSP/BIOS.D ...

  2. DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash

    操作平台和环境 DSP型号:TMS320C6713 仿真器:XDS510PLUS Flash型号:AM29LV800BT或AM29LV800BT都试过(一般接口一样,区别不大) RAM型号:MT48L ...

  3. 基于CCS3.3平台搭建DSP/BIOS系统

    本人由于换工作的原因,由ccs3.1平台下转化为ccs3.3平台.先说说本人感觉的区别,ccs3.1下的CSL库集成到DSP/BIOS内,而3.3的CSL库在DSP/BIOS下就没有体现. 1.二话不 ...

  4. DSP\BIOS调试Heaps are enabled,but not set correctly

    转自:http://blog.sina.com.cn/s/blog_735f291001015t9i.html Heaps are enabled, but the segment for DSP/B ...

  5. BIOS中断大全

    BIOS中断大全 BIOS中断:1.显示服务(Video Service——INT 10H)  00H —设置显示器模式0CH —写图形象素01H —设置光标形状0DH —读图形象素02H —设置光标 ...

  6. 2.2 BIOS中断

    BIOS中断 BIOS中断简介 计算机刚启动时,进入实模式下,此时操作系统跟硬件(例如键盘鼠标显卡等)交互通过BIOS进行的.通过调用中BIOS中断的方式来访问硬件设备. BIOS中断就不详细介绍了. ...

  7. 软盘相关知识和通过BIOS中断访问软盘

    一. 软盘基础知识介绍 (1) 3.5英寸软盘 3.5英寸软盘分为上下两面,每面有80个磁道,每个磁道又分为18个扇区,每个扇区大小为512个字节. 软盘大小计算: 2面 * 80磁道 * 18扇区 ...

  8. BIOS 中断大全

    BIOS中断: 1.显示服务(Video Service--INT 10H) 00H -设置显示器模式0CH -写图形象素  01H -设置光标形状0DH -读图形象素  02H -设置光标位置0EH ...

  9. STM32学习笔记(九) 外部中断,待机模式和事件唤醒

    学会知识只需要不段的积累和提高,但是如何将知识系统的讲解出来就需要深入的认知和系统的了解.外部中断和事件学习难度并不高,不过涉及到STM32的电源控制部分,还是值得认真了解的,在本文中我将以实际代码为 ...

随机推荐

  1. Centos7下安装netstat

    刚安装centos7发想没有查看端口的命令 netstat yum install net-tools

  2. antuomake 生成configure的使用

    configure 作为编译配置脚本,有大量选项可供不同编译需求,这些选项直 接作用到最终生成的Makefile文件 问题:automake默认的gcc编译选项为-Wall -O2 -g,怎么改为我们 ...

  3. IOS离线教程下载与Dash的使用

    都知道,苹果官网的IOS Developer Library是开发者最喜欢用的知识仓库,但由于有时打开它实在太慢了! 但是,我们可以手动下载离线版的!离线的文档,在这里,叫做DocSet,意指文档集合 ...

  4. flex 弹性盒子模型一些案例.html

    Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩. 自适应导航 <ul class="navi ...

  5. Get vertical scrollbar width and example

    $.scrollbarWidth = function () { var parent, child, width; if (width === undefined) { parent = $('&l ...

  6. 基于Golang的游戏服务器框架cellnet开发日记(二)

    看官们肯定还有大部分不是很熟悉Actor模型. 我这里基于Erlang, Skynet等语言和框架库来实战型解释下Actor模型.  Actor概念 Actor模型和OO类似, 都是符合人的思维模式进 ...

  7. Python print语句

    1. 输出字符串 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 ...

  8. vsftpd本地用户登录密码错误

    今天发现自己虚拟机的vsftp使用本地用户名无法登陆,于是重新配置,但配置了很多次都没成功,一直显示 530 Login incorrect. Login failed 尝试了网上很多修改PAM的方案 ...

  9. PyQt4学习记录之事件和信号

    事件是任何 GUI程序中很重要的部分.所有 Python GUI 应用都是事件驱动的.一个应用对其生命期产生的不同的事件类型做出反应.事件是主要由应用的用户产生.但是,也可以通过其他方法产生,比如,网 ...

  10. POJ - 1741 Tree

    DescriptionGive a tree with n vertices,each edge has a length(positive integer less than 1001).Defin ...