FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [December 2008 Threads] fast interrupt (FIQ) for the schedulerPosted 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 schedulerPosted 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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|