|
|
![]() |
![]() |
Control flow graph of a sample application for the C164 microcontroller before and after optimization with aiPop. Visualized with aiCall for C16x/ST10.
![]()
The size of compiled C code is becoming increasingly critical in embedded systems, where the economic incentives to reduce ROM sizes are very compelling. Reducing code size means reducing system costs, saving additional engineering effort, and extending application lifetime while speeding up time to market.
Unfortunately, the most common "solutions" to code size problems are very costly. Switching to another microcontroller model supporting more memory means additional investment: time, effort, and money. And reducing code size manually is not only tedious and error-prone, but involves additional expense into the bargain. The result: Precious engineering resources are wasted.
By
contrast, abstract interpretation
and advanced pattern matching techniques provide for a cost-effective generic
approach for automatically reducing code size.
This is where aiPop comes in. The aiPop optimizer suite was developed to reduce the code size and/or to speed up the execution of assembly files produced by a C-compiler. Tests of aiPop on complete reference customer applications showed overall code size reductions of up to 20.39%. This allows 25% more functionality to be packed into a flash memory of the same size.
aiPop
was designed and implemented after conducting in-depth studies of customer
needs and in close dialog with major developers of embedded applications
(such as Siemens ICM). It integrates a vast number of sophisticated solutions
to common code size and execution speed problems, in addition to introducing
a variety of radically new techniques. Its impressive body of optimization
solutions was tuned to satisfy the requirements of developers in several
vertical industries, enabling smooth integration into existing and well-established
tool chains.
With aiPop, you can select from and combine dozens of optimization techniques, trade size for speed and vice versa. And with aiCall, you can quickly grasp all changes made to your files, easily compare optimized files with unoptimized ones, and view explanations for each and every optimization made.
![]() |
![]() |
![]() |
||
Unoptimized file |
Optimized file |
All optimizations are documented and explained in additional information windows |
» aiPop.com: Code optimization and code compaction on assembly level
![]()
![]()
![]()
![]()
![]()
![]()
Last modified on 1 November 2002 by webmaster.
© 2002 AbsInt.
URL: http://www.aisee.com/graph_of_the_month/aipop.htm
Home
About
Examples
Free trial
Support
Store
Legal
Contact![]()
Extras
the month
11/2002
» Polls
» Memory
» Puzzle
» GDLedit
» Logos
» Papers
» Links
![]()
Sitemap
|