As George Gu posted, it's entirely possible to use DSP Link without
Codec Engine.
However, if this is only because you've found that "CE API modules may
take up quite a bit of memory", I'd encourage you post your findings to
the list and let us help you explore ways to reduce that memory before
inventing your own framework.
There are ways to modify/minimize the memory map described here:
http://www.mail-archive.com/[EMAIL PROTECTED]
om/msg01238.html
CE is clearly not the best framework for all architectures, so there are
valid reasons _not_ to use it. But I'd be surprised if the memory
footprint is significantly more than a custom framework (and if it is,
we should fix it!); and there are real benefits to using the CE
framework (robust, portable, extensible, integrated tooling, etc).
Chris
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Sunday, January 07, 2007 5:55 AM
To: Preissig, Steve; Ring, Chris;
[email protected]
Subject: Is Code Engine necessary
Hi Steve, Chris and everyone,
For the last couple of weeks, I have been reading and learning
how to use the CE API
to get a better picture of how to do stuff; I'm new to the CE
API world. I've played
around with the codecs example. I just realized that the custom
Davinci board we have
has limited dedicated SRAM for the DSP (only 512 Kbytes). As a
result, I don't have
much memory resources for the DSP; I noticed that the CE Server
with all the supporting
CE API modules may take up quite a bit of memory resources. Is
it possible to do my
own codecs without using the CE API? For example, I would have
to create a codec
application (under CCS 3.2) with DSP/BIOS and load it via the
DSP Link under Linux?
Would I then do intercommunication between the ARM and DSP via
DSP Link? Can
anyone please point me to examples or documentation that show me
how to do such
a design without CE and how to do intercommunication between the
ARM and DSP?
FYI, I'm not doing anything advanced (like video stuff), so I
have no need for the
nice CE API; I've posted many times here already that I'm just
doing a simple speech
codec on the DSP side and have an application on the ARM side
that uses it.
Thanks!
Regards,
Andy Ngo
---------------------------------------------------
From steve-p at ti.com Mon Dec 4 08:44:22 2006
From: steve-p at ti.com (Preissig, Steve)
Date: Mon Dec 4 08:44:26 2006
Subject: Beginner Needing Help!
Andy,
The application you describe is well suited to the DaVinci
architecture,
although you will probably want to re-organize your input/output
scheme.
You describe in your post that the DSP samples a mic and plays
to a
speaker. With the current Codec Engine framework, the general
model is
that the Arm handles all I/O and uses the DSP as a coprocessor
to encode
and decode. Currently, there are no DSP-side I/O drivers
developed, but
the Linux OSS driver should meet your needs for both sampling
the mic
and outputting to speakers.
Qn 1: (documents/source for building a server) - The basic
reference
for this is the Codec Engine Server Integrator's Guide, lit#
sprued5:
http://focus.ti.com/lit/ug/sprued5/sprued5.pdf
The Codec Engine package that comes with the DVEVM is the only
source
code example I know of for building a server, but should provide
a good
starting point for you. These examples are located at:
$(DVEVM_INSTALL_DIR)/codec_engine_1_02/examples/servers
And use the codecs which are provided at:
$(DVEVM_INSTALL_DIR)/codec_engine_1_02/examples/codecs
Qn 2: (building a server without DVSDK) - In order to build
servers, you
need the TMS320C6000 code generation tools (compiler, assembler,
linker)
as well as DSP/BIOS for the 'C6000. These both come with the
SDK, or it
is possible to purchase them separately.
Qn 3: (simplest design) - In order to build your Speex codec
into a DSP
Server, you will need to implement the xDM (xDAIS for Digital
Media)
interface for it to communicate with the Codec Engine framework,
and you
will need to package it in a RTSC package. Both of these are
described
in the Codec Engine Algorithm Creator's User Guide, sprued6:
http://focus.ti.com/lit/ug/sprued6a/sprued6a.pdf
And the codec examples at
$(DVEVM_INSTALL_DIR)/codec_engine_1_02/examples/codecs
Implement both as examples.
Hopefully you will be able to use the predefined SPHENC and
SPHDEC codec
classes for this interface, so that you will only need to
implement the
functions in the xDM interface and then use the speech encoder
and
decoder examples to build the package.
You may also consider registering for the 4-day DaVinci
workshop. Over
the course of 4 days, this workshop takes you through building
an
audio/video application starting with the Linux drivers and then
building in progressively more of the Codec Engine until you are
building a custom server. It is a great overview for someone
just
staring with DaVinci. For more info:
http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=4DW1026
44
Regards,
Steve Preissig
Texas Instruments
Technical Training Organization
9260 Waits Ferry Crossing
Duluth, GA 30097
[EMAIL PROTECTED]
(770) 840-0783
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source