收藏 分享(赏)

csl配置中断和hwi配置中断介绍-论坛.ppt

上传人:无敌 文档编号:1366080 上传时间:2018-07-04 格式:PPT 页数:50 大小:4.41MB
下载 相关 举报
csl配置中断和hwi配置中断介绍-论坛.ppt_第1页
第1页 / 共50页
csl配置中断和hwi配置中断介绍-论坛.ppt_第2页
第2页 / 共50页
csl配置中断和hwi配置中断介绍-论坛.ppt_第3页
第3页 / 共50页
csl配置中断和hwi配置中断介绍-论坛.ppt_第4页
第4页 / 共50页
csl配置中断和hwi配置中断介绍-论坛.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

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

3、处理流程图,这类中断由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的中断处理流程图,IFR置1

4、后还需要完成的工作(这点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的中断处理流程图, Host Interr

6、upt有哪些?经过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,则n=0, Host Inte

7、rrupt为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 CIC的配置(EDMA例子)2

8、.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.1 INTC的配置-绑定外部中断向

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

10、NTC的初始化,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_CPINTC_mapSystemIntrToCh

11、annel(): 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 system.,2.2 CIC的配置-中断

12、处理函数,关闭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 Timer的INTC配置-新建SYS/BIOS类型的工

13、程,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.2 EDMA的INTC和CIC配置-INTC的配

14、置,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 Keystone Devices-TI wikihttp:

15、/ TMS320TCI6616 Communications Infrastructure KeyStone SoC-SPRS624D3 TMS320C66x DSP CPU and Instruction Set Reference Guide- SPRUGH74 TMS320C66x DSP CorePac User Guide- SPRUGW0B5 KeyStone Architecture Chip Interrupt Controller (CIC) User Guide- SPRUGW4A,4.2 参考程序,1 Timer:C:tipdk_C6678_1_0_0_20packagesticslexampletimertimer_test.c2 EDMA:http:/ 工程说明,以上测试需要在core0上操作,END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报