Quality RTOS & Embedded Software

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


Loading

probably FreeRTOS bug found!

Posted by Nobody/Anonymous on December 21, 2006
i have probably found a bug in tasks.c:

instead of this line in xTaskCreate():
pxTopOfStack = pxNewTCB->pxStack + ( pxNewTCB->usStackDepth - 1 );

the following line has to be written:
pxTopOfStack = pxNewTCB->pxStack + ( usStackDepth - 1 );


am i right??

RE: probably FreeRTOS bug found!

Posted by Nobody/Anonymous on December 21, 2006
No -

In prvInitialiseTCBVariables():

pxTCB->usStackDepth = usStackDepth;

Therefore:

pxTopOfStack = pxNewTCB->pxStack + ( pxNewTCB->usStackDepth - 1 );
and
pxTopOfStack = pxNewTCB->pxStack + ( usStackDepth - 1 );

are the same.

Is your pxNewTCB->usStackDepth varaible getting corrupt?

Step through the code following the assignment to see where the corruption occurs. Sounds like you might have a linker configuration error.

RE: probably FreeRTOS bug found!

Posted by Nobody/Anonymous on December 21, 2006
"Sounds like you might have a linker configuration error. "
what could I have done wrong at the linker settings?
I use the H8S2398 CPU with 8k RAM

the sections I use are:
.vects 0x00000000
.text 0x00000400
.bss 0x00FFDC00
.stack 0x00FFFBF0

is this wrong?
with the original code it worked for stack sizes until 255, if I use 256
pxNewTCB->usStackDepth gets a value of 0x10000

with my modification it works.
???

RE: probably FreeRTOS bug found!

Posted by Jeff Smith on December 26, 2006
I have sometimes noticed where the choice of code seems to fail to optimize for size nor speed. So why (pxNewTCB->usStackDepth - 1) instead of (usStackDepth - 1) When obviously the latter would excecute better? Shoot, is this RTOS, or is this MS?


[ 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