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; davinci-linux-open-source@linux.davincidsp.com 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 Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source