AnsweredAssumed Answered

STM32F0 Interrupt Latency and operating time of the interrupt

Question asked by Dandula on Jun 21, 2016
Latest reply on Jun 28, 2016 by waclawek.jan
Hello!

There MK STM32F0. It works at a frequency of 48 MHz. Background program is an empty infinite loop. In front of the signal on the output MCU configured external interrupt. The interrupt handler only operation with I/O ports and logical operations.
All used pins are configured to operating at maximum speed. According to the article "A Beginner's Guide on Interrupt Latency - and Interrupt Latency of the ARM® Cortex®-M processors" Interrupt Latency for core Cortex-M0 is 16 machine cycles. The first command after entering the handler, I read one of the I/O port, and then other pin is set to high level. The time between the leading edge of the external signal that caused the external interrupt, and a high level of this pin is 800 ns. Why is so much time and how to reduce it?
The same article refers to the jitter time of reaction, but it is unclear what factors he can depend on?
The interrupt handler time was 1.5 microseconds, which is also surprisingly high. Also I will be glad to advice how to reduce it.

Used Keil 5.17. I tried different levels to optimize the compiled code optimization on time / code size. Do not give positive results. Placing an interrupt handler in RAM is possible to reduce the operating time of 0.2 microseconds, but did not affect the Interrupt Latency.

Outcomes