MicroController Pros Home Page My Account  Cart Contents  Checkout  

****Note: We no longer process and ship international orders. Only orders from USA and Canada are now accepted.****
You can place international orders for our products on E-Bay. Just copy the item's title description from our website and paste it into the search box on E-Bay and place your order there.

  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
Categories
Accessory Boards->
8051->
ADI Blackfin
Arduino->
ARM->
Atmel AVR->
Cypress PSoC
Freescale->
FTDI->
Locktronics
Microchip PIC->
MIPS
Parallax->
Renesas
Silicon Labs
ST Microelectronics->
Texas Instruments->
Tibbo->
Books->
Displays->
E-Blocks->
EEPROM/EPROM/FLASH
Embedded Ethernet->
Embedded Software->
I/O Modules->
Parts & Components->
Pick & Place Tools
Programmable Logic (PLD)
Prototype PCBs->
Robotics
ROM/Flash Emulators
Test & Measurement->
Tutorial Software
Universal Programmers->
Wireless->
Information
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.

InLining
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.

Factorization
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.

Benchmarks

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.
 

Compatibility

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.

Tool

Description Link PRODUCTS
Free
Evaluation
Version
download
LITE Package
RKitL51
Compiler Package
RCA51
Enterprise Suite
RKitE51
IDE RIDE
*
*
*
*
Macro assembler MA-51
<4kB
<32kb
*
*
Code banking linker LX-51
<4kB
<32kb
*
*
Utilities UTIL51
*
*
*
*
ANSI C compiler RC-51
<4kB
<32kb
*
*
Simulator/debugger SIMICE-51
<4kB
<32kb
<4kb
*
ROM monitor MON-51
<4kB
<32kb
<4kb
*
Tiny RTOS KR-51Tiny
3 tasks
3 tasks
3 tasks
full RTOS
CodeCompressor CComp-51
(1)
(1)
(1)
*
Multiproc. simulation MulSim51
*
RTOS KR-51
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
2-pin Female Connector Harnesses, Pack of 10, with 10 Wires
2-pin Female Connector Harnesses, Pack of 10, with 10 Wires
US$10.00
Bestsellers
01. 2x5 (10-pin) 0.05" pitch IDC Connector Flat Ribbon Cable, 20cm
02. 2x5 (10-pin) 0.05" pitch IDC Connector Flat Ribbon Cable, 12cm
03. 5-pin Press-Fit Header Strip, Breakaway Pins, 2.54mm Pitch
04. Parallel to USB Adapter: Connect USB printer to LPT port
05. 2x10 (20-pin) 0.1" pitch IDC Connector Flat Ribbon Cable, 15cm
06. 8-pin Press-Fit Header Strip, Breakaway Pins, 2.54mm Pitch
07. USB Universal In-Circuit Programmer PIC AVR ARM MSP 8051 EEPROM
08. 2x5 (10-pin) 0.1" pitch IDC Connector Flat Ribbon Cable, 15cm
09. ARM JTAG Debugger & Programmer, parallel port
10. Power Supply 3-12V DC, U.S. plug, 6 connection tips
Reviews more
Awesome, just awesome! I can't even begin to tell you how mu ..
5 of 5 Stars!
  Tuesday 19 March, 2024   List of all our Products

Copyright © 2003-2017 MicroController Pros LLC
Powered by osCommerce