CSL配置中断和HWI配置中断介绍_论坛

上传人:飞*** 文档编号:53464672 上传时间:2018-09-01 格式:PPT 页数:50 大小:4.19MB
返回 下载 相关 举报
CSL配置中断和HWI配置中断介绍_论坛_第1页
第1页 / 共50页
CSL配置中断和HWI配置中断介绍_论坛_第2页
第2页 / 共50页
CSL配置中断和HWI配置中断介绍_论坛_第3页
第3页 / 共50页
CSL配置中断和HWI配置中断介绍_论坛_第4页
第4页 / 共50页
CSL配置中断和HWI配置中断介绍_论坛_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《CSL配置中断和HWI配置中断介绍_论坛》由会员分享,可在线阅读,更多相关《CSL配置中断和HWI配置中断介绍_论坛(50页珍藏版)》请在金锄头文库上搜索。

1、CSL配置中断和HWI配置中断介绍,Xue Zhengliang 2013-05,内容介绍,1. 中断 CSL配置中断 HWI配置中断 小结,1,中断,1.1 中断处理的流程图 1.2 中断的一些术语,1.1 中断处理的流程图-中断拓扑结构图,6616为例: 截图来自6616的Data Manual SPRS624D,中断类型2: 经过CIC后,再进入core的中断,例如106 core-only Secondary Events,中断类型1: 不经过CIC,直接进入core的中断,例如92 Primary Events,中断类型1较中断类型2简单,哪些中断属于中断类型1,哪些属于中断类型2?

2、,1.1 中断处理的流程图-不经过CIC,直接进入core的中断,以core0为例: 进入core0的中断一共有5路:8+8+92+18+2=128(128个中断见Table 7-38 6616 Data Manual SPRS624D). 这128个中断有个术语描述:System Event 128个中断里与CIC有关的是第2路(8 Broadcast Events from CIC0)和第4路(18 Secondary Events) ,其余的中断都是不经过CIC,直接进入core的中断,1.1 中断处理的流程图- 经过CIC后,再进入core的中断,1.1 中断处理的流程图-不经过CIC

3、,直接进入core的中断处理流程图,这类中断由interrupt controller(INTC)来处理,当外部中断的数目大于12的时候,才需要用到Event combiner。,interrupt selector用来绑定system event EVTx和外部中断号INTy,1.1 中断处理的流程图-不经过CIC,直接进入core的中断处理流程图,1.1 中断处理的流程图-不经过CIC,直接进入core的中断处理流程图,1.1 中断处理的流程图-不经过CIC,直接进入core的中断处理流程图,这类中断是在corepac内部消化的,1.1 中断处理的流程图-不经过CIC,直接进入core的中

4、断处理流程图,IFR置1后还需要完成的工作(这点66x与64x+是一样的): IER(相应位置1,并且保证NMIE位置1) GIE置1 Vector Table:中断向量表,跳转到相应的中断处理函数ISR,1.1 中断处理的流程图-不经过CIC,直接进入core的中断处理流程图,要保证进入中断处理函数,要进行如下配置: IER寄存器中相应位需要置1,并保证NIME位置1 保证CSR寄存器中的GIE位置1 选择一个外部中断向量INTy 定义中断处理函数ISR,并且与相应的外部中断向量INTy进行绑定,这一步相当于配置Vector Table,1.1 中断处理的流程图-经过CIC后,再进入core

5、的中断处理流程图,几个概念: CIC or CpIntc System Interrupt Host Interrupt, CIC:Chip level Interrupt Controller(也称作CpIntc) System Interrupt:CIC的输入 Host Interrupt:CIC的输出,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图, System Interrupt有哪些? 以6616的CIC0为例,详见Table 7-39 6616 Data Manual SPRS624D,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图

6、, Host Interrupt有哪些?经过CIC后,再进入core的中断,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图, channel mapping,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图,通过一个例子了解该类型中断的配置: 使用EDMA3 CC1,假设EDMA的中断选择的是EDMA3CC1 GINT,通过Table 7-39,得到System Interrupt为6。 Host Interrupt可以有多种选择,假设选择的Host Interrupt为Table 7-38中的CIC0_OUT(8+16*n)。如果是core0,则

7、n=0, Host Interrupt为8。 Event ID是伴随着CIC0_OUT(8+16*n)而确定的。 CPU Interrupt Vector是自定义的,假设这里选择的是4,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图,与不经过CIC,直接进入core的中断相比,这类中断需要增加CIC的输入和输出进行一系列的配置。,1.1 中断处理的流程图-经过CIC后,再进入core的中断处理流程图,与不经过CIC,直接进入core的中断相比,后续处理部分是相同的。,1.2 中断的一些术语,2,CSL配置中断,2.1 INTC的配置(Timer,EDMA例子) 2.2

8、CIC的配置(EDMA例子) 2.3 Timer+EDMA CSL配置的例子,2.1 INTC的配置-INTC初始化,该例使用Timer5的高位,intc_init()函数跟外设无关 CSL_intcInit(): This is the initialization function for the INTC.This function initializes the CSL data structures, and doesnt affect the H/W. CSL_intcGlobalNmiEnable() :NMIE置1 CSL_intcGlobalEnable() :GIE置1,2

9、.1 INTC的配置-绑定外部中断向量和中断处理函数,该例使用Timer5的高位,选择外部中断向量为CSL_INTC_VECTID_13,system event ID 查Data manual Table 7-38得到CSL_GEM_TINT5H CSL_intcOpen ():绑定中断向量 CSL_intcPlugEventHandler () :绑定中断处理函数 CSL_intcHwControl() :IER中的相应位置1,2.1 INTC的配置-中断处理函数, CSL_intcEventClear():EVTCLR寄存器相应位清0,2.2 CIC的配置-INTC配置,这部分跟Time

10、r例子的中断处理类似 具体有CSL INTC的初始化,NMIE置1,GIE置1,绑定外部中断向量,绑定中断处理函数以及IER相应位置1,2.2 CIC的配置-CIC相关寄存器的配置,2.2 CIC的配置-CSL函数的分析, CSL_CPINTC_open():opens the CPINTC instance and returns a handle used in all subsequent calls CSL_CPINTC_disableAllHostInterrupt():disables all the Host Interrupts in the system. CSL_CPINT

11、C_mapSystemIntrToChannel(): used to map a system interrupt to a specific channel. CSL_CPINTC_enableSysInterrupt(): enables the system interrupt in the CIC. CSL_CPINTC_enableHostInterrupt() enables the host interrupt in CIC CSL_CPINTC_enableAllHostInterrupt() enables all the Host Interrupts in the sy

12、stem.,2.2 CIC的配置-中断处理函数,关闭Host Interrupt 清System Interrupt 使能Host Interrupt,2.3 Timer+EDMA CSL配置的例子-中断配置,intc_config()需要配置EDMA和Timer,这块不知道如何写 cp_intc_config()需要配置EDMA,不需要配置Timer,2.3 Timer+EDMA CSL配置的例子-期望得到的结果,该例子期望得到3.3类似的输出结果,3,HWI配置中断,3.1 Timer的INTC配置 3.2 EDMA的INTC和CIC配置 3.3 Timer+EDMA的配置,3.1 Tim

13、er的INTC配置-新建SYS/BIOS类型的工程,3.1 Timer的INTC配置-cfg文件新增内容,需要使用的模块:,新建一个task,名称为Timer_Hwi_Task:,main函数执行BIOS_start()后,会调用Timer_Hwi_Task,3.1 Timer的INTC配置-引入SYS/BIOS需要包含的头文件,3.1 Timer的INTC配置-任务Timer_Hwi_Task,NMIE和GIE由SYS/BIOS置1,3.1 Timer的INTC配置-Hwi方式与CSL方式的比较,3.2 EDMA的INTC和CIC配置-SYS/BIOS工程,cfg文件:,main.c:,3.

14、2 EDMA的INTC和CIC配置-INTC的配置,3.2 EDMA的INTC和CIC配置-CIC的配置,3.2 EDMA的INTC和CIC配置-CIC的配置比较,3.2 EDMA的INTC和CIC配置-中断处理函数,3.3 Timer+EDMA的配置-EDMA部分,3.3 Timer+EDMA的配置-Timer部分,3.3 Timer+EDMA的配置-中断处理函数,中断处理函数与3.1,3.2部分的相同,3.3 Timer+EDMA的配置-输出结果,4,小结,4.1 参考文献 4.2 参考程序 4.3 工程说明,4.1 参考文献,1 configuring Interrupts on Key

15、stone Devices-TI wiki http:/ TMS320TCI6616 Communications Infrastructure KeyStone SoC-SPRS624D 3 TMS320C66x DSP CPU and Instruction Set Reference Guide- SPRUGH7 4 TMS320C66x DSP CorePac User Guide- SPRUGW0B 5 KeyStone Architecture Chip Interrupt Controller (CIC) User Guide- SPRUGW4A,4.2 参考程序,1 Timer: C:tipdk_C6678_1_0_0_20packagesticslexampletimer timer_test.c2 EDMA: http:/ 工程说明,以上测试需要在core0上操作,END,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 励志书籍/材料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号