Quality RTOS & Embedded Software

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


Tick Hook & semaphores

Posted by Jerry Durand on November 15, 2012
I often use Tick Hook to operate some low-jitter simple items and items where it's critical I don't miss a tick. Nothing that really would require its own task and priority level.

Anyway, no trouble so far on several projects but I just came up with a need to send a semaphore.

I assume I use xSemaphoreGiveFromISR() but do I need to use portEND_SWITCHING_ISR(xHigherPriorityTaskWoken) since I'm already in the FreeRTOS interrupt?

Will this even work?

RE: Tick Hook & semaphores

Posted by MEdwards on November 15, 2012
Yes you need to use the FromISR() version, and no you don't need to worry about the xHigherPriorityTaskWoken variable because a context switch will happen anyway after the tick hook finishes.

In older FreeRTOS versions you would still have to supply the xHigherPriorityTaskWoken parameter, just don't use it afterwards. In newer FreeRTOS versions you can just pass NULL in place of xHigherPriorityTaskWoken.

RE: Tick Hook & semaphores

Posted by Jerry Durand on November 15, 2012
I'm still running 7.2.0, will update after this project is closed out, but will assume that's good enough to use null.

[ 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