Frequently Asked Questions About eXpressDSP
Question:
What is eXpressDSPTM?
Answer: eXpressDSP
Real-Time Software Technology is a premier, open software environment for Texas
Instruments (TITM) digital signal processors (DSPs). Its four ingredients
are: powerful, integrated development tools; real-time software foundation;
standards for application interoperability; and the world’s largest DSP third-party
network. It is designed to reduce development time well above 50% depending on
the application and to give DSP end-users “make vs. buy” choices for DSP
algorithms, or simply to make it easier to mix and match algorithms they have
developed internally. This will allow programmers to invest their time focusing
on the next winning application instead of reinventing the wheel.
Question: What
are the benefits of eXpressDSP?
Answer: It
is an industry breakthrough for DSP programmers, enabling them to fully tap the
power of these chips and discover new opportunities through a simpler development
process that slashes development time and enables choices for reusable, modular
software.
Question: What
is the DSP Algorithm Standard?
Answer: The
DSP Algorithm Standard is one of the key ingredients of eXpressDSP. It is a set
of coding conventions for algorithm writers that ultimately eliminates much of the
repetitive and time-consuming system integration associated with algorithms in
the past. It achieves this by defining common programming rules and guidelines plus
a set of programming interfaces that make the use of algorithms more consistent
across a similar set of applications.
Question: Why
implement the DSP Algorithm Standard?
Answer: During
the integration process, algorithms are often provided in the form of object code
and not source code. As such, it is often difficult or impossible for the
system integrator to know what assumptions the algorithm has made about the
underlying software foundation in the system in which it is to be deployed.
Since simplification of the integration process is key, the eXpressDSP
algorithm standard reduces many of these unknowns so that the system integrator
can be much more confident about the way an algorithm will operate within his
system and shorten his time to solution. The result is that third parties can
deliver algorithms that are more easily integrated by the original equipment manufacturers
(OEMs), increasing the total algorithm market. Likewise, OEMs enjoy an increase
in the quantity and quality of algorithms available. Software developers who
previously were consumed by re-engineering the same algorithm for each system application
can now turn their attention to inventing new algorithms and applications.
Question: What
is the code and performance overhead required to support the DSP Algorithm
Standard?
Answer: We
have found that cycle count and program and data memory increased less than 1%.
Question: What
is TI providing?
Answer: Texas
Instruments is providing the eXpressDSP software technology environment, while
third parties and OEMs are creating algorithms that conform to the standard and
plug-ins that extend the capability of Code Composer StudioTM.
Question: What
is available today?
Answer: All
four ingredients of eXpressDSP are available today. These are delivered via a
complete eXpressDSP Algorithm Standard Developers Kit, which includes Rules and
Guidelines, “How to” application notes, tools, and a TMS320C6000 demonstration
showing algorithm interoperability. For more details, see: http://www.ti.com/sc/expressdsp.
Question: How
do customers get expressDSP?
Answer: Log
on to the TI eXpressDSP Website at http://www.ti.com/sc/expressdsp.
Question: What
DSP platforms are supported by eXpressDSP?
Answer: TMS320C6000
and C5000 platforms are supported by eXpressDSP.
Question: What
is unique about eXpressDSP from other software environments?
Answer: eXpressDSP
is an initiative that is tightly married to our leadership programmable TMS320
DSP families. It tackles the complex challenges of real-time programming that
requires predictable, guaranteed responses to the human environment in a way
that let developers of all levels creatively tap the flexibility
and power of
the DSP.
Question: Do I
need Code Composer Studio (CCS) to use the DSP Algorithm Standard?
Answer: The
DSP Algorithm Standard is independent of Code Composer Studio; however, the
availability of tools such as XDASGen, and the ability to run example code and the
Demo makes CCS a very productive environment for using the DSP Algorithm Standard.
Question: How
can I measure the overhead of the DSP Algorithm Standard?
Answer: The
profiling tool in CCS provides CPU cycle counts for the code between any two profile
points. Comparing counts before and after implementing the DSP Algorithm
Standard interface for an existing algorithm will allow you to measure the
overhead. The application report “Using the eXpressDSP Algorithm Standard in a
Static DSP System” (literature number SPRA577) discusses the overhead of the
DSP Algorithm Standard, which in most cases, will be well under 1%.
Question: How
much effort is needed to convert my algorithm to conform to the DSP Algorithm
Standard?
Answer: If
the existing algorithm already follows standard programming practices, then the
additional work of adding the DSP Algorithm Standard interface takes about a week
the first time through, and about a day when you are familiar with the procedure.
Question: Do I
have to implement everything in the Standard?
Answer: There
are required and recommended parts in the DSP Algorithm Standard. Not all of
the interface functions are required.
Question: What
are algorithm instance objects?
Answer: The
DSP Algorithm Standard requires that algorithms be implemented with an object-like
structure and interface. This means that each algorithm operates within a fully
characterized, location-independent, encapsulated memory state.
The algorithm
functions can only be called using its well-defined interface and must be
re-entrant.
Question: Does
a program need to be object-oriented to be complaint with the DSP Algorithm
Standard?
Answer: How
you write the algorithm and the language used is not part of the DSP Algorithm
Standard specification. A program is compliant with the DSP Algorithm Standard
as long as the algorithm module exports a DSP Algorithm Standard interface, and
obeys the rules and guidelines in its operation.
Question: How
is memory-allocation done for algorithm instance objects?
Answer: All
run-time memory allocation must be done by the application code. When the algorithm
instance object is created, the application can call the IALG function, algAlloc() to obtain the memory requirements and do the allocation.
The actual allocation can be done either dynamically at run time, or statically
at design
time.
Question: How
much extra run-time overhead is incurred due to calls to the DSP Algorithm
Standard-compliant algorithm functions?
Answer: The
only extra overhead is a single function table indirection for each service provider
interface function call.
Question: How
much extra program and data memory overhead is incurred by using the DSP
Algorithm Standard-compliant algorithms?
Answer: The
data overhead attributed exclusively to the DSP Algorithm Standard for each used
algorithm is the vector table and module ID reference. The vector table contains
eight required IALG function pointers, plus pointers to the interface functions.
For each algorithm instance object, the only additional overhead is a pointer
to the mentioned vector table, the algorithm object handle.
IMPORTANT NOTICE
Texas
Instruments and its subsidiaries (TI) reserve the right to make changes to
their products or to discontinue any product or service without notice, and
advise customers to obtain the latest version of relevant information to
verify, before placing orders, that information being relied on is current and
complete. All products are sold subject to the terms and conditions of sale
supplied at the time of order acknowledgment, including those pertaining to
warranty, patent infringement, and limitation of liability.
TI
warrants performance of its products to the specifications applicable at the
time of sale in accordance with TI’s standard warranty. Testing and other
quality control techniques are utilized to the extent TI deems necessary to
support this warranty. Specific testing of all parameters of each device is not
necessarily performed, except those mandated by government requirements.
Customers
are responsible for their applications using TI components.
In
order to minimize risks associated with the customer’s applications, adequate
design and operating safeguards must be provided by the customer to minimize
inherent or procedural hazards.
TI
assumes no liability for applications assistance or customer product design. TI
does not warrant or represent that any license, either express or implied, is
granted under any patent right, copyright, mask work right, or other intellectual
property right of TI covering or relating to any combination, machine, or
process in which such products or services might be or are used. TI’s
publication of information regarding any third party’s products or services
does not constitute TI’s approval, license, warranty or endorsement thereof.
Reproduction
of information in TI data books or data sheets is permissible only if
reproduction is without alteration and is accompanied by all associated
warranties, conditions, limitations and notices. Representation or reproduction
of this information with alteration voids all warranties provided for an
associated TI product or service, is an unfair and deceptive business practice,
and TI is not responsible nor liable for any such use.
Resale
of TI’s products or services with statements different from or beyond the
parameters stated by TI for that product or service voids all express and any
implied warranties for the associated TI product or service, is an unfair and
deceptive business practice, and TI is not responsible nor liable for any such
use. Also see: Standard Terms and Conditions of Sale for Semiconductor
Products. www.ti.com/sc/docs/stdterms.htm