|
You may also want to check out Berkeley Design Technology's home page, which has a number of articles on choosing DSP processors, as well as a "Pocket Guide to Processors for DSP" in HTML format. Brief overviews of various DSP processors, cores, and general-purpose processors can be found at http://www.bdti.com/procsum/index.htm.
Here's a less ambitious chip breakdown by manufacturer:
The first-generation processor, the DSP16210, contains a single DSP16000 core and 120 KB of internal RAM. The second-generation DSP16410 incorporates two DSP16000 cores and 386 KB of internal RAM.
The first-generation SHARC, the ADSP-2106x, features a single data path, a 32-bit address bus, and 40-bit data bus. Versions are available with up to 512 KB of on-chip memory, up to six communication ports, and up to 10 DMA channels.
The second-generation ADSP-2116x has two parallel data paths, a 32-bit address bus, and a 64-bit data bus. Versions are available with up to 512 KB of on-chip memory; up to six communication ports, and up to 14 DMA channels.
Analog Devices also sells the AD14000 series, which contain four ADSP-2106x SHARC processors in a single-chip package.
TI also sells the TMS320C2x family, an older version of the chip with fewer features.
The G21 package collects the free source code for the Analog Devices GCC-based C compilers for their 21xxx (SHARC) and 21xx series DSPs. These compilers are all based on GCC version 2.3.3. Full source code for the compiler, assembler, linker, etc. is available at http://www.kvaleberg.com/g21.html.
The C compilers are available for the 210x series as well as for the SHARC. The assemblers and linkers are only available for the SHARC. The source code is based on what is released under GPL by ADI, but is adapted for use with Linux and other Unix variants.
[Egil Kvaleberg, egil@kvaleberg.no]
SHARC development tools are avaiable for
Acorn/BSD, Linux, and other platforms. The tools include
frontend/preprocessor , assembler, linker, archiver, a utility to
generate ROM images for eprom burners, and other utilities The supplied
assembler is not part of the gnu archive, but is based on a assembler
originaly written by P. Lantto. Source code and binaries are available
at: http://www.markettos.org.uk/electronics/sharc/.
The number for the Analog Devices DSP BBS is (617) 461-4258 (300, 1200, 2400, 9600, 14400 bps), 8N1.
You can also find files on Analog Devices' web site at http://www.analog.com/processors/index.html, or at their FTP site at ftp://ftp.analog.com.
[Analog Devices DSP Applications, dsp_applications@analog.com]
From Andrew Sterian, asterian@umich.edu: "My DSP56K compiler, while not supported nor as well tested as Freescale's, implements fixed-point arithmetic rather than floating-point arithmetic. This may be suitable for some applications. The 5615 compiler also implements fixed-point arithmetic. To the best of my knowledge, Freescale does not have a C compiler for the 5615 family, although alternatives may exist. As of this writing (January 1997) I have not worked with Freescale DSPs or compiler software for nearly 5 years so questions regarding my compilers may well be met with "Ummm... I have no idea."
Both compilers were posted to alt.sources so any Usenet site that archives this newsgroup will have a copy. I have also found the 5616 compiler at ftp://ftp.funet.fi/pub/ham/dsp/dsp56k-tools/gcc5616.tar.Z. (http://www.newmicros.com) IsoPod(TM) - based on the DSP56F805. The assembler generates output suitable for Freescale's free JTAG flash loader.
Pete Gray has announced the availability of a Small C cross-compiler (with source) and assembler for the Freescale DSP56800, available for download from http://petegray.newmicros.com/ . Targetting a simple DOS-box host, developed and tested using djgpp (http://www.delorie.com/djgpp/) and Metrowerks CodeWarrior, in conjunction with NMI's (http://www.newmicros.com) IsoPod(TM) - based on the DSP56F805. The assembler generates output suitable for Freescale's free JTAG flash loader.
Small C language reference available online at http://www.ddjembedded.com/languages/smallc/
TI has a number of free algorithms available on their website at http://dspvillage.ti.com/docs/sdstools/sdscommon/showsdsinfo.jhtml?templateId=57&path=templatedata/cm/ccstudio/data/free_tools.
TI's world-wide web site is http://www.ti.com. The TI DSP bulletin board is mirrored on ftp.ti.com. The TI site is the official one, but has no user contributed software. [Brad Hards, bradh@gil.com.au]
{ If anyone knows of any other sources for TI DSP software, please let us know at comp-dsp-faq@bdti.com. Thanks! }
The GNU binutils 2.11 and later have been ported to the TI C54xx/IBM C54DSP. Most of the binutils tools are supported, including the assembler, linker and objdump. The assembler is source-compatible with the TI assembler. The GNU binutils are available from http://sources.redhat.com/binutils/ GDB ports for c25/c5x/c54x are also available.
[Timothy Wall]
Dr. Michael P. Hayes has written a GNU C-based compiler for the TMS320C30 and TMS320C40 families, available at http://www.elec.canterbury.ac.nz/c4x. The current version patches against gcc-2.8.1; support is moving to egcs-1.2. The compiler is freely redistributable under the terms of the GNU Public License. Front-ends are also available for C++, Java, Fortran 77, Pascal, Ada 95, among others.
[Dr. Michael P. Hayes, m.hayes@elec.canterbury.ac.nz]
[Ted Rossin, rossin@fc.hp.com]
Dr. Michael P. Hayes has written a GNU-based assembler for the TMS320C30 and TMS320C40 families, available at http://www.elec.canterbury.ac.nz/c4x. The current version patches against binutils-2.7. According to Michael Hayes, the assembler syntax is compatible with the Texas Instruments TMS320C30 assembler, although not all the Texas Instruments directives are supported. The binutils include a linker (ld), archiver (ar), disassembler (objdump), and other miscellaneous utilities. The object format of the assembler is compatible with the COFF format used by the Texas Instruments assembler. The assembler and other binary utilities are freely redistributable under the terms of the GNU Public License.
[Dr. Michael P. Hayes, m.hayes@elec.canterbury.ac.nz]
A freely distributable instruction set architecture simulator is available for the TMS320C30 DSP as part of the Web-Enabled Simulation framework from UT Austin at http://signal.ece.utexas.edu/~arifler/wetics/.
We have released all of the source code, as well as prebuilt C30 simulators for Windows '95/NT and Solaris 2.5 architectures.
The C30 simulator is bit-, cycle-, and instruction-accurate. The behavior of the C30 simulator has been validated against a C30 DSK board. The C30 simulator correctly reports interlocking and pipeline flushes, so it provides a convenient way to check C30 programs for these hidden delays. The C30 simulator is based on the C30 DSK tools by Keith Larson at Texas Instruments.
[Brian Evans, bevans@ece.utexas.edu]
Herman Ten Brugge (haj.ten.brugge@net.hcc.nl) has also written a GNU debugger (GDB) based simulator for the TMS320C30 and TMS320C40, available via anonymous FTP at http://www.elec.canterbury.ac.nz/c4x. This is freely redistributable under the terms of the GNU Public License.
This simulator allows you to debug your programs without having to a connect to a real C[34]x target system. It will also profile your code showing you where the pipeline conflicts are occurring. You can connect I/O ports to files (or TCP/IP sockets), trigger interrupts, examine the cache etc. It will detect different threads of control running and generate a profile summary for each thread, annotating both the C code and assembler code with the number of executed cycles.
[Dr. Michael P. Hayes, m.hayes@elec.canterbury.ac.nz]
It is available from: http://wotug.kent.ac.uk/parallel/vendors/ti/tms320c40/tick/
Supports: Transtech, Hunt, and Traquair boards hosted by DOS,
SunOS, Linux