??? 01/28/05 20:29 Read: times |
#86053 - Worth it? Responding to: ???'s previous message |
Russell Bull said:
I really do question the need for a fancy task scheduler and computed calls for what is essentially a 'small system'. With most embedded systems, the tasks are known up front so therefore the address can be hard coded. similarly with scheduling the priorities are normally fixed - in most of my apps I use a co-operative tasker with a 10mS tick. I have up to 8 tasks of fixed priority. Each of these tasks has a timer that activates the task when it expires, the task can also be activated by calling "set_task". At each dispatch, the task run flags are evaluated for the highest priority to run, then that task is run for that tick. Whilst inter-task comms and semaphores are nice, they have a bit of overhead and a probably best left to a pre-emptive type RTOS. By definition - a co-operative task system need no interlocks since only one task can run at one time, and the task runs to completion. Sorry to pour water on your idea! No worries. I agree with you. Your description pretty much agrees with what I am developing except your priority system is even more fancy than mine. Perhaps the only thing we disagree on is how to call each task. I too assume tasks are known up front, I just choose to hard code their addresses into a jump table indexed by task number. Nowadays, if I want a pre-emptive type RTSO with semaphores and inter-task communication (pipes etc) - I wouldn't be choosing to use a 8051 type micro, most probsbly it would be ARM. Again I agree. I never mentioned pre-emption and I specificaly said intertask communication was the responsibilty of the tasks. Ian |
Topic | Author | Date |
Computed Call | 01/01/70 00:00 | |
Computed Call | 01/01/70 00:00 | |
simulate an LCALL @A+DPTR instruction? | 01/01/70 00:00 | |
Solution | 01/01/70 00:00 | |
Computed LCALL | 01/01/70 00:00 | |
Computed LCALL | 01/01/70 00:00 | |
Table offset | 01/01/70 00:00 | |
x2, not x3 | 01/01/70 00:00 | |
what is the problem | 01/01/70 00:00 | |
My Problem | 01/01/70 00:00 | |
never heard of it | 01/01/70 00:00 | |
It is....... | 01/01/70 00:00 | |
RTOS | 01/01/70 00:00 | |
8051 RTOs Limitations/Issues/Opportunity | 01/01/70 00:00 | |
How? | 01/01/70 00:00 | |
Decisions, decisions | 01/01/70 00:00 | |
Small systems - task scheduling | 01/01/70 00:00 | |
Worth it? | 01/01/70 00:00 | |
Scheduler | 01/01/70 00:00 | |
Scheduler | 01/01/70 00:00 | |
running small in a big way | 01/01/70 00:00 | |
Example | 01/01/70 00:00 | |
in very small chips | 01/01/70 00:00 | |
In all sorts of sizes of chips | 01/01/70 00:00 | |
time dependednt | 01/01/70 00:00 | |
RTOS or Not | 01/01/70 00:00 | |
opinion piece | 01/01/70 00:00 | |
fact piece | 01/01/70 00:00 | |
Opinion piece | 01/01/70 00:00 | |
suggestion piece | 01/01/70 00:00 | |
reasons | 01/01/70 00:00 | |
Polite discussion | 01/01/70 00:00 | |
Politeness | 01/01/70 00:00 | |
Thanks | 01/01/70 00:00 | |
Politeness | 01/01/70 00:00 | |
What are you Rabbiting on about? | 01/01/70 00:00 | |
Close but no Cigar | 01/01/70 00:00 | |
Rabbit food | 01/01/70 00:00 | |
Plessey | 01/01/70 00:00 | |
small world | 01/01/70 00:00 | |
Smaller than you imagine!![]() | 01/01/70 00:00 | |
I use the computed LCALL ... | 01/01/70 00:00 | |
go it | 01/01/70 00:00 | |
Call tabs in-line | 01/01/70 00:00 | |
abbreviated | 01/01/70 00:00 | |
... and further optimized... | 01/01/70 00:00 | |
has been already disscussed | 01/01/70 00:00 | |
Scheduler of course | 01/01/70 00:00 | |
Scheduler | 01/01/70 00:00 |