- 16
- 0
- 约1.82千字
- 约 2页
- 2017-05-14 发布于天津
- 举报
我想用6678片上自带的串口对core3产生串口中断,但是看.doc
我想用6678片上自带的串口对core3产生串口中断,但是看芯片手册,串口中断事件属于CIC0和CIC1的Event Input(如下图1所示),这样就不能直接通过INTC来映射。看了CIC和INTC的芯片资料后,我是这么理解的:
串口中断属于外设产生的中断,外设产生的中断需要通过CIC模块映射到channel map,而channel map与host interrupt map一一对应,而host interrupt可以映射到INTC模块128个system event的某些事件上,比如事件21~31(如图2所示),62~63(如图3所示),92~95(如图4所示),102~109(如图5所示),比如UTXEVT事件号是150,我要把它映射到core3的int6,那么我只能选择图3所示的事件63,CIC0_OUT(3+8*n)=CIC0_OUT(27),其中n为3,对应core3,也就是说host interrupt的号为27,剩下的问题就是要在CIC中把事件150与host interrupt 27联系起来,下面是我写的代码:
//首先是CIC0相关寄存器的宏定义
#define DEVICE_CIC0_BASE 0#define CIC0_REG_GBLENHINT 0x010
#define CIC0_REG_STATSETINDEX 0x020
#
原创力文档

文档评论(0)