FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [April 2016 Threads]
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;
*/
asm(BGND);
/*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
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.
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
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.