RTEMS with post-boot code.
Don Yuniskis
dgy at rtd.com
Wed Oct 29 19:22:48 UTC 1997
In the words of the world-renowned author, Jacob W Janovetz:
>
> As an aside, I would not put anything besides OS routines in
> the jump table. DOS doesn't have 'printf' included, but it does
> have its disk procedures there...
There are arguments for and against each approach. The more things you
vector *through* the jump table, the slower the thing runs. On the
other hand, this really isn't a *horrendous* time penalty and the
size of the jump table isn't outrageous. Having *lots* of hooks in this
way can be a win if you want to override particular "function" calls.
This can be a win during development since you can have a monitor go
in and hack a wrapper function together and replace the existing
jump table entry with a pointer to this new function (which in turn
invokes the *actual* function). So, these wrappers can trace calls
to particular functions (e.g., malloc!). They can also be used to
implement device specific behaviours (i.e. by allowing you to
printf with a wrapper that redirects the output to a different
device).
They can also be a win if you are shipping a product with lots of "utility"
routines in the "system ROM". If you uncover a bug in one of them
later on, you could work around it by rewiring it's jump table entry
to point to a "fixed" routine.
--don
More information about the users
mailing list