Other Parts Discussed in Thread: C2000WARE
器件型号: TMS320F28386D-Q1
主题: C2000WARE 中讨论的其他器件
您好!
我正在根据 SDK 使用自己的 IPC 消息队列库(唯一的区别是,为了实现消息队列数据,内核会交换放置的地址并获取缓冲区,这样才更安全)。
然后、当我开始对我的应用程序施加一些压力时、CPU1 开始在一段时间后停止接收中断。 我设法重现错误并读取 CPU1 上的寄存器:

这些寄存器 (IPCSTS.IPC1 = 1、PIEIFR.INTx10 = 0) 指示 CPU1 缺少 Acknolegge 操作、其他配置在正常工作时几乎相同。
我的中断代码:

我每次中断都会确认标志、因此我想知道这个问题是同时设置 SET(在 CM 侧)和 ACK(在 CPU1 侧)寄存器交互的结果吗? 我已经测试过在设置发送消息到队列函数之前清除标志、这非常有效、但在 SDK 的库中、该函数只设置标志。 是否有任何关于这些 Resgisters 行为的文档?
此致、
Ramon。