Quality RTOS & Embedded Software

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


Loading

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.


Todd

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.

Regards.

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.

Todd

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 ]    [ Sitemap ]    [ ]




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

Latest News

FreeRTOS kernel V10.0.1 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

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