Thread 中讨论的其他器件:AM69
工具/软件:
您好:
AM69的 GPIO 中断的 SMP_Affinity 设置是否有任何状态? 我需要对 AM62使用相同的功能。
谢谢、
Victor
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好:
AM69的 GPIO 中断的 SMP_Affinity 设置是否有任何状态? 我需要对 AM62使用相同的功能。
谢谢、
Victor
您好:
我们的系统有两个高优先级 GPIO 触发中断。
一个中断以2KHz 运行、处理该中断平均需要250到300个用例。 这不会留下太多时间来处理其他中断或线程。 会看到延迟/抖动。
如果不使用 DMA、则另一个中断以8kHz 的频率运行。 它使用 OSPI 总线从 ASIC 读入数据。 在测试模式下、当另一个中断不起作用时、由于其他中断仍在内核0上运行、我仍然连续一段时间看到数据损坏。 如果2KHz 中断正在运行、则此8kHz 中断将不起作用。 我正在尝试获得这个8kHz 中断以使用 DMA。 这将使中断速率降至1KHz。 但到目前为止,我得到了损坏的数据。
我必须将这两个中断都移动到内核1、一个移动到内核2、这一点很重要。 这两个内核都只有 Linux 系统中断。
将非 GPIO 中断从内核0移动到其他内核不会解决问题、因为我的两个中断无法一起共享内核0。
谢谢、
Victor
我对8kHz 中断做了更多的工作、似乎我可能会在使其正常运行方面遇到问题。 这个8kHz 中断在 QSPI 模式下使用 OSPI 从我们的 ASIC 读取数据。 这不适用于内核0。 如果我可以将其移至另一个核心、则可能有效。 但这样做将需要在 QSPI 上等待数据传输的27 μ s 时间、这是一个巨大的资源浪费。
我还尝试使用 DMA 拉入数据。 但 DMA 没有循环模式。 似乎每次以8kHz 的频率启动 DMA 都会导致数据损坏。
如果我可以将其移至唤醒 R5、因为它仍然可用、我会这样做。 但我需要一个 GPIO 触发中断、唤醒 R5似乎没有此类功能。 至于 MCU R5、它已完全用于以200Hz 的频率处理数据、并且每个中断只有40usec 的空闲时间窗口、没有足够的时间处理8kHz 中断。