Quality RTOS & Embedded Software

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




Loading

Getting kicked out of the tast

Posted by mishung on February 15, 2017

I am getting a strange behaviour out of my FreeRTOS on Xmega32D4 (AVR-GCC). Whenever there is a while loop without any vTaskDelay() and it takes a couple miliseconds to complete (for example receiving data from usart which could take as much as 30ms) I seem to get kicked out of the function earlier. For example I am supposed to receive 30B from the buffer but I only get 28B. If I add vTaskDelay(1) into the loop, everything goes fine. Same goes for a lot of other examples and not just an USART data recovery. As far as I know I am not using any watchdog timer.

What could be the cause of this?


Getting kicked out of the tast

Posted by rtel on February 15, 2017

It sounds like a logic error, or a timing error in the interaction with the hardware. Without seeing how you are determining that the loop should exit after 28 bytes, when you actually want 30 bytes, it will be impossible to even guess what might be the cause. Post the code that is determining that the loop should be exited, but even after seeing the code it might be that we can't answer the question without also studying the hardware manual (which we are not going to do).


[ 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