Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Call xTaskGetTickCount from ISR freezes STM32

Posted by Todd on March 15, 2009
I am using STM32 w/ FreeRTOS 5.1.2
When I call xTaskGetTickCount() from an ISR (specifically EXTI0), the application freezes up.

The solution was to remove the taskENTER_CRITICAL(); and taskEXIT_CRITICAL(); calls from the xTaskGetTickCount() function, these are not needed on 32-bit anyway.

My suggestion for future versions is a #IF to remove these calls on 32-bit architectures.


RE: Call xTaskGetTickCount from ISR freezes S

Posted by Richard on March 16, 2009
See number 3 on the following page: http://www.freertos.org/FAQHelp.html

Version 5.2.0 has removed critical sections from a few places where they were not necessary, however the type used to hold the tick count is configurable so the critical section remains there.

It might be better to have a "get tick count from isr" function, or to just make the tick count accessible.


RE: Call xTaskGetTickCount from ISR freezes S

Posted by Todd on March 17, 2009
I agree that a "get tick count from isr" function would be beneficial. As an example, my application uses a hall sensor that measures RPM of a motor. Every rotation of the shaft generates a interrupt which measures the time since the last interrupt. I could imagine a few other situations were the "get tick from isr" would be helpful.

Hopefully this can be implemented in a future version.


RE: Call xTaskGetTickCount from ISR freezes STM32

Posted by Samuel Tardieu on March 19, 2009
Todd: in your case, I think you should use another timer in counter mode, maybe automatically triggered by the interrupt from the hall sensor.

The system tick will typically have a quite low frequency (1ms), while you could easily get much more accurate information.

[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers


STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner