1484|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

c64x+ DSP/BIOS硬件中断的配置 [复制链接]

     64+的中断系统和以往的不同,中断是基于事件的。整个硬件CPU接收15个中断,实际用户可用12个可屏蔽中断,但系统可以支持最多128个中断源。64+将中断源视为事件"Event",128个事件可以分别通过配置连接到12个可屏蔽中断。而128个事件每连续32个可以合并到四个固定的事件中,即Event0(对应事件号0-31)、Event1(对应事件号32-63)、Event2(对应事件号64-95)、Event3(对应事件号96-127)(实际最大有效中断源为124个)。这样可以通过数量有限的CPU中断来管理大量的中断源,使用灵活。下图是系统事件映射图:
中断控制器通过上述这些事件向C64x+ CPU输出如下信号:
1.一个可屏蔽,硬件异常(EXCEP)
2.12个可屏蔽硬件中断(INT4到INT15)
3.一个可用于中断或才异常的不可屏蔽中断(NMI)
4.一个复位中断(RESET)
中断控制器包括以下几个模块,用于将事件路由到中断或者异常:
1.中断选择器:将系统事件路由到12个可屏蔽中断中
2.事件组合器:将大量的事件减小到四个组合后的事件。
3.异常组合器:系统所有事件异常组合成一个CPU的异常输入
以下是中断控制器的框图:
'
在DSP/BIOS下进行基于事件的中断配置如下(假设我们要配置的是idma1传输完成中断, idma1的完成中断事件号是14,将其路由到INT4):
1.首先,在dsp/bios图形配置文件中选择HWI-Hardware Interrupt Service Routine Manager,选择HWI_INT4,右键它,点“Properties”,打开属性编辑框。
2.其次,在"Genral"选项中的“interrupt selection number ”中输入0,(因为idma1事件号是14,属于Event0),点击“应用”,这时"function"中会自动生成"_ECM_dispatch"。点“确定”退出属性设置。
3.选择“ECM-Event Combiner Manager”,点右键“Properties”,选择属性框中"Enable event combiner manager"中的复选框
4.在源文件中编写idma1中断服务程序,isr_idma1(),
5在EVENT14中点右键,选择"Properties",打开属性框,在"function"中输入"_isr_idma1"."arg"框中输入14(事件号),同时选中"unmask event source“,点确定
6.设置完毕,运行程序,当idma1传输完成即可执行isr_idma1函数

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表