Selecting Software Development Tools
2-4
Getting Started With Blackfin Processors
development time while maintaining a portable code base. The compiler is
backed by a rich library of signal processing routines, allowing easy access
to hand-coded, optimized implementations of FFTs, FIRs, and so forth.
The ANSI-C compiler is also augmented with popular language exten-
sions and enhancements to make it more amiable to existing code bases.
Examples include GNU GCC extensions, ETSI fractional libraries, and
multiple heap support.
A compiler’s overriding mission is to produce correct code, so there are
occasions when the compiler must take a conservative approach to a code
sequence when a more aggressive approach could have been taken if cer-
tain constraints could be guaranteed by the programmer. The
Vi+ compiler supports a broad range of pragmas that allow the
programmer to better exploit the compiler while maintaining C language
neutrality. Just as important, the compiler has the ability to feed back
advisory information to the programmer, offering further improvements
to a code sequence, should the programmer be able to make certain guar-
antees about it. This information is displayed seamlessly in the
Vi+ main editor window. This removes the black box label that
compilers sometimes have.
Backing the compiler is a powerful assembler and linker technology. Pro-
cessors from Analog Devices are noted for their intuitive algebraic
assembly language syntax, and the Vi+ assembler extends that
ease of use with the ability to import C header files, allowing for symbolic
references into arbitrarily complex C data structures. Binary data can be
included directly into assembly source files, creating an easy way to add
blocks of static data (such as audio samples and bitmaps) to an applica-
tion. The Vi+ linker is fully multicore and multiprocessor (MP)
aware, allowing for the creation of cross-linked, multi-executable applica-
tions in a single pass. Other powerful capabilities of the linker include
dead code and data elimination, code and data overlays, section spilling
(that is, automatic overflow from internal to external memory), and auto-
matic short-to-long call expansion.
Содержание Blackfin
Страница 10: ...Contents x Getting Started With Blackfin Processors ...
Страница 18: ...Product Information xviii Getting Started With Blackfin Processors ...
Страница 66: ...Benchmarks Against Other Processors 1 48 Getting Started With Blackfin Processors ...
Страница 148: ...Available Support 3 24 Getting Started With Blackfin Processors ...
Страница 154: ...Index I 6 Getting Started With Blackfin Processors ...