MicroController Pros Home Page My Account  Cart Contents  Checkout  
  Store » CodeCompressor My Account  |  Cart Contents  |  Checkout   
Quick Find
Enter keywords to find the product you are looking for in the Quick Find field above

or use
Advanced Search
Accessory Boards->
ADI Blackfin
Atmel AVR->
Cypress PSoC
Microchip PIC->
Silicon Labs
ST Microelectronics->
Texas Instruments->
Embedded Ethernet->
Embedded Software->
I/O Modules->
Parts & Components->
Pick & Place Tools
Programmable Logic (PLD)
Prototype PCBs->
ROM/Flash Emulators
Test & Measurement->
Tutorial Software
Universal Programmers->
Intro to Embedded Tools
Embedded News Digest
Useful Resources
Shipping & Returns
Warranty & Liability
Privacy Notice
Conditions of Use
Contact Us
Raisonance CodeCompressor for 8051, ST5 and CoolRISC

CodeCompressor(TM), Raisonance Post-Linker Optimization Technology reduces the overall size of your application by up to 50% (see benchmarks below for different targets and different applications), by applying three extra optimization passes on the binary image of your program.

Currently available for most targets supported by Raisonance (including 8051, XA, ST5 and CoolRISC), CodeCompressor is fully integrated into the RIDE Integrated Development Environment and, because it has an overall view of the whole application, it performs optimizations a compiler could not do.

How does CodeCompressor work ?

CodeCompressor is a complement to traditional optimizing compilers (that can only see one module at a time, thus limiting the scope of optimization): CodeCompressor acts after the linker, when all the intra-module optimizations have already been performed.

8051 Code Compressor Diagram

What does it do ?

CodeCompressor acts in 3 passes, each of which can be automatically or manually controlled.

In this phase CodeCompressor will look for functions that are called only once in the application and will move them to the place where they are called, thus saving the CALL and RET instructions. This kind of optimization improves both the code size and the execution speed.

In this phase CodeCompressor will look everywhere in the binary file for identical blocks of code and will put them in subroutines when they are big enough. This kind of optimization will improve code size, but will slow down execution, so you might want to turn it off for time-critical parts of your application.

Local Optimizations (Peephole)
In this phase CodeCompressor will rescan the whole code for the last time looking for local optimizations, such as long jumps and calls replacement with the equivalent shorter version where possible. This kind of optimization improves both code size and execution speed.
As this last optimization is very dependent on the architecture (more than the first two), it will be possible in the future to specify the optimization to be done in a sort of script language (Raisonance will provide some basic ones, and any user could add/customize to his specific needs).
Starting around BN730 (depending on the target), CodeCompressor peephole optimization can be completed and enhanced using the Raisonance Peephole Script (RPS) language to implement your own optimizations. Check out this page for more details.


CodeCompressor main purpose is to reduce the memory size (code) of your application: all the bechmarks measure code size only.
Compression rates varies largely from 0 (for a very small, assembly written program) to >50% (for applications written in a 'repetitive' way, for example using a lot of macros).
Several factors come into play when estimating the compression rate you could get on your application, including:

  • The programming style
  • The programming language
  • The performance of the toolchain (mainly the compiler)
  • The architecture

For a typical application (some kb), written in C, a typical compression rate would be between 5% and 25%. The links below give some more indication on the results obtained on different tests and different architectures.


Try CodeCompressor (download)

CodeCompressor is included in the demo version of all toolchains for which it is available. You can compress your code and simulate it; the only limitation of the demo version is you cannot save the compressed code.
Click here to access the download section; once you have installed the tools, open any project and click on the CodeCompressor icon.


Because it requires strict interaction with many other tools in the toolchain, CodeCompressor works only with Raisonance tools. Note however that Raisonace has  successfully integrated at least one external Compiler (a port of GNU for the CoolRISC), and made it work with CodeCompressor.

Available Raisonance 8051 Software Tool Packages

Raisonance 8051 Software Tools are offered in several different product packages. The table below lists the tools included with each of those packages. By following the description link, you can get more information on each tool. By clicking on the product code link you can go directly to the order page for each of the product packages.


Description Link PRODUCTS
LITE Package
Compiler Package
Enterprise Suite
Macro assembler MA-51
Code banking linker LX-51
Utilities UTIL51
ANSI C compiler RC-51
Simulator/debugger SIMICE-51
ROM monitor MON-51
Tiny RTOS KR-51Tiny
3 tasks
3 tasks
3 tasks
full RTOS
CodeCompressor CComp-51
Multiproc. simulation MulSim51
125 tasks
Scripts RIDEscript

* Unrestricted version of the tool is included with the product package
(1) You can compress and simulate, but you can't save the compressed code

Shopping Cart more
0 items
What's New? more
Flowcode 7 for PIC, AVR, Arduino, ARM - Academic 10 User
Flowcode 7 for PIC, AVR, Arduino, ARM - Academic 10 User
Specials more
XBee 802.15.4 RF 2.4GHz Module, 1 mW, U.FL Antenna Connector
XBee 802.15.4 RF 2.4GHz Module, 1 mW, U.FL Antenna Connector
01. LCD 4-mux, 7 digits x 14 segments, progress bar, arrows
02. LCD 4-mux, 7.1 digits x 7 segments, progress bar, arrows
03. PIC16F628A-I/P Microcontroller, 18 DIP, 20 MHz
04. Atmel ATtiny2313-20PU AVR Microcontroller, 20 DIP, 20 MHz
05. USB-to-Serial Cable: 3.3V TTL, Audio Plug Type, Reverse RX/TX
06. 2x5 (10-pin) 0.05" pitch IDC Connector Flat Ribbon Cable, 12cm
07. 2x10 (20-pin) 0.1" pitch IDC Connector Flat Ribbon Cable, 15cm
08. USB Universal In-Circuit Programmer PIC AVR ARM MSP 8051 EEPROM
09. ARM JTAG Debugger & Programmer, parallel port
10. Power Supply 3-12V DC, U.S. plug, 6 connection tips
Reviews more
32-pin QFP to DIP Adapter & Breakout Module
correct link is http://www.embe-
storeresources ..

4 of 5 Stars!
  Sunday 16 December, 2018   List of all our Products

Copyright © 2003-2017 MicroController Pros LLC
Powered by osCommerce