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. | | 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 PackagesRaisonance 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 |
|
|
0 items |
|
|
|
|
|
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 |
|
|
|
|
|