ABSTRACT

This chapter discusses software technologies that support the creation of portable embedded software applications. A program is said to be portable if it may be run without alteration on another computer system. In the high performance embedded computing field, which makes use of many different computer architectures, portability takes on special importance. An important principle of embedded system programming is to use optimized libraries to decrease the amount of work for the application programmer. In the early 1990s, there were many different embedded signal processing platforms, each with its own library. The use of multiple processors in an application adds a new dimension to the problem of portable software technology. In general, there are two techniques to achieving portable high performance with math libraries. The first technique is to have an external party, usually the library or platform vendor, tune the library. The second technique is to provide mechanisms for either user or software package itself to tune the library.