zoukankan      html  css  js  c++  java
  • DSP6455 DSP/BIOS中断配置问题(是否需要ECM-事件组合以及实例)

    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“,点确定。

  • 相关阅读:
    10 个深恶痛绝的 Java 异常。。
    为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
    推荐一款代码神器,代码量至少省一半!
    Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
    hdu 3853 LOOPS(概率 dp 期望)
    hdu 5245 Joyful(期望的计算,好题)
    hdu 4336 Card Collector(期望 dp 状态压缩)
    hdu 4405 Aeroplane chess(概率+dp)
    hdu 5036 Explosion(概率期望+bitset)
    hdu 5033 Building (单调栈 或 暴力枚举 )
  • 原文地址:https://www.cnblogs.com/youngforever/p/3147142.html
Copyright © 2011-2022 走看看