|
Introduction
Porting tools
PortAsm
56600 to StarCore
PortAsm FAQ
PortAsm Pricing
PortAsm Support
|
PortAsm/56600 for Star*Core is a tool which translates programs
written in DSP56600-family assembly language into efficient, optimized, and
maintainable Star*Core assembly language, to run
native on Star*Core DSP processors. It provides a fast, easy and
reliable way to port DSP56600 assembler to the Star*Core architecture,
avoiding the need for a lengthy and difficult re-write, which can
introduce new bugs into a mature body of source code. It can be used
either for applications written wholly in assembler, or for
translating the assembler portions of applications written partly in
assembler and partly in a high-level language such as C.
PortAsm analyzes the original source code, and separates the
semantic meaning of DSP56600 instructions or sequences of instructions
from irrelevant side effects such as condition code updates which are
not needed. After expanding macros and tokenizing the source file,
PortAsm/56600:
- Examines the DSP56600 instructions in detail, analyzing content
and program flow.
- Maps DSP56600 registers on to Star*Core registers, optimizing over
blocks of code.
- Replaces sequences of DSP56600 instructions with efficient
Star*Core equivalents.
- Reproduces only the required behaviour of the DSP56600 code,
eliminating irrelevant side-effects as much as possible.
- Adapts the code to fit into the target runtime environment.
- Generates interface glue for calls to and from native
high-level code.
- Outputs a translated Star*Core assembler source file, optionally
retaining comments.
- Optionally outputs additional debugging directives.
Features
- Powerful, easy-to-use source-code analyzer and optimizing code
generator.
- Produces easy-to-read Star*Core assembler source code that uses
the original symbolic labels and variable names.
- Retains the original DSP56600 code in the output file as
comments, making the translation process transparent and aiding
debugging (the original comments may also be retained).
- Users can include hand-written Star*Core assembler in the
original DSP56600 source, which with conditional assembly directives
makes it easy to maintain a single source base for both DSP56600 and
Star*Core targets.
- Powerful code generation optimizations can be selectively
enabled/disabled.
- Automatic generation of interface glue for calling out to or
being called from native C code. Includes support for both Gnu and
Tasking DSP56600 calling conventions.
- Integrates into the standard build process for easy code
maintenance after the initial port.
- Supports source-level debugging, using the original DSP56600 code
as source, making debugging very simple even for users who have
limited Star*Core knowledge.
And, best of all, thanks to a special agreement between
MicroAPL and Freescale Semiconductor (formerly Motorola SPS), PortAsm/56600 for Star*Core is
available free of charge!
Please contact us for details.
|