author | Aravind Batni <aravindbr@ti.com> | |
Wed, 21 Oct 2015 20:01:57 +0000 (16:01 -0400) | ||
committer | Aravind Batni <aravindbr@ti.com> | |
Wed, 21 Oct 2015 20:01:57 +0000 (16:01 -0400) |
29 files changed:
diff --cc .gitignore
index b9f9d460a8ba22ccaedaaa4cdf01ff5ecb4e448e,76831308ffe21ba9373e8d0a077f5d3e90b34d12..11668db3fced301dce29c4793063e0d8e6206915
--- 1/.gitignore
--- 2/.gitignore
+++ b/.gitignore
package/
packages/
analysis/
-
+test/*/*/bios/src
+example/*/*/bios/src
-
++build/*/*.mk
diff --cc build/buildlib.xs
index 205e1cd8c0e0dbc22a0abab94664a6f7cf436634,8f0934103a2d93eb24bca7d27d7f7f7063cc5e2c..32319a6ee89199c8ce4f4dffd4f1361f1d623418
mode 100644,100755..100644
mode 100644,100755..100644
--- 1/build/buildlib.xs
--- 2/build/buildlib.xs
+++ b/build/buildlib.xs
makefile.writeLine("\n# Clean Rule"); \r
makefile.writeLine("clean:: clean_package"); \r
makefile.writeLine("# Clean Top Level Object Directory "); \r
- makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/"); \r
- makefile.writeLine("clean_package:")\r
- makefile.writeLine("\t$(RMDIR) $(LIBDIR)/*"); \r
++ makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/"); \r
makefile.writeLine("\t$(RMDIR) package/cfg"); \r
}\r
else\r
}\r
else\r
{\r
- print("Error: Non-TI targets are not currently supported ");\r
- java.lang.System.exit(1);\r
+ \r
+ if(stringname.match("ti.targets"))\r
+ {\r
\r
- }\r
+ var rtslibtemp = targetname.lnkOpts.suffix.toString().split("/");\r
+ var rtslib;\r
+ for(n=0;n<rtslibtemp.length;n++)\r
+ {\r
+ if(rtslibtemp[n].match(".lib"))\r
+ { \r
+ rtslib=rtslibtemp[n];\r
+ }\r
+ }\r
\r
- libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
- libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
- libmakefile.writeLine("AOBJEXT = s"+targetname.suffix); \r
- /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/\r
- libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");\r
- libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");\r
- libmakefile.writeLine("OBJDIR = $(LIBDIR)/" + device.toString() + "/obj");\r
- libmakefile.writeLine("DEVOBJDIR = $(LIBDIR)/" + device.toString() + "/obj");\r
+ libmakefile.writeLine("CC = $("+tooldir+")/bin/"+targetname.cc.cmd);\r
+ libmakefile.writeLine("AC = $("+tooldir+")/bin/"+targetname.asm.cmd); \r
+ libmakefile.writeLine("ARIN = $("+tooldir+")/bin/"+targetname.ar.cmd); \r
+ libmakefile.writeLine("LD = $("+tooldir+")/bin/"+targetname.lnk.cmd); \r
+ libmakefile.writeLine("RTSLIB = -l $("+tooldir+")/lib/"+rtslib); \r
+ }\r
+ else\r
+ {\r
+ print("Error: Non-TI targets are not currently supported ");\r
+ java.lang.System.exit(1);\r
-\r
+ }\r
+ \r
+ libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
+ libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
+ libmakefile.writeLine("AOBJEXT = s"+targetname.suffix); \r
+ libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts);\r
+ libmakefile.writeLine("ASFLAGS_INTERNAL = " +targetname.asmOpts.prefix+" "+targetname.asm.opts);\r
+ libmakefile.writeLine("ARFLAGS_INTERNAL = " +targetname.ar.opts);\r
+ libmakefile.writeLine("LNKFLAGS_INTERNAL = " +targetname.lnk.opts);\r
+ /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/\r
+ libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");\r
+ libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");\r
+ libmakefile.writeLine("OBJDIR = $(LIBDIR)/" + device.toString() + "/" + targetDir +"/obj"); \r
+ } \r
\r
return libmakefile;\r
\r
* Utility function which will build a specific library\r
**************************************************************************/\r
var makefilelocal;\r
-function buildLibrary (socName, isDmaSoc, isSoc, libOptions, libName, target, libFiles) \r
++
+function buildLibrary (socName, isSoc, libOptions, libName, target, libFiles) \r
{\r
var targetDir;\r
-\r
+ var objExtDir;\r
+ \r
++
if (target.name == "A15F")\r
{\r
targetDir = "armv7";\r
{\r
targetDir = "armv7";\r
}\r
- else if (target.name == "A8F")\r
+ else if (target.name == "A8F")\r
++
{\r
targetDir = "armv7";\r
}\r
}\r
else {\r
var libNameExp = libName;\r
+ objExtDir = "all";\r
}\r
- \r
- \r
++
++
var lldFullLibraryPath = "./lib/" + targetDir +"/" + libNameExp;\r
var lldFullBuildPath = "./build/" + targetDir +"/" + libNameExp;\r
var lldFullLibraryPathMake = "$(LIBDIR)/" + targetDir +"/" + libNameExp;\r
diff --cc config.bld
index 066c93d77ddb52cfbab2f4c7612e3ad3fb4845a1,a456238ab4cf316f10a08f765c96af2fd8e286f1..e13242026580a5f299c603b18c27ffc13b391f95
mode 100644,100755..100644
mode 100644,100755..100644
--- 1/config.bld
--- 2/config.bld
+++ b/config.bld
- /******************************************************************************
- * FILE PURPOSE: Build configuration Script for the CPPI LLD
- ******************************************************************************
- * FILE NAME: config.bld
- *
- * DESCRIPTION:
- * This file contains the build configuration script for CPPI LLD
- * and is responsible for configuration of the paths for the various tools
- * required to build CPPI LLD.
- *
- * Copyright (C) 2011-2014, Texas Instruments, Inc.
- *****************************************************************************/
-
- /* Get the Tools Base directory from the Environment Variable. */
- var toolsBaseDir = java.lang.System.getenv("XDCCGROOT");
-
- /* Get the extended debug flags */
- var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");
-
- /* Get the base directory for the CPPI LLD Package */
- var lldPath = new java.io.File(".//").getPath();
-
- var lldInstallType;
-
- /* Read the part number from the environment variable. */
- var lldPartNumber = java.lang.System.getenv("PARTNO");
-
- /* Include Path */
- var lldIncludePath = " -i" + lldPath + "/src" + " -i" + lldPath + " -i" + lldPath + "/test";
-
- /* Configure the CPPI LLD Release Version Information */
- /* 3 steps: remove SPACE and TAB, convert to string and split to make array */
- var lldReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');
-
- /* CPPI LLD Coverity Analysis: Check the environment variable to determine if Static
- * Analysis has to be done on the CPPI LLD Code base or not? */
- var lldCoverityAnalysis = java.lang.System.getenv("LLDCOV");
-
- /* C66 ELF compiler configuration for Little Endian Mode. */
- var C66LE = xdc.useModule('ti.targets.elf.C66');
- C66LE.rootDir = toolsBaseDir;
- C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
+ /******************************************************************************\r
+ * FILE PURPOSE: Build configuration Script for the CPPI LLD\r
+ ******************************************************************************\r
+ * FILE NAME: config.bld\r
+ *\r
+ * DESCRIPTION: \r
+ * This file contains the build configuration script for CPPI LLD \r
+ * and is responsible for configuration of the paths for the various tools\r
+ * required to build CPPI LLD.\r
+ *\r
+ * Copyright (C) 2011-2015, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+ \r
+ /* Get the Tools Base directory from the Environment Variable. */\r
+ var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
+ var m4ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_M4");\r
+ var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");\r
+ var a9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A9");\r
+ var a8ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A8");\r
+ \r
+ /* Get the extended debug flags for C66x, \r
+ * did not change the name for backwards compatibilty */\r
+ var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");\r
+ \r
+ /* Get the extended debug flags for A15 */\r
+ var extDbgFlags_a15 = java.lang.System.getenv("EXTDBGFLAGS_A15");\r
+ \r
+ /* Get the extended debug flags for A8 */\r
+ var extDbgFlags_a8 = java.lang.System.getenv("EXTDBGFLAGS_A8");\r
+ \r
+ /* Get the extended debug flags for A9 */\r
+ var extDbgFlags_a9 = java.lang.System.getenv("EXTDBGFLAGS_A9");\r
+ \r
+ /* Get the extended debug flags for M4 */\r
+ var extDbgFlags_m4 = java.lang.System.getenv("EXTDBGFLAGS_M4");\r
+ \r
+ /* Get the base directory for the CPPI LLD Package */\r
+ var lldPath = new java.io.File(".//").getPath();\r
+ \r
+ var lldInstallType;\r
+ \r
+ /* Read the part number from the environment variable. */\r
+ var lldPartNumber = java.lang.System.getenv("PARTNO");\r
+ \r
+ /* Include Path */\r
+ var lldIncludePath = " -I" + lldPath + "/src" + " -I" + lldPath + " -I" + lldPath + "/test";\r
+ \r
+ /* Configure the CPPI LLD Release Version Information */\r
+ /* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
+ var lldReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
+ \r
+ /* CPPI LLD Coverity Analysis: Check the environment variable to determine if Static\r
+ * Analysis has to be done on the CPPI LLD Code base or not? */\r
+ var lldCoverityAnalysis = java.lang.System.getenv("LLDCOV");\r
+ \r
+ /* C66 ELF compiler configuration for Little Endian Mode. */\r
+ var C66LE = xdc.useModule('ti.targets.elf.C66');\r
+ C66LE.rootDir = c66ToolsBaseDir;\r
+ C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";\r
if(extDbgFlags)
- C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags;
-
- /* C66Plus ELF compiler configuration for Big Endian Mode. */
- var C66BE = xdc.useModule('ti.targets.elf.C66_big_endian');
- C66BE.rootDir = toolsBaseDir;
- C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";
+ C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; \r
+ \r
+ /* C66Plus ELF compiler configuration for Big Endian Mode. */\r
+ var C66BE = xdc.useModule('ti.targets.elf.C66_big_endian');\r
+ C66BE.rootDir = c66ToolsBaseDir;\r
+ C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";\r
if(extDbgFlags)
C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;
-
-
-
- /* device name (k2?) is inserted between first an second element of this
- list to construct device file name for each device */
- var deviceConstruct = [ "device/", "/src/cppi_device.c" ];
-
- /* Create the SoC List */
- var socs = {
- /* device independent libraries */
- all :
- {
- /* Build this library */
- build: "true",
- /* SoC lib disabled as this is device independent lib */
- socDevLib: "false",
- /* Library options */
- copts: "",
- /* target lists, kept blank now, would be updated based on argument lists */
- targets: []
- },
- k2h :
- {
- /* this variable would be reinitialized to true, if XDCARGS contains k2h */
- build: "false",
- /* SoC lib enabled */
- socDevLib: "true",
- /* Library options */
- copts: " -DDEVICE_K2H -DSOC_K2H",
- /* target list */
- targets: [ C66LE, C66BE ]
- },
- k2k :
- {
- /* this variable would be reinitialized to true, if XDCARGS contains k2k */
- build: "false",
- /* SoC lib enabled */
- socDevLib: "true",
- /* Library options */
- copts: " -DDEVICE_K2K -DSOC_K2K",
- /* target list */
- targets: [ C66LE, C66BE ]
- },
- k2l :
- {
- /* this variable would be reinitialized to true, if XDCARGS contains k2l */
- build: "false",
- /* SoC lib enabled */
- socDevLib: "true",
- /* Library options */
- copts: " -DDEVICE_K2L -DSOC_K2L",
- /* target list */
- targets: [ C66LE, C66BE ]
- },
- k2e :
- {
- /* this variable would be reinitialized to true, if XDCARGS contains k2e */
- build: "false",
- /* SoC lib enabled */
- socDevLib: "true",
- /* Library options */
- copts: " -DDEVICE_K2E -DSOC_K2E",
- /* target list */
- targets: [ C66LE, C66BE ]
+ \r
+ /* ARMv7 A15 compiler configuration */\r
+ var A15LE = xdc.useModule('gnu.targets.arm.A15F');\r
+ A15LE.rootDir = a15ToolsBaseDir;\r
+ A15LE.ccOpts.prefix = "-mno-unaligned-access -c -mtune=cortex-a15 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+ if(extDbgFlags_a15) \r
+ A15LE.ccOpts.prefix = A15LE.ccOpts.prefix + " " + extDbgFlags_a15; \r
+ \r
+ /* ARMv7 A9 compiler configuration */\r
+ var A9LE = xdc.useModule('gnu.targets.arm.A9F');\r
+ A9LE.rootDir = a9ToolsBaseDir;\r
+ A9LE.ccOpts.prefix = "-mno-unaligned-access -c -mtune=cortex-a9 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+ if(extDbgFlags_a9) \r
+ A9LE.ccOpts.prefix = A9LE.ccOpts.prefix + " " + extDbgFlags_a9; \r
+ \r
+ /* ARMv7 A8 compiler configuration */\r
+ var A8LE = xdc.useModule('gnu.targets.arm.A8F');\r
+ A8LE.rootDir = a8ToolsBaseDir;\r
+ A8LE.ccOpts.prefix = "-mno-unaligned-access -c -mtune=cortex-a8 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+ if(extDbgFlags_a8) \r
+ A8LE.ccOpts.prefix = A8LE.ccOpts.prefix + " " + extDbgFlags_a8; \r
+ \r
+ /* M4 ELF compiler configuration for Little Endian Mode. */\r
+ var M4LE = xdc.useModule('ti.targets.arm.elf.M4');\r
+ M4LE.rootDir = m4ToolsBaseDir;\r
+ M4LE.ccOpts.prefix = "-o4 -qq -pdsw255 -DMAKEFILE_BUILD";\r
+ if(extDbgFlags_m4)\r
+ M4LE.ccOpts.prefix = M4LE.ccOpts.prefix + " " + extDbgFlags_m4; \r
+ \r
+ /* Check if we need to run the STATIC Analysis or not? */\r
+ var coverityAnalysis = java.lang.System.getenv("STATIC_ANALYZE");\r
+ \r
+ /* Setup the Coverity Filters to perform Static Analysis. */\r
+ if (coverityAnalysis == "ON") {\r
+ var coverityInstallPath = java.lang.System.getenv("STATIC_ANALYZE_PATH");\r
+ var cfgBase = xdc.getPackageBase("tisb.coverity.filters") + "cfg";\r
+ \r
+ var coverityFilter = [\r
+ {\r
+ moduleName: "tisb.coverity.filters.Coverity",\r
+ params: {\r
+ cfgDir: cfgBase, // The Coverity configuration file directory\r
+ rootDir: coverityInstallPath,\r
+ outDir: xdc.csd() + "cov_out",\r
+ analyzeLibs: true\r
+ }\r
+ },\r
+ ];\r
+ \r
+ /* Run the coverity filters on the LE Build only. */\r
+ C66LE.profiles["release"].filters = coverityFilter;\r
+ }\r
+ \r
+ /* Check if we need to create the Makefiles? */\r
+ var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
+ \r
+ if (miniBuild == "ON")\r
+ {\r
+ /* Add the filter for simple Makefile generation. */\r
+ \r
+ var makeC66LEFilter = {\r
+ moduleName: "build.filter.Make",\r
+ params: {\r
+ makefileName: "simpleC66LE.mak",\r
+ }\r
+ };\r
+ \r
+ C66LE.profiles["release"].filters[C66LE.profiles["release"].filters.length++] = makeC66LEFilter;\r
+ \r
+ var makeC66BEFilter = {\r
+ moduleName: "build.filter.Make",\r
+ params: {\r
+ makefileName: "simpleC66BE.mak",\r
+ }\r
+ }; \r
+ \r
+ C66BE.profiles["release"].filters[C66BE.profiles["release"].filters.length++] = makeC66BEFilter;\r
+ \r
+ }\r
+ \r
+ /* soc name (am?) is inserted between first an second element of this\r
+ list to construct device file name for each device */\r
+ var deviceConstruct = [ "device/", "/src/cppi_device.c" ];\r
+ \r
+ /* Create the SoC List */\r
+ var socs = { \r
+ /* device independent libraries */\r
+ all :\r
+ {\r
+ /* Build this library */\r
+ build: "true",\r
+ /* SoC lib enabled */\r
+ socDevLib: "false",\r
- /* dma lib enabled */\r
- dmaDevLib: "false", \r
+ /* Library options */\r
+ copts: "",\r
+ /* target lists, kept blank now, would be updated based on argument lists */\r
+ targets: []\r
+ },\r
+ k2h :\r
+ {\r
+ /* this variable would be reinitialized to true, if XDCARGS contains k2h */\r
+ build: "false", \r
+ /* SoC lib enabled */\r
+ socDevLib: "true",\r
- /* dma lib enabled */\r
- dmaDevLib: "false", \r
+ /* Library options */\r
+ copts: " -DSOC_K2H",\r
+ /* target list */\r
+ targets: [ C66LE, C66BE, A15LE]\r
+ },\r
+ k2k :\r
+ {\r
+ /* this variable would be reinitialized to true, if XDCARGS contains k2k */\r
+ build: "false", \r
+ /* SoC lib enabled */\r
+ socDevLib: "true",\r
+ /* dma lib enabled */\r
- dmaDevLib: "false", \r
- /* Library options */\r
+ copts: " -DSOC_K2K",\r
+ /* target list */\r
+ targets: [ C66LE, C66BE, A15LE]\r
+ },\r
+ k2e :\r
+ {\r
+ /* this variable would be reinitialized to true, if XDCARGS contains k2e */\r
+ build: "false", \r
+ /* SoC lib enabled */\r
+ socDevLib: "true",\r
- /* dma lib enabled */\r
- dmaDevLib: "false", \r
+ /* Library options */\r
+ copts: " -DSOC_K2E",\r
+ /* target list */\r
+ targets: [ C66LE, C66BE, A15LE]\r
+ },\r
+ k2l :\r
+ {\r
+ /* this variable would be reinitialized to true, if XDCARGS contains k2l */\r
+ build: "false", \r
+ /* SoC lib enabled */\r
+ socDevLib: "true",\r
- /* dma lib enabled */\r
- dmaDevLib: "false", \r
+ /* Library options */\r
+ copts: " -DSOC_K2L",\r
+ /* target list */\r
+ targets: [ C66LE, C66BE, A15LE]\r
+ },
+ c6678 :
+ {
+ /* this variable would be reinitialized to true, if XDCARGS contains c6678 */
+ build: "false",
+ /* SoC lib enabled */
+ socDevLib: "true",
+ /* Library options */
+ copts: " -DSOC_C6678",
+ /* target list */
+ targets: [ C66LE, C66BE ]
+ },
+ c6657 :
+ {
+ /* this variable would be reinitialized to true, if XDCARGS contains c6657 */
+ build: "false",
+ /* SoC lib enabled */
+ socDevLib: "true",
+ /* Library options */
+ copts: " -DSOC_C6657",
+ /* target list */
+ targets: [ C66LE, C66BE ]
- },
- };
-
- /**************************************************************************
- * FUNCTION NAME : merge
- **************************************************************************
- * DESCRIPTION :
- * The function is used to merge two arrarys
- **************************************************************************/
- function merge() {
- var args = arguments;
- var hash = {};
- var arr = [];
- for (var i = 0; i < args.length; i++) {
- for (var j = 0; j < args[i].length; j++) {
- if (hash[args[i][j]] !== true) {
- arr[arr.length] = args[i][j];
- hash[args[i][j]] = true;
- }
- }
- }
- return arr;
- }
-
- /* Grab input from XDCARGS */
- var buildArguments = [];
-
- /* Construct the build arguments */
- for (var tmp=0; arguments[tmp] != undefined; tmp++)
- {
-
- /* If no arguments are provided, override for building all */
- if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )
- buildArguments[buildArguments.length++] = "all";
- else
- buildArguments[buildArguments.length++] = arguments[tmp];
- }
-
- /* Build targets on this build */
- var build_targets = [];
- var soc_names = Object.keys(socs);
-
- for (var i=0; i < buildArguments.length; i++ ) {
- /* Build it for all targets */
- if (buildArguments[i] == "all") {
- for (var j = 0; j < soc_names.length; j++) {
- build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));
- /* Set build to "true" for that SoC */
- socs[soc_names[j]].build = "true";
- }
- }
- else {
- /* Skip the first argument, which is ./config.bld to get to next SoCs */
- if (i == 0) continue;
- /* Set that build to true if it is found in supported build socs */
- for (j = 0; j < soc_names.length; j++) {
- if (buildArguments[i] == soc_names[j]) {
- socs[buildArguments[i]].build = "true";
- build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));
- break;
- }
- }
- }
- }
+ }\r
+ };\r
+ \r
+ /**************************************************************************\r
+ * FUNCTION NAME : merge\r
+ **************************************************************************\r
+ * DESCRIPTION :\r
+ * The function is used to merge two arrarys\r
+ **************************************************************************/\r
+ function merge() {\r
+ var args = arguments;\r
+ var hash = {};\r
+ var arr = [];\r
+ for (var i = 0; i < args.length; i++) {\r
+ for (var j = 0; j < args[i].length; j++) {\r
+ if (hash[args[i][j]] !== true) {\r
+ arr[arr.length] = args[i][j];\r
+ hash[args[i][j]] = true;\r
+ }\r
+ }\r
+ }\r
+ return arr;\r
+ }\r
+ \r
+ /* Grab input from XDCARGS */\r
+ var buildArguments = [];\r
+ \r
+ /* Construct the build arguments */\r
+ for (var tmp=0; arguments[tmp] != undefined; tmp++)\r
+ {\r
+ \r
+ /* If no arguments are provided, override for building all */\r
+ if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )\r
+ buildArguments[buildArguments.length++] = "all";\r
+ else\r
+ buildArguments[buildArguments.length++] = arguments[tmp];\r
+ }\r
+ \r
+ /* Build targets on this build */\r
+ var build_targets = [];\r
+ var soc_names = Object.keys(socs);\r
+ \r
+ for (var i=0; i < buildArguments.length; i++ ) {\r
+ /* Build it for all targets */\r
+ if (buildArguments[i] == "all") {\r
+ for (var j = 0; j < soc_names.length; j++) {\r
+ build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));\r
+ /* Set build to "true" for that SoC */\r
+ socs[soc_names[j]].build = "true";\r
+ }\r
+ }\r
+ else {\r
+ /* Skip the first argument, which is ./config.bld to get to next SoCs */\r
+ if (i == 0) continue; \r
+ /* Set that build to true if it is found in supported build socs */\r
+ for (j = 0; j < soc_names.length; j++) {\r
+ if (buildArguments[i] == soc_names[j]) {\r
+ socs[buildArguments[i]].build = "true";\r
+ build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));\r
+ break;\r
+ }\r
+ }\r
+ } \r
+ }\r
+ \r
+ /* Update the Build target generated list */\r
+ socs["all"].targets = build_targets; \r
+ Build.targets = build_targets;\r
-\r
+
- /* Update the Build target generated list */
- socs["all"].targets = build_targets;
- Build.targets = build_targets;
index 987338c3d612b484d7390e6fec75a9291e3fe072,1aa1c5528b9b15a3cea706c6d5c37dfff3f4370a..1aa1c5528b9b15a3cea706c6d5c37dfff3f4370a
mode 100644,100755..100644
mode 100644,100755..100644
index 1840c2525a8ba49fe09e3fe9932668e2322aac2e,860c14e9b1a35dad0374ed38d3fff1acddddba15..860c14e9b1a35dad0374ed38d3fff1acddddba15
mode 100644,100755..100644
mode 100644,100755..100644
index edbf6c14ed1ddedcae475a2f6156ee58a5e6c364,89bf4c9e5a8f6f6d60da85d1d698221f321c113c..89bf4c9e5a8f6f6d60da85d1d698221f321c113c
mode 100644,100755..100644
mode 100644,100755..100644
index d0380252e6de9cac8e415a128df0d65aa22f7613,ae71c6f7d300aa6cf798e5b92924b63d527753c8..ae71c6f7d300aa6cf798e5b92924b63d527753c8
mode 100644,100755..100644
mode 100644,100755..100644
index 1b285b6a42a573b9c667f731521b75bba8335764,a58c99c5d16b294085862b6bfeb025e82b1dcc33..a58c99c5d16b294085862b6bfeb025e82b1dcc33
mode 100644,100755..100644
mode 100644,100755..100644
index e9ff0a3240eba65e32295ece38d82ffb66e54f9f,6df83a969bb0fe26a93daa6b34bb86421f393741..6df83a969bb0fe26a93daa6b34bb86421f393741
mode 100644,100755..100644
mode 100644,100755..100644
index e3cb9d56cbf787c05006a183d3e7f9f7fc6a3e9b,de5bcb8ab47e46610db631700cf7210cafc02b50..de5bcb8ab47e46610db631700cf7210cafc02b50
mode 100644,100755..100644
mode 100644,100755..100644
diff --cc example/sample/src/sample.c
index c3cf2183b2670ba2cff2a93ffd85b333d9b4f108,d98aab610170b10d5e077c5637af42968ef26eee..d98aab610170b10d5e077c5637af42968ef26eee
mode 100755,100755..100644
mode 100755,100755..100644
diff --cc package.bld
index 3b95cfc470116de4edecc2b3934e1f41e4578967,1ea58086e2186f80a5031e8f8e8d92b65904fe8f..f7c50bb181ee0f5968c2491c9dbc1b3c0c709abc
mode 100644,100755..100644
mode 100644,100755..100644
--- 1/package.bld
--- 2/package.bld
+++ b/package.bld
print ("*************** CPPI LLD Build Information ****************");\r
print ("CPPI LLD Install : " + lldInstallType);\r
print ("CPPI LLD Version : " + lldReleaseVersion);\r
- print ("Tools Directory : " + toolsBaseDir);\r
+ print ("C66 Tools Directory : " + c66ToolsBaseDir);\r
+ print ("M4 Tools Directory : " + m4ToolsBaseDir);\r
+ print ("A15 Tools Directory : " + a15ToolsBaseDir);\r
print ("RTSC File Name : " + lldRTSCFileName);\r
print ("CPPI LLD Path : " + lldPath);\r
-print ("Coverity Analysis : " + (coverityAnalysis == "ON" ? "ON" : "OFF"));\r
print ("CC LE opts : " + C66LE.ccOpts.prefix);\r
print ("CC BE opts : " + C66BE.ccOpts.prefix);\r
+ print ("M4 LE opts : " + M4LE.ccOpts.prefix);\r
+ print ("A15 basic opts : " + A15LE.ccOpts.prefix);\r
print ("***********************************************************");\r
\r
/* Create the release package for the CPPI LLD */\r
var tplt = xdc.loadTemplate("./Settings.xdc.xdt");\r
tplt.genFile("./Settings.xdc",lldReleaseVersion); \r
\r
+/* Generate cppiver.h */\r
+var tplt = xdc.loadTemplate("./cppiver.h.xdt");\r
+tplt.genFile("./cppiver.h",lldReleaseVersion); \r
++
+ /* Check if we need to create the mini package? */\r
+ var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
\r
- \r
+ if (miniBuild == "ON")\r
+ {\r
+ /***************************************************************************\r
+ ********************************* MINI Package ****************************\r
+ ***************************************************************************/\r
+ /* Create the MINI RTSC Package */\r
+ var libUtility = xdc.loadCapsule ("build/buildlib.xs");\r
+ libUtility.createMiniPkg(lldRTSCFileName);\r
+ }\r
+ \r
+ /* Generate paver.h */\r
+ var tplt = xdc.loadTemplate("./cppiver.h.xdt");\r
+ tplt.genFile("./cppiver.h",lldReleaseVersion); \r
+ \r
+ /********************************************************************* \r
+ *********************** INSTALL-JAMMER Support **********************\r
+ * In order to create the InstallJammer Application; we need to UNTAR\r
+ * the package into a temporary directory. This is required because \r
+ * currently the InstallJammer does not support the TAR Files and thus\r
+ * creating an UNTAR of the file. So to work-around the problem we will\r
+ * do the following in the EPILOGUE Section:-\r
+ * (a) Create a temporary directory called 'tmp'\r
+ * (b) UNTAR the package into 'tmp'\r
+ * (c) Run the INSTALL Jammer on 'tmp'\r
+ * (d) Remove the 'tmp' directory.\r
+ *\r
+ * This can be done only after the 'release' package has been created.\r
+ * Thus all of this work is being done in the EPILOGUE.\r
+ *********************************************************************/\r
+ if (lldInstallType == "SETUP")\r
+ {\r
+ /* Create the Install Jammer Version Variable. This is used inside the \r
+ * MPI File to create the Final executable. \r
+ * The format supported is as follows:-\r
+ * - setupwin32_cppilld_<part_number>_<version>.exe \r
+ * This is for CPPI LLD Libraries and Header files\r
+ */\r
+ var InstallJammerVersion = "-DVersion " + lldPartNumber + "_" + lldReleaseVersion[0] + "_" +\r
+ lldReleaseVersion[1] + "_" + lldReleaseVersion[2] + "_" + lldReleaseVersion[3];\r
+ \r
+ /* This is the location where the tmp directory is located; this is used as \r
+ * the input directory for the Install Jammer. */ \r
+ var PackageBaseDir = " -DPackageBaseDir " + lldPath + "./tmp";\r
+ \r
+ /* This is the location where the CPPI LLD will be installed by default. */\r
+ var WinInstallDir = " -DWinInstallDir C:/Program Files/Texas Instruments/cppilld" + "_" + \r
+ lldPartNumber + "_" + \r
+ lldReleaseVersion[0] + "_" + lldReleaseVersion[1] + "_" + \r
+ lldReleaseVersion[2] + "_" + lldReleaseVersion[3];\r
+ \r
+ /* Create the actual EPILOGUE Section for the INSTALLER */\r
+ Pkg.makeEpilogue += "release: install_application\n";\r
+ Pkg.makeEpilogue += "install_application:\n";\r
+ Pkg.makeEpilogue += "\t @echo -------------------------------------------------------\n";\r
+ Pkg.makeEpilogue += "\t @echo Creating the Install\n";\r
+ Pkg.makeEpilogue += "\t @echo -------------------------------------------------------\n";\r
+ Pkg.makeEpilogue += "\t -$(MKDIR) tmp\n";\r
+ Pkg.makeEpilogue += "\t -$(MKDIR) tmp/packages\n";\r
+ Pkg.makeEpilogue += "\t -$(MKDIR) tmp/eclipse\n";\r
+ Pkg.makeEpilogue += "\t -$(CP) -R eclipse tmp\n";\r
+ Pkg.makeEpilogue += "\t tar -xf ./packages/" + lldRTSCFileName + ".tar" + " -Ctmp/packages \n";\r
+ Pkg.makeEpilogue += "\t installjammer " + InstallJammerVersion + PackageBaseDir + WinInstallDir + \r
+ " --output-dir packages/ --build install/cppilld.mpi\n";\r
+ Pkg.makeEpilogue += "\t -$(RMDIR) /S /Q tmp\n\n";\r
+ \r
+ /* We need to clean after ourselves; extend the 'clean' target to take care of this. */\r
+ Pkg.makeEpilogue += "clean::\n";\r
+ Pkg.makeEpilogue += "\t -$(RM) docs/Doxyfile Settings.xdc cppiver.h\n";\r
+ Pkg.makeEpilogue += "\t -$(RM) makefile\n";\r
+ Pkg.makeEpilogue += "\t -$(RMDIR) docs/doxygen\n";\r
+ Pkg.makeEpilogue += "\t -$(RM) packages/*.exe\n";\r
+ Pkg.makeEpilogue += "\t -$(RM) packages/*.bin\n";\r
+ Pkg.makeEpilogue += "\t -$(RMDIR) eclipse\n\n";\r
+ }\r
+ if (miniBuild == "ON")\r
+ {\r
+ Pkg.makeEpilogue += "\t -$(RM) simpleC66LE.mak\n";\r
+ Pkg.makeEpilogue += "\t -$(RM) simpleC66BE.mak\n";\r
+ }\r
diff --cc package.xs
index 5b161641f53e6bfffd6c8ed77c4414f83bd96c9f,e75fa474856be7b8a7d6390bee32dcfa688268e2..6c2253d7ffbe6a297ea6bafffed213bad1a3145d
mode 100644,100755..100644
mode 100644,100755..100644
--- 1/package.xs
--- 2/package.xs
+++ b/package.xs
'k2h',\r
'k2l',\r
'k2e',\r
+ 'c6678',\r
+ 'c6657'\r
];\r
\r
- /* Search for the supported devices (defined in config.bld) */\r
- for each(var device in deviceTypes)\r
+ /* Get the SOC */\r
+ for each (var soc in socTypes)\r
{\r
- if (this.Settings.deviceType.equals(device))\r
+ if (socType.equals(soc))\r
{\r
- lib = lib + "/" + device;\r
- name = this.$name + "." + device + ".a" + suffix; \r
+ lib = lib + "/" + soc;\r
+ name = this.$name + "." + soc + ".a" + suffix; \r
break;\r
}\r
}\r
diff --cc src/Module.xs
index c29db87b3260b8e1047db68f8a0a2077f5855b12,a0a9e3284fb178f0d0c625ebf2bd716cfffde0c7..2ea8af572c53616411bf248645138093eb69a817
mode 100644,100755..100644
mode 100644,100755..100644
--- 1/src/Module.xs
--- 2/src/Module.xs
+++ b/src/Module.xs
copts: socs["all"].copts,\r
incs: lldIncludePath, \r
};\r
- libUtility.buildLibrary ("", "false", "false", libOptions, Pkg.name, socs["all"].targets[targets], targetFiles);\r
+ libUtility.buildLibrary ("", "false", libOptions, Pkg.name, socs["all"].targets[targets], targetFiles);\r
}\r
--\r
- \r
++
/* Build library targets for device dependent SoCs */\r
for (var soc=0; soc < soc_names.length; soc++) \r
{\r
copts: dev.copts,\r
incs: lldIncludePath, \r
};\r
- libUtility.buildLibrary (soc_names[soc], "false", "true", libOptions, Pkg.name, dev.targets[targets], targetFiles_soc);\r
+ libUtility.buildLibrary (soc_names[soc], "true", libOptions, Pkg.name, dev.targets[targets], targetFiles_soc);\r
}\r
}\r
- \r
- \r
}\r
\r
/* Add all the .c files to the release package. */\r
diff --cc test/k2e/armv7/linux/build/makefile
index d089684a341c86678df04c16b371575ce7ffc06e,4650282e32484eb0cfa2245bc1be8a4096473479..4650282e32484eb0cfa2245bc1be8a4096473479
mode 100644,100755..100644
mode 100644,100755..100644
index ca89772699d431a296d13ce89a0dcab0623b4922,9ead7c97d765d04e55d3ec08f11f206e8840a40d..9ead7c97d765d04e55d3ec08f11f206e8840a40d
mode 100644,100755..100644
mode 100644,100755..100644
index 0000000000000000000000000000000000000000,2585d480aa3fb7a57e83d831b50d5ef1de8cd854..2585d480aa3fb7a57e83d831b50d5ef1de8cd854
mode 000000,100755..100644
mode 000000,100755..100644
--- /dev/null
diff --cc test/k2h/armv7/bios/cppi_test.cfg
index 0000000000000000000000000000000000000000,db92ff1316536af970dc4d930a24d2510f990885..db92ff1316536af970dc4d930a24d2510f990885
mode 000000,100755..100644
mode 000000,100755..100644
--- /dev/null
diff --cc test/k2h/armv7/bios/test_osal.c
index 0000000000000000000000000000000000000000,93eda0a48a65ac94c9cd1d59ca29c76544148e8b..93eda0a48a65ac94c9cd1d59ca29c76544148e8b
mode 000000,100755..100644
mode 000000,100755..100644
--- /dev/null
diff --cc test/k2h/armv7/linux/build/makefile
index 33bbe1e4ac687f2f5fe1dc96332e4c8ae1349ac8,56658e172e7200b6b30ff1597183540b50bc634b..56658e172e7200b6b30ff1597183540b50bc634b
mode 100644,100755..100644
mode 100644,100755..100644
index 007ce1f47cc43b075bc3233c5b07a68fe461b448,7ebfb3bb88aaaf611d53e8b7f16e157fc1a59eca..7ebfb3bb88aaaf611d53e8b7f16e157fc1a59eca
mode 100644,100755..100644
mode 100644,100755..100644
diff --cc test/k2k/armv7/linux/build/makefile
index 7b3bd7abddf659364a62a4ecb21a217cf3a1abcb,108a0092b7f78389ac002d4327cc18123dd7bedc..108a0092b7f78389ac002d4327cc18123dd7bedc
mode 100644,100755..100644
mode 100644,100755..100644
index c8f143a616508369e32e3c8e47f23506b84f506e,42870d720ce1e3278166f8aa9f07049602c88418..42870d720ce1e3278166f8aa9f07049602c88418
mode 100644,100755..100644
mode 100644,100755..100644
diff --cc test/k2l/armv7/linux/build/makefile
index 3540eed11b2047b0e206bd8014f1cdc654d49bbb,c704c0ca40da962fdfb113e498e8c8fc280d4233..c704c0ca40da962fdfb113e498e8c8fc280d4233
mode 100644,100755..100644
mode 100644,100755..100644
index 91fdfe6254d6c839f20e06b4617b56e366a8bfe7,fdbf0db6704325ffce8fb574a9c2c2fa2fdbb836..fdbf0db6704325ffce8fb574a9c2c2fa2fdbb836
mode 100644,100755..100644
mode 100644,100755..100644
diff --cc test/src/cppi_osal.h
index 80b0d6970a31586dfa992ba0b6f9236e8f49b52f,cac626b59d60f5daaf97a6c32db54ec609b4b7e2..cac626b59d60f5daaf97a6c32db54ec609b4b7e2
mode 100755,100755..100644
mode 100755,100755..100644
+++ b/test/src/cppi_osal.h
diff --cc test/src/cppi_test.c
index 136bedae2ee4ee70930794ddaa0a818c6c369ea2,eec2a1b9001433f84a834a6c404a6778817fa243..eec2a1b9001433f84a834a6c404a6778817fa243
mode 100755,100755..100644
mode 100755,100755..100644
+++ b/test/src/cppi_test.c
diff --cc test/src/qmss_osal.h
index 80fe73258f6a5f5c64f43295ed0d947e42d549a5,b3b1759f357b4a556147c049b3f76bd6cdd80abc..b3b1759f357b4a556147c049b3f76bd6cdd80abc
mode 100755,100755..100644
mode 100755,100755..100644
+++ b/test/src/qmss_osal.h
diff --cc test/src/test_host_mode.c
index 749e17bbe28f2127a2f9fac3ef63ad9d1bdcb25d,64669022c0d7d351d5c9f0104e0b63a0a8a508b2..64669022c0d7d351d5c9f0104e0b63a0a8a508b2
mode 100755,100755..100644
mode 100755,100755..100644