Quality RTOS & Embedded Software

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




Loading

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

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.

d.


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




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

Latest News

FreeRTOS kernel V10 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