Quality RTOS & Embedded Software

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


The task remains in infinite loop

Posted by karimaaissaoui on April 19, 2016

Hello everyone, we have created several tasks with different priorities, tasks are created, and this is the task that has the highest priority that runs without going to the other, in our case 3 tasks allow to light and turn off the LEDs.

The first task turns on the LED without turning off, and the program remains in the infinite loop, because the "vTaskDelay ()" function does not work correctly, therefore other tasks do not run . When loading the program into the microcontroller, the function used by the task turns the LED, and an interruption is generating : "ISR (Cpu_Interrupt)"


/* ** =================================================================== ** Method : CpuCpuInterrupt (component MC9S12P12864) ** ** Description : ** The method services unhandled interrupt vectors. ** This method is internal. It is used by Processor Expert only. ** =================================================================== */ ISR(CpuInterrupt) { /*lint -save -e950 Disable MISRA rule (1.1) checking. */


ifdef debug

asm(BGND); #endif _EntryPoint; */


/*lint -restore Enable MISRA rule (1.1) checking. */ } ~~~~

We are stuck in this phase, and we hope to have your opinion We thank you in advance, and we apologize for the inconvenience.

Best Regards. FreeRTOSV9 microcontroller : HCS12P64 codeWarrior V5.9.0

The task remains in infinite loop

Posted by rtel on April 21, 2016

I'm going to guess your interrupt service routines are not executing as you expect - particularly whatever is executed in response to an swi instruction, which is the instruction that executes when vTaskDelay() attempts to yield. Did you take note of the "interrupt service routines" section of this page http://www.freertos.org/porthcs12.html ? Test the operation of the swi instruction and the tick timer in isolation to ensure they are working.

The task remains in infinite loop

Posted by karimaaissaoui on April 22, 2016

Hello Thank you very much for your response In fact, until the moment I could not solve the problem.And I would like to inform you that when I load the program into the microcontroller and I click start, an interruption which generates CPUInterruption and in the command window I receive the following message: illegalBP

~~~~ ISR(Cpu_Interrupt) { /lint -save -e950 Disable MISRA rule (1.1) checking. */ asm(BGND); /lint -restore Enable MISRA rule (1.1) checking. */ } ~~~~

I thank you once again for your helpfulness

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

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


FreeRTOS and other embedded software careers at AWS.

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

Espressif ESP32

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

Xilinx Microblaze and Zynq partner