我正在尝试优化和了解器件上的中断延迟、并尝试清除一些问题。 首先、根据这一点:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka16366.html
中断延迟似乎可以低至12个时钟周期(至少对于基本参考设计而言)、加上另外17个时钟周期(FPU 可能)。 我可以说、这取决于实现。
我的测量结果似乎表明此器件的12+17周期延迟(时钟频率为120MHz 时为~242ns)。 我在 PWM 中断中使用 PWM 上升沿到 GPIO 切换、以大致测量该延迟。
此外、driverlib 中的 FPU 函数说明似乎表明中断延迟可能会因使用不同的设置(FPUStackingDisable、FPULazyStackingEnable、FPUStackingEnable 等)而异。 但是、我正在更改这些内容、并且没有发现任何差异。 此外、每当我设置 FPUDisable()时、我最终会遇到 Hwi_excel 处理程序、即使我还告诉编译器停止使用 HW FPU 指令(--float_support=none)。
我的问题:
1) 1)此器件是否需要12+17数字?
2) 2)为什么在启用或禁用 FPU 配置时发现中断延迟没有影响它的差异?
3) 3)禁用 FPU 会将12+17完全降至仅12、还是绝对最小值可用?
4) 4)禁用 FPU 的正确过程是什么? 它似乎默认为 Enabled 且禁用 FPUStacking (至少在我的基于 TI RTOS 的项目中)
谢谢!