The TU environment specified in this document is designed to provide source code portability of TUs across multiple operating environments. TUs should only use the device and system interfaces specified in this document to ensure portability. However, experience has shown that it is good programming practice to isolate and abstract external functions so that any problems in porting can be corrected within a single source code file. For this reason, it is strongly recommended that TU developers include a special source file in their TU library for the purpose of providing that isolation and abstraction. The following describes a recommended implementation of that source file, given to help promote consistency in TU development. The consistency is very important for long-term maintenance of the Test Unit code.
TU libraries should include a C source file called interface.c, which provides a set of abstracted device functions that can be used by the actual TU functions. The following is a list of functions that should be implemented within the interface.c.
As illustrated below, these functions should provide mappings to one or more of the services described in "Programming Interfaces for TUs and Interrupt Handlers" .
The figure also illustrates how TU libraries should include a C source file that implements the exectu() interface, which provides the program entry point for the TU library, decodes the specified TU number to the correct internal function, and calls that function.