-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

Am Dienstag, 25.11.03 um 21:54 Uhr schrieb Bill Knight:

On Tue, 25 Nov 2003 21:05:24 +0100, Peter Mueller wrote:

Hi all,

I have the problem that I need two background tasks. The first task has
a cycle time of 10 ms, the second one of 1000ms. In the second task I
want to execute a complex algorithm taking much longer than 10ms.
Therefore it is not possible to run both in a while(1) loop. One way to
solve to problem would be to break the algorithm up into short chunks
to be able execute the faster task in time, which I would not like to
do (if possible).

Is there a good way to solve this problem without an OS? Is there a
simple scheduler available?


Peter
  uC/OS-II is available for the MSP430.  There are others but I am not
familiar with their capabilities.  uC/OS-II is a preemptive RT kernel,
but the last time I looked it did not support cyclic timers.  To work
around that problem you could create 3 tasks; a timer task, a 10 ms
task, and a 100 ms task with priorities descending in that order.  The
timer task (highest priority) would (re)schedule itself to run every 10
ms.  It would wake up the 10 ms task each time it ran and would wake
up the 100 ms task every tenth time it ran.  The reason to use a
seperate timer task is to keep it short so the 10 ms period accuracy
is maintained.
  I realize this explanation is awkward but hopefully close enough to
follow.  I'm also sure others with have a number of reasonable
suggestions.


Does someone has experience with uC/OSII on MSP430? I'm interested to see how long it takes to send an event from an IRQ to a task (including task switching) etc. My experience is that OSs can introduce a significant overhead especially in small embedded systems where many fast Irqs are involved and the OS takes over synchronization between tasks and irqs etc.

Any experience or timing measurements available for uC/OSII or any other OS for the MSP430?

Thanks,
Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)

iD8DBQE/w81IUzCcwYQMTJoRAtpRAKDd3yixUQj5uAYM4GMb93kvNQ0VygCffUfW
QRBcvYjKWkzpDKSTEQE3n1M=
=yIaw
-----END PGP SIGNATURE-----


Reply via email to