Fully REENTRANT libraries

Brief: The Franklin Software version 6 compiler, a part of the Release VIII software package, brings the benefits of fully reentrant libraries to your software development program. No more having to deal with routines called from main() vs. interrupt() functions!

Applicability: All users who need to be able to generate fast correct code without the hassle of having to deal with the intricacies of call structures between main and interrupt routines will be amazed at the speed and ease of program development with our new V6 tool set.

This is an important capability given that more and more users are turning to the use of embedded Real Time Operating Systems. With fully reentrant libraries all functions are callable “simultaneously” by many different tasks.

Summary: The V6 compiler introduces and supports fully reentrant libraries. Using our fast and compact stack mechanism, these new Franklin tools are superior to our older Franklin and Keil tool sets. The increase in code size caused by fully reentrant libraries is more then returned by our newer more aggressive code optimizations.

Due to inherent limitations in the 8051 architecture, the lack of fully reentrant libraries has caused more then just a few of our users to re-think their use of the 8051 in their high priority projects. The small internal memory size has always been a limiting factor on all attempts to increase 8051 performance in the area of stack and general reentrancy issues.

With this shortcoming in mind, the V6 tool set libraries were aggressively re-written to become fully reentrant without the additional code overhead normally associated with functioning of this kind. This benefits the harried programmer in fast time to market for his high value products.

The introduction of fully reentrant math libraries in V6 bring the ability to make simpler and better programs to those users who must have complete control and full utilization of all functions and procedures in programs written for the 8051.

For an example of these fully reentrant libraries, run the “nn…nn” example in the 8051/examples directory. Then try to run that example on your earlier versions of Franklin or Keil tools. You might also want to try them on any other compiler you have, just for comparison.