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] [June 2009 Threads] Problems with Task PrioritiesPosted by Mathias Zenger on June 3, 2009 Hi
I have several tasks running in my application. Basically I want them to run periodically in a fix order. Unfortunately the execution seems to mix up so I do not achieve the desired order.
Task 1 (priority 6) should execute every 10ms and increments a variable (time base in 10ms steps). It blocks calling vTaskDelayUntil.
Task 2 (priority 4) depends on the variable's value and should also execute every 10ms. It also blocks calling vTaskDelayUntil.
As far as I know Task 1 should always enter the running state first due to its higher priority. After Task 1 having blocked, Task 2 should enter the running state (never missing an increment). I assume this scenario should repeat for ever periodically. How can it happen that Task 1 sometimes gets executed twice before Task 2 enters the running state? Is my approach wrong? Can a task leave the blocked state prior to the elapsing of the desired delay time (what reasons are possible)? Thanks for helping.
Regards, Mathias
RE: Problems with Task PrioritiesPosted by Dave on June 3, 2009 If your tasks are at different priorities then it should work I think, but it will depend on what else your system is doing. For example, is it possible that Task 2 is getting starved of processing time?
Can you cut your app down to the bare bones and still get this behavior? If so then post the code (pastebin.com seems to be a good place to put source code and keep the formatting).
RE: Problems with Task PrioritiesPosted by Mathias Zenger on June 4, 2009 Dave,
Thank you for your suggestions. Since my project has become quite big it was the right way to cut it down. I guess to question FreeRTOS was a bit too fast (it works fine as expected). I am using two EVK1100 with ATMEL's AT32UCA0512. Both boards are using DHCP but unfortunately had the same MAC address. Therefore they got the same IP from the DHCP server!! I believe this troubled my application completely and leaded to getting starved some tasks.
Anyway it helped me to discuss the problem with you. Thanks!
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|