[Speex-dev] Patch, related to TI DSP C54x C55x C6x builds

Jim Crichton jim.crichton at comcast.net
Thu Aug 18 13:18:07 PDT 2005


Jean-Marc,

I have attached a small patch with modifications to arch.h, bits.c, and 
misc.c.  This contains the few mods remaining to support the various fixed 
point TI DSPs after the work that you did at the end of May (thank you for 
this).

arch.h: Add switch for compilers not supporting "long long" (C55x does, C54x 
and older C64x does not)
bits.c: Allow external definition for max buffer size, change 
MAX_BYTES_PER_FRAME
        to MAX_CHARS_PER_FRAME for consistency
misc.c: Added override switches to alloc routines, conditional include of 
user file
        changes to allow manual memory allocation rather than using heap

Note that none of these changes are necessary to get Speex to run on C55x.

The arch.h change allows operation with older versions of Code Composer 
Studio.
The bits.c change reduces the data memory usage, for applications running a 
subset of the Speex coding modes.
The misc.c change allows private memory allocation, for cases where it is 
not desirable to use the normal heap.
This makes it possible to sort of comply with the TI algorithm interface 
standard (xDAIS).

I changed my code today to follow the pattern used for the Sharc port 
(OVERRIDE switches), but you might prefer a different style for including 
the user-provided allocation routines.

Regards,

Jim Crichton
-------------- next part --------------
A non-text attachment was scrubbed...
Name: speex1-1-10-to-c55x.patch
Type: application/octet-stream
Size: 2882 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20050818/7ea8ca40/speex1-1-10-to-c55x.obj
-------------- next part --------------
These are all of the changes and additions necessary to build a loopback application for the 
TI C5509A simulator.  This build runs 8kbps narrowband, with minimum complexity.

Changed files (from 1.1.10 base):

arch.h: Add switch for compilers not supporting "long long" (C55x does, C54x, old C64x does not)
bits.c: Allow external definition for max buffer size, change MAX_BYTES_PER_FRAME
        to MAX_CHARS_PER_FRAME for consistency
misc.c: Added override switches to alloc routines, conditional include of user file
        changes to allow manual memory allocation rather than using heap

Note that none of these changes are necessary to get Speex to run on C55x.  
The arch.h change allows operation with older versions of Code Composer Studio.
The bits.c change reduces the data memory usage.
The misc.c change allows private memory allocation, for cases where it is not
desirable to use the normal heap.

Added files:

include\config.h (not automatically generated, sets memory sizes, enables manual alloc)
include\speex\speex_config_types.h (match Speex types to compiler types, not generated from types.in)
speex_c55_test\speex_c55_test.cmd (C5509A linker command file)
speex_c55_test\speex_c55_test.pjt (Code Composer Studio Project File )
src\boot.asm (to force wait states to 0 for the simulator, otherwise cycle count is much too high)
src\testenc-54x.c  (derived from testenc.c, manual alloc, byte packing/unpacking added)
src\user_misc.h (contains the manual memory alloc routines, with debug code )


More information about the Speex-dev mailing list