SOFTWARE TOOLS: New compiler technology doubles PSoC memory capacity
San Jose, Ca. - For embedded designers using Cypress Semiconductor's dynamically configurable mixed signal arrays, help is on the way.
It comes in the form of HI-TECH Software's C PRO compiler which incorporates its "Omniscient Code Generation" (OCG) technology to radically reduce PSoC code size.
PSoC mixed-signal arrays integrate programmable analog and digital functionality with an 8-bit MCU core, up to 32 Kbytes of flash memory and up to 2 Kbytes of SRAM.
The HI-TECH C PRO complier for the PSoC Mixed-Signal Array uses the OCG technology to examine all program modules prior to compilation, optimizing pointers, registers and stack allocation, as well as eliminating redundant code.
The compiler also frees up SRAM and reduces contention for the PSoC device's index register by compiling directly addressable, optimized function stacks for all non-recursive and non-re-entrant code. Since small code size executes in fewer cycles, the new compiler also increases PSoC device performance.
Unlike compilers that claim "global optimization" while operating only on individual program modules, Omniscient Code Generation, looks at every module in the entire program and optimizes across all program modules.
The companies claim that PSoC device C language code, compiled using the OCG technology, is as much as 50% smaller than produced by competing compilers, effectively doubling the amount of program code that can be stored in the on-chip flash of any PSoC device. Since there is less code to execute, performance is also improved.
SRAM utilization is more efficient because OCG knows and allocates exactly the amount of memory required by variables and compiled stacks, even determining the range of pointer variables and allocating single-byte pointers whenever possible.
Using the HI-TECH compiler, a developer can avoid avoids using the PSoC device's dynamic stack an average of 99% of the time, eliminating most of the redundant code required to manage a dynamic stack.
The compiler also more effectively uses the PSoC mixed-signal array's paged SRAM architecture, in which only 256 bytes of SRAM are addressable at any one time. Accessing any other memory page requires the page select register (PSR) to be reset.
The compiler also defines a set of address spaces for each pointer variable that is optimally efficient for the PSoC, without any specific direction from the programmer.
HI-TECH's OCG-enabled compiler has intelligence about the complete set of used variables and pointers across all program modules and their frequency of use. It allocates the most frequently used variables into the most readily accessible RAM and puts less frequently used data into the paged RAM.
This results in improved code density by eliminating the need for the program code to set a page select register, and can achieve substantial performance improvements.
HI-TECH's Compiler with OCG technology has been integrated into Cypress' PSoC Designer integrated development environment (IDE) for PSoC mixed-signal arrays.
A fully functional 45 day trial version of PRO for PSoC can be downloaded, free of charge, at HI-TECH's website. It may be purchased for $1,195. before 31 March 2008, after which it will be $1,495.
It includes, at no extra cost, HI-TECH Software's 12 month access to updates and technical support, as well as a 30 day money back guarantee. Multi-user and educational user discounts are available.