|
As usual, there is good news and bad news. The good news is OOMRM
is being redesigned to allow mobile robots based around a preemptive
OS--specifically, uC/OS-II. The bad news includes:
- It won't be completed for another month or so (time permitting)
- Because of licensing issues, I can not include the source code to
the RTOS, but you can purchase it for $70 dollars along with Jean
Lebrosse's book MicroC/OS-II: The Real-Time Kernel.
- It only has a Windows port at present.
The new simulator is almost completely being redesigned. There
were two major restrictions driving the rewrite:
- The uC/OS-II simulator uses shared memory.
- In retrospect, since I'm allowing a preemptive OS, I added more
safeguards around global variables. I found increasingly more use of
the Persistent class to store global values, and basically sliced out
a chuck of memory and created an API to allow ease of accesss to the
underlining global memory. In critical tasks this has led to
functions sometimes grabbing the values when entering and storing them
when exiting rather than calling an API function for every global
access.
My intention is to eventually refactor the oSchedule back into the
simulator for two purposes:
- most importantly, educationally, it allows inspection of system
performance with and without a preemptive OS
- secondly, it allows the library to be used by those who do not have
uC/OS-II.
Needless to say, I'm a bit disappointed over the licensing model of
requiring people to buy a $70 dollar book (that they don't want), just
to get the source code for educational, non commercial use when the
software indicates its free for educational use once you get it? But
I guess its free in the sense of no yearly license fees as most major
RTOS have.
I'm curious to hear feedback whether using uC/OS-II RTOS would be an
advantage or a disadvantage.
Derek
|