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