Quality RTOS & Embedded Software

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


wrong behaviour of *pxPortInitialiseStack()

Posted by Markus Krug on December 29, 2010

I found a problem with the initialization of the initial values for each Task in the *pxPortInitialiseStack() function.
The problem occured on a HCS12 Board that had a hard wired high value on the XIRQ (external interrupt) pin.
The above mentioned function sets the CCR register for every task to a value that will unmask the external interrupt as soon as the task becomes running. Because of the special hardware setup of my board that setting of the CCR register in the *pxPortInitialiseStack() leads immidiately to jump to the ISR of the XIRQ and no chance to get out of this anymore. Even worse the corresponding X-Bit in the CCR Register can not be set again after it had cleared once during runtime.
I wonder if the behaviour of *pxPortInitialiseStack() should be generally changed so that the X of the HCS12 will not be cleared by FreeRTOS. Probably other microcontrollers will have a similiar behaviour.
Any thoughts ?

Best Regards

RE: wrong behaviour of *pxPortInitialiseStack()

Posted by Dave on December 29, 2010
I think there is something about this in the bug tracker.

[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10.0.1 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