Subscribe to EDN
RSS
Reprints/License
Print
Email

HI-TECH Software introduces call- and pointer-graph-based compilation

Company claims its OCG (Omniscient Code Generation) allows a microcontroller-code compiler to catch inconsistent calling conventions, variable declarations, and redundant code.

By Robert Cravotta, Technical Editor -- EDN, April 3, 2007

HI-TECH Software, a supplier of compilers for Microchip and Cypress microcontrollers, announced at ESC today a new compilation technology that generates object code, based on call and pointer reference graphs derived from examining all the modules in an embedded program before the final step of code generation.

HI- TECH calls this approach OCG (Omniscient Code Generation). This global optimization approach allows the compiler to catch inconsistent calling conventions, variable declarations, and redundant code because it examines all of the code before generating the final code. This allows the compiler to optimize the size of each pointer variable, based on its usage, resulting in a smaller code size. This process requires no extra input from the programmer, relies on no nonstandard extensions, and is entirely transparent to the engineer. The technology identifies recursively or re-entrantly called functions and can use dynamic stack space or local variable storage to ensure that re-entrant calls do not overwrite existing data.

The C language assumes a single, linear address space. However, many embedded processors have complex, nonlinear memory architectures with different word widths. This makes it difficult to map nontarget-specific C code onto some processors' memory maps. OCG creates a global representation of the complete set of variables and pointers across all program modules; it also knows how big the stack must be and where it will be located before the code is generated. This allows the compiler to define a set of address spaces for each pointer variable that is optimally efficient for the particular processor architecture, without any specific direction from the programmer. OCG builds separate call graphs for both main-line and interrupt code. Any function that appears in more than one call graph can replicate its own local variable area, eliminating the requirement for a separate stack.

The current OCG implementation assumes the entire project call- and pointer-graph can reside in the host computer's memory at one time. This is not a limitation in the current processor supported by the technology because the applications are small compared to the host computer's available memory.

PICC-18-PRO is the first compiler to implement OCG, and it achieves up to 13.4% better code density than HI- TECH 's previous generations PIC 18 STD compiler, according to the company. PICC-18 PRO integrates into Microchip's MPLAB integrated development environment as well as most third-party development tools. PICC-18 PRO runs on multiple platforms including Windows (2000, XP), Linux, and Mac OSX. HI- TECH also provides its own Eclipse-based IDE , HI -TIDE 3, which includes full project management, a flexible editor, and a fast, accurate simulator.

PICC-18 PRO is available with full source code to all library routines and run-time start off modules, allowing the programmer to customize the run-time environment for a particular hardware system. The company imposes no restrictions or limitations on the use of executable library code. A fully functional, 45-day trial version of PICC-18 PRO can be downloaded free from HI- TECH 's Web site. For a limited time, the company is offering PICC-18 PRO for $1195.00 ($300 off the regular price). Discounts are also available for multiuser versions, educational users, and existing customers.

RSS
Reprints/License
Print
Email
Talkback
Canon Resource Center

Featured Company


Most Recent Resources

Advertisement
Related Content

No related content found.

  • 0 rated items found.
Advertisement

KNOWLEDGE CENTER

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Engineering Careers
Jobs sponsored by
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2011 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows