TI E2E Community
Trouble in creating CCS Project for Codec Engine app
I am trying to build a CE example application by following these guidelines. I use CCSv5.2 and I have installed EZSDK 5.04.00.11 in order to run the examples on my dm816x-evm target board. At the last step of the guidelines I miss the <codec_engine>\cetools\packages directory in the EZSDK. As a result, I cannot build the universal example successfully. Is this the reason of the error that is depicted in the next snapshot?
FYI, there are some details about the 'cetools' directory here:
It's not clear what specific error you're getting. From your screenshot I see the red X, and "some error happened" in the Problem window, but not details about it. Can you copy/paste your build output that shows details about the exact error you're getting?
Chris, I attach the build output message for more details. I have also read the FAQ you suggested, now I know why the cetools directory does not appear in my Codec Engine directory. However I would need some clarification about adding cetools to my EZSDK "lite" distribution of CE. Should I download the whole CE package?
Your build log has this msg in it:
js: "/home/dm816x/workspace_v5_2/CE_project/hello.cfg", line 43: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/universal_copy/package.xdc found along the package path, but no schema file was found. Ensure that the package 'ti.sdo.ce.examples.codecs.universal_copy' is completely built.
In a vague way, that's saying the codec you're trying to integrate hasn't been built. Stated again, while running the config script for the DSP-side server, you're configuring in a codec, specifically the universal_copy codec from the CE examples, and that codec package isn't built.
The solution for this error is to ensure you've built the CE example codecs first. That process is described in codec_engine_XXX/examples/build_instructions.html.
Whether you want to use the 'full with cetools' distribution of CE or not is up to you. The EZSDK (I think!) includes all the dependencies you'll need, but they're distributed in each of their individual products... so you'll have to add each of those products to your "Package Repositories" (aka XDCPATH) - as that article describes. If you use the cetools distribution, you'll just have to add that one cetools/packages dir. There are pros to using cetools approach (fewer directories in your "Package Repositories" list) and cons (updating a single product, like Framework Components, to get a fix may be more difficult to understand).
Chris RingThe solution for this error is to ensure you've built the CE example codecs first. That process is described in codec_engine_XXX/examples/build_instructions.html.
I've modified xdcpaths.mak and products.mak but I cannot built the CE example codecs successfully. In the outputs I can see references to an evmDA830 board but my target is a dm816x. I attach the makefiles and errorlog.txt for more details.
Chris RingWhether you want to use the 'full with cetools' distribution of CE or not is up to you.
Okay, first let me say that I'm newbie to CE and I have to read/understand a lot of things before starting to develop a remote DSP algorithm. At least It seems to be clear my Codec Engine role :-)
Chris RingEnsure that the package 'ti.sdo.ce.examples.codecs.universal_copy' is completely built.
I've successfully executed the make command in /examples/codecs/universal_copy directory. Then I can see the generated package you've mentioned. However when I try to run the make command in the apps/universal_copy directory the building fails as I mentioned in my previous post.
Anyway - and going back to the original CCS issue - I can get a different output from the console.
**** Build of configuration Debug for project CE_project ****/opt/ti/ccsv5/utils/bin/gmake -k all Building file: ../hello.cfgInvoking: XDCtools"/opt/ti/xdctools_3_23_03_53/xs" --xdcpath="/opt/ti/bios_6_33_04_39/packages;/opt/ti/ipc_1_24_02_27/packages;/opt/ti/xdais_7_21_01_07/packages;/opt/ti/xdais_7_21_01_07/examples;/opt/ti/ccsv5/ccs_base;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples;" xdc.tools.configuro -o configPkg -t ti.targets.C674 -p ti.platforms.evmTI816X -r debug -c "/opt/ti/ccsv5/tools/compiler/c6000_7.3.4" --compileOptions "-g --optimize_with_debug" "../hello.cfg"making package.mak (because of package.bld) ...generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...configuring hello.x674 from package/cfg/hello_p674.cfg ...js: "/home/dm816x/workspace_v5_2/CE_project/hello.cfg", line 62: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.sdo.fc.dskt2' along the path: '/opt/ti/bios_6_33_04_39/packages;/opt/ti/ipc_1_24_02_27/packages;/opt/ti/xdais_7_21_01_07/packages;/opt/ti/xdais_7_21_01_07/examples;/opt/ti/ccsv5/ccs_base;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples;/opt/ti/xdctools_3_23_03_53/packages;..;'. Ensure that the package path is set correctly. "./package/cfg/hello_p674.cfg", line 196 "./package/cfg/hello_p674.cfg", line 275 "./package/cfg/hello_p674.cfg", line 183gmake: *** [package/cfg/hello_p674.xdl] Error 1js: "/opt/ti/xdctools_3_23_03_53/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.gmake: Target `all' not remade because of errors.**** Build Finished ****
Now the error seems to be related to xdctools. What could be wrong?
Gaston Schelottojs: "/home/dm816x/workspace_v5_2/CE_project/hello.cfg", line 62: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.sdo.fc.dskt2' along the path: '/opt/ti/bios_6_33_04_39/packages;/opt/ti/ipc_1_24_02_27/packages;/opt/ti/xdais_7_21_01_07/packages;/opt/ti/xdais_7_21_01_07/examples;/opt/ti/ccsv5/ccs_base;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples;/opt/ti/xdctools_3_23_03_53/packages;..;'. Ensure that the package path is set correctly.
The above output shows that the Framework Components (FC) package is not specified in the XDCPATH.
I believe you need to add FC's location to the "Package Repositories" list specified in step 5 of that wiki link in your original post (i.e., this one: http://processors.wiki.ti.com/index.php/Creating_CCS_Project_for_Codec_Engine_app)Ensure that your specification ends in the "packages" subdirectory of FC's installation.
Yes, you're right. I have left the <codec_engine>\cetools\packages field not filled in CCS
Sorry but I'm still not clear about 'lite' vs 'full' distribution of CE. My v5.04.00.11 EZSDK distribution comes with no cetools package. How can I add these tools in my existing EZSDK directory? Is it possible or should I install a full CE distribution in a separate directory?
Gaston SchelottoSorry but I'm still not clear about 'lite' vs 'full' distribution of CE. My v5.04.00.11 EZSDK distribution comes with no cetools package.
If you have no <codec_engine>/cetools directory then you have the "lite" distribution. The "full" distribution takes all the packages that CE depends on and "installs" them under <codec_engine>/cetools/packages, allowing you to specify just <codec_engine>/cetools/packages on your XDCPATH. If you have the "lite" distribution then you need to specify each dependent package in your XDCPATH (e.g., <bios_#_#_#_#>/packages; <xdctools_#_#_#_#>/packages>, etc., or in your CCS repository dialog box.
Gaston SchelottoHow can I add these tools in my existing EZSDK directory? Is it possible or should I install a full CE distribution in a separate directory?
Every component that uses "packages" will need to be informed of where those packages exist. CE has its "products.mak" file for specifying dependent package locations for its 'gmake'-based builds, and when CE is used under CCS then you add those locations per the method we have already discussed (the CCS repository dialog).
I don't know the EZSDK but would imagine that it also has some central location to specify dependent packages.
If you have already downloaded all the dependent packages then you can just point to those locations in your XDCPATH (or CCS). I wouldn't recommend replacing things in the EZSDK installation, but it's up to you.
I'm out of my element answering EZSDK questions, but hopefully I can give you enough background information to allow you to understand what EZSDK talks about in their installation/build system.
It works now! I'm able to compile the universal example using CCS. Besides your suggestions, I've had to do one extra step:
In case anyone is interested I attach my <CE>/products.mak, <CE>/examples/xdcpaths.mak and CCS repository dialog snapshot.
Thank you for your help,gaston
Great to hear this, since the whole process is a bit cumbersome for newcomers.
Thanks very much for posting your screenshot and product configuration files. This will help others who come across the same situation and come to the Forums for help. You have helped improve the community knowledgebase.
Thanks & Regards,
I met the similar problem when I was making the CEexample by using 'make' at the root dir of CEexample.
I also check the outputs and see the references to an evmDA830 platform but my target is evm816x.
And the errorlog is like this:
js: "./heaps.cfg", line 60: TypeError: Cannot read property "len" from undefined "./all_syslink.cfg", line 42 "./package/cfg/bin/ti_platforms_evmDA830/all_p674.cfg", line 199 "./package/cfg/bin/ti_platforms_evmDA830/all_p674.cfg", line 278 "./package/cfg/bin/ti_platforms_evmDA830/all_p674.cfg", line 186
I wonder that how did you overcome the strange problem with the "DA830". Could you give me a hand ^_^ ?
It looks like you're building with COFF format instead of ELF format. For TI816X, you need to use the ELF tools. Could you check in your products.mak file at the root of your Codec Engine install directory, and check that you have the variable:
set to the location of your codegen tools?
Thanks for your reply.
It it the problem that I set the ti.target.C674 by mistake. I have checked my products.mak file.
Now I changed the codegen tools setting with ti.target.elf.C674 instead. Then everything is OK.
Hi Chris :
I am not familiar with codec engine ,and i have some questions about it .
1. i found there lots of version of codec engine ,and other dependent components,
is there any limitation each codec engine has to use specified version dependent components then?
2. In ccs5.2.1 i found no codec engine include except some dependent components,
then if i want to build the codec engine example, i have to download codec engine together with all dependent components or
i can use dependent components in ccs?
3.i see the instruction in codec engine packet, cgtools are used to build,
what is the different between using ccs and cgtools, is that cgtools is include in CCS5 ?
if so can it be updated with new versions in ccs5.1?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.