Quality RTOS & Embedded Software

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


Delayed FreeRTOS failure

Posted by Tamir Michael on August 24, 2012

I have a LPC2478 running 14 FreeRTOS tasks without issues.
However, once I add one task (the 15th) the scheduler starts up, and them, during context switch the second context switch, the most innocent looking instruction (NOP...) will branch the processor to some address. If I disable a background interrupt (1000 Hz) that has a higher priority than the kernel and runs while the scheduler starts up the system will start up normally. If I enable that interrupt source but empty the ISR the systems starts up correctly. If I insert a slight delay (30 NOPs) into the ISR - the system will fail with 15 tasks! I don't see how an empty ISR can corrupt the kernel, unless there is some kind of timing issue at hand.
I have enough heap and stack, and I'm out of ideas...
Any comments are welcome!

Thanks in advance.

RE: Delayed FreeRTOS failure

Posted by Richard on August 24, 2012
The ARM7 port does not support interrupt nesting, so I'm not sure the priority of the interrupt is that relevant - presuming you have not changed the FreeRTOS code.

Is your high priority interrupt using the FIQ, or IRQ?


[ 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