Quality RTOS & Embedded Software

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


fast interrupt (FIQ) for the scheduler

Posted by Dave S on December 29, 2008
Is it possible to use a FIQ instead of the VIC as the interrupt source for the timer interrupt to improve efficiency of the scheduler? This is for the STR9.

RE: fast interrupt (FIQ) for the scheduler

Posted by dave m on December 29, 2008
It's certainly possible, but I don't think it'll improve efficiency much. IIUC, the difference between IRQ and FIQ is mainly that your first ISR instruction gets executed a few cycles sooner, and you have more FIQ-only registers, so you might not have to save/restore the regs of the interrupted task. However, if the timer interrupt causes a task switch, you _will_ have to save/restore all the registers. Also, there's nothing time-critical that has to happen as soon as possible after the timer interrupt. The next tick isn't going to occur for a long time (at least a millisecond, if you're running at the scheduler at 1kHz) and the amount of work that has to happen to schedule the next task is the same, whether it starts 6 cycles after the tick or 20.

All using FIQ for the timer interrupt does, I think, is eliminate FIQ as a possible solution for some application that really needs the "Fast" in FIQ.


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

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

Latest News

FreeRTOS v10.2.1 is available for immediate download. MIT licensed, includes 64-bit RISC-V, NXP Cortex-M33 demo, Nuvoton Cortex-M23 demo & STM32H745 dual core (AMP) demo.

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

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

Cadence Tensilica Cortes

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