The aiPop Code Compaction Suite was developed to reduce the code size and improve the code quality of embedded software applications — without changing their functionality.

Less is more

In embedded systems, the economic incentives to reduce application sizes are very compelling:

  • Customers expect the functionality of existing applications to be continuously enhanced (think mobile phones or electric motor controls). Unfortunately, the additional code no longer fits available memory at a certain point.

  • At the same time, product managers have an almost insatiable demand for cost-effective solutions in the mass production of consumer goods. Simply switching to more powerful hardware to catch up with growing code size is a very expensive option, whereas reducing code size directly translates into reduced memory requirements and reduced hardware costs.

Tests of aiPop on complete reference customer applications showed overall code size reductions of up to 20%, thus allowing up to 25% more functionality to be packed into available memory.

aiPop was designed in close dialog with major developers of embedded applications such as Siemens ICM. Since 2000, aiPop-compacted software runs in millions of mobile phones and thousands of automobiles worldwide.

aiPop's advantages

  • With aiPop, tedious and error-prone hand-crafted code optimization is a thing of the past. The user can select from dozens of optimization techniques, easily combine them, trade size for speed and vice versa. Thus, saving considerable effort and expense.

  • aiPop supports incremental program verification, which is especially important for safety-critical applications.

  • As opposed to file compression (zipping), the optimizations performed by aiPop do not change the functionality of embedded systems.

Technical data

aiPop is available for the following processor/compiler combinations:

  • C16x (Infineon)/TASKING (Altium)
  • ST10 (ST Microelectronics)/TASKING (Altium)
  • HC08/Motorola

Support for further target processors and compilers is currently under development. Optimization of hand-written code is supported to some extent provided that it is similar to compiler-generated code.

Images

Daniel Kästner and a Siemens S45i mobile phone featuring aiPop-optimized software

More images

Features

  • Automatic code size reduction
  • Optional reduction of the execution time
  • Fast optimization of huge software projects
  • Unparalleled compaction rates
  • Support for incremental program verification
  • Seamless integration into existing tool-chains
  • Runs under Windows, Linux and Solaris

More features

Optimizations

  • Reverse inlining (functional abstraction)
  • Interprocedural constant propagation
  • Dead code elimination
  • Peephole optimizations
  • Loop invariant code motion
  • Superblock optimizations

More optimizations

Customers

Siemens

More customers

Top