Complex Instruction and Software Library Mapping for Embedded Software Using Symbolic Algebra
With growing demand for embedded multimedia applications, time to market of embedded software has become a crucial issue. As a result, embedded software designers often use libraries that have been pre-optimized for a given processor to achieve higher code quality. Unfortunately, current software design methodology often leaves high-level arithmetic optimizations and the use of complex library elements up to the designers' ingenuity. In this paper, the authors present a tool flow and a methodology, SymSoft, that automates the use of complex processor instructions and pre-optimized software library routines using symbolic algebraic techniques. They use SymSoft to optimize a set of examples for the SmartBadgeIV portable embedded system running embedded Linux operating system.