Quality RTOS & Embedded Software

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


Runtime stats with 16bit timer

Posted by Alex P. on March 13, 2011
Hello all,

I'm currently running FreeRTOS on a STM32. I'm having a problem regarding the run time stats. The timers on this micro controller are all 16 bit and this is causing the run time results to be completely wrong.

Is there an option to specify that the timer is coded in 16bits?


RE: Runtime stats with 16bit timer

Posted by Richard on March 13, 2011
Yes - the most common way is to configure the 16 bit timer to generate an interrupt each time it overflows (or reaches its maximum count if an overflow interrupt is not available), then have the interrupt handler simply count the number of overflows.

You than have two 16 bit numbers, one is the current timer counter value, and the other the number of overflows. You can generate a 32 bit number from the two by having the count of overflows being the two highest bytes in the 32 bit number, and the current counter value as the two lowest bytes. This also has a really low interrupt processing overhead.

Actual code examples are provided in both the PIC32 and RX600 editions of the FreeRTOS tutorial book.


RE: Runtime stats with 16bit timer

Posted by Alex P. on March 14, 2011
That was going to be plan B. Thanks for the prompt reply. It working correctly now.


[ 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.

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