Other Parts Discussed in Thread: SYSBIOS, 4430, TMS320TCI6608, TMS320C6670, TMS320C6678, TMS320C6657, TMS320C6748, OMAPL138, TMS320DM8168, TMS320C6472, TMS320DM8148, AM3359, TCI6636K2H
I have created a RTSC project from scratch in CCS 1011. It comes with a config file. I have copied and pasted configuration which includes EDMA3 to the config file. I want to see if it will compile to then bring in other files and source code.
The build stops at EDMA3 build. I added some print statements to the package.xs file in the C:\ti\edma3_lld_2_12_05_30E\packages\ti\sdo\edma3\drv directory to see if I can determine the reason why I get an error which is about not finding the necessary EDMA3 library that must be found and linked with the .cfg file.
Here is the output of the compilation of .cfg file:
==================================================================
**** Build of configuration Debug for project My_RTOS_TEST ****
"C:\\ti\\ccs1011\\ccs\\utils\\bin\\gmake" -k -j 8 all -O
Building file: "../My_RTOS_TEST.cfg"
Invoking: XDCtools
"C:/ti/ccs1011/xdctools_3_61_02_27_core/xs" --xdcpath="C:/ti/pdk_am437x_1_0_17/packages;C:/ti/edma3_lld_2_12_05_30E/packages;C:/ti/ndk_3_61_01_01/packages;C:/ti/bios_6_76_03_01/packages;C:/ti/uia_2_30_01_02/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A9F -r debug -c "C:/ti/gcc-arm-none-eabi-7-2018-q2-update" "../My_RTOS_TEST.cfg"
configuring My_RTOS_TEST.xa9fg from package/cfg/My_RTOS_TEST_pa9fg.cfg ...
SoC Type is
SoC Type is
generating custom ti.sysbios library makefile ...
Linking with library ti.drv.spi:./lib/am437x/a9/release/ti.drv.spi.aa9fg
Linking with library ti.board:./lib/idkAM437x/a9/release/ti.board.aa9fg
Linking with library ti.drv.gpio:./lib/a9/release/ti.drv.gpio.aa9fg
Linking with library ti.drv.pruss:./lib/a9/release/ti.drv.pruss.aa9fg
Linking with library ti.drv.i2c:./lib/a9/release/ti.drv.i2c.aa9fg
Linking with library ti.drv.uart:./lib/a9/release/ti.drv.uart.aa9fg
Linking with library ti.osal:./lib/tirtos/a9/release/ti.osal.aa9fg
Inside EDMA3 Drv Sample getLibs
Inside EDMA3 Drv Sample getLibs
AM437x is working up to here
0
OMAP4430
1
OMAP4430
2
OMAP4430
3
OMAP4430
4
OMAP4430
5
OMAP4430
6
OMAP4430
7
OMAP4430
8
OMAP4430
9
OMAP4430
10
OMAP4430
11
OMAP4430
12
OMAP4430
13
OMAP4430
14
OMAP4430
15
OMAP4430
16
OMAP4430
17
OMAP4430
18
OMAP4430
19
OMAP4430
20
OMAP4430
21
OMAP4430
22
OMAP4430
23
OMAP4430
24
OMAP4430
25
OMAP4430
26
OMAP4430
27
OMAP4430
28
OMAP4430
29
OMAP4430
30
OMAP4430
subdir_rules.mk:12: recipe for target 'build-629393137-inproc' failed
js: "C:/ti/edma3_lld_2_12_05_30E/packages/ti/sdo/edma3/drv/sample/package.xs", line 170: Error: Unexpected value in "platform" parameter
xdctools_3_61_02_27_core\gmake.exe: *** [package.mak:218: package/cfg/My_RTOS_TEST_pa9fg.xdl] Error 1
xdctools_3_61_02_27_core\gmake.exe: *** Deleting file 'package/cfg/My_RTOS_TEST_pa9fg.xdl'
xdctools_3_61_02_27_core\gmake.exe: *** [package/cfg/My_RTOS_TEST_pa9fg.xdl] Deleting file 'package/cfg/My_RTOS_TEST_pa9fg.h'
xdctools_3_61_02_27_core\gmake.exe: *** [package/cfg/My_RTOS_TEST_pa9fg.xdl] Deleting file 'package/cfg/My_RTOS_TEST_pa9fg.c'
js: "C:/ti/ccs1011/xdctools_3_61_02_27_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake[1]: *** [build-629393137-inproc] Error 1
gmake: *** [build-629393137] Error 2
subdir_rules.mk:9: recipe for target 'build-629393137' failed
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
=========================================================================================
THE COUNT FROM 0 TO 30 AND THE REPETITION OF THE STRING "OMAP4430" IS DUE TO MY PRINT STATEMENTS WHICH i HAVE INSERTED INTO THE "PACKAGE.XS" FILE. IT APPEARS TO ME THA TTHE STATEMENT if (java.lang.String(Program.cpu.deviceName).equals(devices[i])) IN PACKAGE.XS file IS EVALUATED TO OMAP 4430 WHICH IS NOT MEANINGFUL. THE SCRIPT IS SUPPOSED TO FIND "AM437x-EVM" as in the "lib\AM437x-evm", AND find the next level the directory, namely lib\AM437x\arm9 so it can find the library file. The installation of the directory structure in my PC for EDMA3 is good and there are no errors there. once the right directory is found, the variable "bool" is changed to 1. If it all goes correctly there should be no error. The set up of the directory structure matches what is supposed to be there, however, in the package.xs file, you can see that the object Program.cpu.deviceName is permanently stuck at OMAP 4430.
Could you please help me fix the problem so that in building the .cfg file can proceed.
Here is package.xs file content
package.xs
*
* xdc script file for the EDMA DRV package.
*
* Copyright (C) 2009 - 2019 Texas Instruments Incorporated - http://www.ti.com/
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/*
* ======== package.xs ========
*
*/
/*
* ======== getLibs ========
*/
function getLibs(prog)
{
var bool = 0;
print ("Inside EDMA3 Drv Sample getLibs");
print ("Inside EDMA3 Drv Sample getLibs");
/* Prepare variables to form the library path within this package */
var name = "edma3_lld_drv_sample";
var lib = "lib/";
var target;
var extension;
/* Devices supported */
var devices = [
'TMS320DA830',
'TMS320TCI6608',
'TMS320TCI6616',
'TMS320TCI6614',
'Kepler',
'TMS320C6670',
'TMS320C6678',
'TMS320TCI6614',
'TMS320C6657',
'TMS320TCI6638',
'TMS320TCI6636',
'TMS320C6748',
'OMAPL137',
'OMAPL138',
'TMS320DM8168',
'TMS320C6472',
'TMS320CTCI6486',
'TMS320DM8148',
'TMS320TI814X',
'TMS320TI816X',
'AM3359',
'AM437x',
'Vayu',
'DRA7XX',
'TDA3XX',
'TCI6636K2H',
'TMS320C66AK2E05',
'TMS320TCI6630K2L',
'C66AK2E05',
'TCI6630K2L',
'TCI66AK2G02'
];
/* Directories for each platform */
var dir = [
'da830-evm/',
'tci6608-sim/',
'tci6616-sim/',
'tci6614-sim/',
'tci6638k2k-sim/',
'c6670-evm/',
'c6678-evm/',
'tci6614-evm/',
'c6657-evm/',
'tci6638k2k-evm/',
'tci6636k2h-evm/',
'c6748-evm/',
'omapl137-evm/',
'omapl138-evm/',
'ti816x-evm/',
'c6472-evm/',
'tci6486-evm/',
'ti814x-evm/',
'ti814x-evm/',
'ti816x-evm/',
'am335x-evm/',
'am437x-evm/',
'tda2xx-evm/',
'tda2xx-evm/',
'tda3xx-evm/',
'tci6636k2h-evm/',
'c66ak2e-evm/',
'tci6630k2l-evm/',
'c66ak2e-evm/',
'tci6630k2l-evm/',
'tci66ak2g02-evm/'
];
print ("AM437x is working up to here");
for (var i = 0; i < devices.length; i++)
{
print (i);
print (java.lang.String(Program.cpu.deviceName));
if (java.lang.String(Program.cpu.deviceName).equals(devices[i]))
{
/* Choose the selected platform */
print ("Found Dir");
lib = lib + dir[i];
print(java.lang.string(lib));
extension = ".a" + Program.build.target.suffix;
if (java.lang.String(Program.build.target.suffix).contains('674'))
target = "674/";
if (java.lang.String(Program.build.target.suffix).contains('64P'))
target = "64p/";
if (java.lang.String(Program.build.target.suffix).contains('66'))
target = "66/";
if (java.lang.String(Program.build.target.suffix).contains('a8'))
target = "a8/";
if (java.lang.String(Program.build.target.suffix).contains('m3'))
target = "m3/";
if (java.lang.String(Program.build.target.suffix).contains('arm9'))
target = "arm9/";
if (java.lang.String(Program.build.target.suffix).contains('m4'))
target = "m4/";
if (java.lang.String(Program.build.target.suffix).contains('a15'))
target = "a15/";
if (java.lang.String(Program.build.target.suffix).contains('arp32'))
target = "arp32/";
lib = lib + target;
bool = 1;
break;
}
}
if (bool == 0)
throw new Error('Unexpected value in "platform" parameter')
switch (this.profile) {
case 'debug':
/* enable debug build for debug profile only */
lib = lib + "debug/" + name + extension;
break;
default:
/* release profile for everything else */
lib = lib + "release/" + name + extension;
}
print(" will link with " + this.$name + ":" + lib);
/* return the library name */
return (lib);
}
function init() {
xdc.loadPackage("ti.sysbios");
}
The problem statement is in read.
Thank you