Quality RTOS & Embedded Software

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


Loading

tasks stop after some times

Posted by louispesteil on February 9, 2015

I'm working with FreeRTOS 7.5.3 on a RZ A1 (Renesas, ARM Cortex A9 core). I'm working with configUSE_PREEMPTION 1 . After some times (it can be 5 sec or 30 min), only the idle task is running. I've looked in tasks.c file and in xTaskIncrementTick() function, the value xNextTaskUnblockedTime is OxFFFFFFFF and is never set again. vTaskSwitchContext() is never called again. I don't get why this is happening. Thank you to let me know if someone have any idea from what it can be.


tasks stop after some times

Posted by rtel on February 9, 2015

Which compiler are you using? Is it an official port?

One possibility is a simple deadlock in your application - where every task is waiting indefinitely for another task that is in turn waiting indefinitely for something else. Other than that...have you read the "my application does not run what could be wrong" page of the FAQ, which will cover things such as:

Do you have configASSERT() defined to trap common errors (can't remember what is covered by the RZ port)?

Do you have the malloc failed hook defined (in case of memory leak)?

Do you have stack overflow checking turned on.

Most importantly - Are you sure all your interrupts that are using the FreeRTOS API have a priority below the maximum API call interrupt priority?

Regards.


tasks stop after some times

Posted by louispesteil on February 10, 2015

The tasks are not waiting for each other. configASSERT is defined as recommended by FreeRTOS. There is no memory leak. There is no stack overflow detected either. The priority are fine . And yes, it's an official port.


tasks stop after some times

Posted by rtel on February 10, 2015

We need to determine where the tasks are and may be able to use an IDE plug-in for that. Which IDE are you using?

Regards.


tasks stop after some times

Posted by louispesteil on February 10, 2015

I currently use DS-5, but on this version, there is no plug-in for FreeRTOS, Renesas provide the IDE E2Studio which has the Stateviewer plug-in by Wittenstein, but when the tasks stop and only the idle task is running, the stateviewer stop to update itself. When I watch for the global variables (used by FreeRTOS), all the task are in DelayedTaskList (exept of the idle task which is in the ReadyTaskList).

Regards


tasks stop after some times

Posted by rtel on February 10, 2015

DS-5 does have a FreeRTOS plug-in, which was created by ARM themselves. I believe it ships as standard with DS-5.

If all the tasks are in the delayed lists can you determine which call placed them in the delayed list? If the next unblock time is set to 0xffffffff then it was presumably a blocking function call (such as an attempt to receive from a queue, or an attempt to read from a semaphore) that had an infinite block time (portMAX_DELAY).

Regards.


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


Careers

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

Renesas

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