TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678 IPC中断清除问题

有个问题想请教下TI的专家:

                用的C6678的片子,公司自己投的板

                CCS,用的是6.0.1   Processor SDK版本是

                我用的架构是主从架构,主核为核0 ,从核为核1  处理机制如下:

                主核检测到  IPCGR[1]为0时就向从核1的IPCGR[1]写入0x10, 且IPCG置1,产生IPC中断。

                 从核 核1 中断服务程序执行完毕退出前,读IPCGR[1]的值并将该值写给IPCAR[1],从而清除中断。

以此来达到持续触发-持续流水处理的目的

但是再调试过程中遇到了一个问题,第一轮触发-处理-执行完毕,第二轮的中断触发发出,从核处理也结束了,但程序停在了这一步,没有下一轮

仿真器查看核1发现第二轮触发-处理完成后,在服务程序里从核执行了写IPCAR[1]的操作,但IPCGR[1]并没有清除为0,仍保持0x10,流程卡死。

ps:

1.KICK的操作是没问题的,每次都是先解锁再操作之后再锁上的。

2.工程中无其他中断配置。

3.把中断服务程序里具体的处理函数换一个更耗时的处理函数(比如2 s),       主核 中断触发   从核清除中断正常

4.把中断服务程序里具体的处理函数直接屏蔽掉(服务程序不执行实际功能,空跑), 主核 中断触发   从核清除中断正常

请问下,有什么原因会导致这种IPC中断无法正常 清除的问题

pic.rar

         

Thomas Yang1:

请问您里面的中断处理函数是实现什么功能呢?和IPC 有没有资源冲突的地方。另外有没有可能退出前从核清了后,主核对IPCGR又置位了呢?感觉和系统设计的TIMING有关系

赞(0)
未经允许不得转载:TI中文支持网 » C6678 IPC中断清除问题
分享到: 更多 (0)