added c6657 lib build support
authorAravind Batni <aravindbr@ti.com>
Mon, 19 Oct 2015 21:52:34 +0000 (17:52 -0400)
committerAravind Batni <aravindbr@ti.com>
Mon, 19 Oct 2015 21:52:34 +0000 (17:52 -0400)
.gitignore [new file with mode: 0644]
build/buildlib.xs
config.bld [changed mode: 0755->0644]
package.bld
package.xdc [changed mode: 0755->0644]
package.xs
tcp3dver.h [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..1dd1f39
--- /dev/null
@@ -0,0 +1,27 @@
+*.sw?
+*~
+*.bak
+*.orig
+.dlls
+.executables
+.interfaces
+.libraries
+.xdcenv.mak
+Settings.h
+Settings.xdc
+build/c66/
+build/k2[hkle]/
+build/c6657/
+build/c6678/
+docs/Doxyfile
+docs/doxygen/
+docs/tcp3dlldDocs.chm
+lib/
+/makefile
+package.mak
+package/
+packages/
+analysis/
+test/*/c66/bios/src
+Debug/
+Release/
index 773eed8514acee259faa6d375dfa782e864d3040..20d9e25031428bd105c287aa0d3a82a2a3d527dd 100644 (file)
@@ -113,6 +113,8 @@ function createMake(makefile)
       \r
       makefile.writeLine("\n# Output for prebuilt generated libraries");\r
       makefile.writeLine("export LIBDIR ?= ./lib");\r
+      /* use sectti.exe from path */\r
+      makefile.writeLine("export SECTTI ?= sectti");\r
 \r
       /* Create INCDIR from XDCPATH */\r
     \r
@@ -152,7 +154,7 @@ function createMake(makefile)
       makefile.writeLine("export ROOTDIR := "+pkgroot);\r
     \r
       makefile.writeLine("\n# INCLUDE Directory");\r
-      makefile.writeLine("export INCDIR := "+getxdcpath+";$(ROOTDIR)");       \r
+      makefile.writeLine("export INCDIR := "+getxdcpath+";$(ROOTDIR);$(C6X_GEN_INSTALL_PATH)/include");       \r
     \r
       makefile.writeLine("\n# Common Macros used in make");  \r
       makefile.writeLine("\nifndef RM");     \r
@@ -191,11 +193,7 @@ function createMake(makefile)
       makefile.writeLine("\n# Clean Rule");          \r
       makefile.writeLine("clean:: clean_package");                  \r
       makefile.writeLine("# Clean Top Level Object Directory ");          \r
-      makefile.writeLine("clean_package:")\r
-      for each (var libdir in devices)\r
-      {         \r
-        makefile.writeLine("\t$(RMDIR) $(LIBDIR)/"+libdir.toString()+"/*/");  \r
-      }    \r
+      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");      \r
       makefile.writeLine("\t$(RMDIR) package/cfg");            \r
    }\r
    else\r
@@ -464,12 +462,26 @@ function buildLibrary (device, libOptions, libName, target, libFiles)
 \r
     /* Put the temp file in object directory since javascript doesn't have a built in tmpname, \r
      * and don't want --jobs=# with # > 1 to result in collisions */\r
-    var tempFile = "$(LIBDIR)/" + device.toString() + "/obj/tmp_" + target.suffix + ".xml";\r
-    Pkg.makeEpilogue += ".libraries: benchmarking_"  + device + "_" + target.suffix + "\n";\r
-    Pkg.makeEpilogue += "benchmarking_" + device + "_" + target.suffix + ":";\r
-    Pkg.makeEpilogue += "\n\t ofd6x -x " + lldFullLibraryPath + ".a" + target.suffix + " > " + tempFile;\r
-    Pkg.makeEpilogue += "\n\t sectti " + tempFile + " > " + lldFullLibraryPath + ".a" + target.suffix +  "_size.txt";\r
-    Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    var libFullName = lldFullLibraryPath + ".a" + target.suffix;\r
+    var tempFile = libFullName + ".xml";\r
+    Pkg.makeEpilogue += ".libraries: " + libFullName +  "_size.txt\n";\r
+    Pkg.makeEpilogue += libFullName +  "_size.txt: " + libFullName + "\n";\r
+    if ( java.lang.String(target.name).contains('66') )\r
+    {    \r
+        Pkg.makeEpilogue += "\n\t $(C6X_GEN_INSTALL_PATH)/bin/ofd6x -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }   \r
+    else if (target.name == "M4")\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_M4)/bin/armofd -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }\r
+    else\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)size " + libFullName + " > " + libFullName + "_size.txt";\r
+    }                \r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix + "_size.txt";\r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullBuildPath + ".a" + target.suffix + ".mk";\r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix;\r
@@ -482,63 +494,5 @@ function buildLibrary (device, libOptions, libName, target, libFiles)
     return lib;\r
 }\r
 \r
-/**************************************************************************\r
- * FUNCTION NAME : createMiniPkg\r
- **************************************************************************\r
- * DESCRIPTION   :\r
- *  The function is responsible for creating the mini tar package\r
- *  The MINI package has the following files:- \r
- *      - Driver Source Files. \r
- *      - Header files (exported and internal driver files) \r
- *      - Simple Makefiles. \r
- **************************************************************************/\r
-function createMiniPkg(pkgName)\r
-{\r
-    /* Get the package Name. */\r
-    var packageRepository = xdc.getPackageRepository(Pkg.name);\r
-    var packageBase       = xdc.getPackageBase(Pkg.name);\r
-    var packageName       = packageBase.substring(packageRepository.length + 1);\r
-\r
-    /* Convert the Package name by replacing back slashes with forward slashes. This is required because\r
-     * otherwise with long names the tar is unable to change directory. */\r
-    var newPkgName = new java.lang.String(packageRepository);\r
-    var newPkgRep  = newPkgName.replace('\\', '/');\r
-\r
-    /* Step1: Create the MINI Package and add the simple Big and Little Endian Makefiles to the package */\r
-    Pkg.makeEpilogue += "release: mini_pkg\n";\r
-    Pkg.makeEpilogue += "mini_pkg:\n";\r
-    Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -cf packages/" + pkgName + "_mini.tar " + \r
-                        packageName + "simpleC66LE.mak " + packageName + "simpleC66BE.mak\n";\r
-\r
-    /* Step2: Add the exported header files to the package */\r
-    var includeFiles = libUtility.listAllFiles (".h", ".", false);\r
-    for (var k = 0 ; k < includeFiles.length; k++)\r
-        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
-                        packageName + includeFiles[k] + "\n";\r
-\r
-    /* Step3: Add the internal header files to the package */\r
-    includeFiles = libUtility.listAllFiles (".h", "include", true);\r
-    for (var k = 0 ; k < includeFiles.length; k++)\r
-        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
-                        packageName + includeFiles[k] + "\n";\r
-\r
-    /* Step4: Add the PDSP firmware files to the package */\r
-    includeFiles = libUtility.listAllFiles (".h", "firmware", true);\r
-    for (var k = 0 ; k < includeFiles.length; k++)\r
-        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
-                        packageName + includeFiles[k] + "\n";\r
-\r
-    /* Step5: Add the device specific files to the package */\r
-    includeFiles = libUtility.listAllFiles (".c", "device", true);\r
-    for (var k = 0 ; k < includeFiles.length; k++)\r
-        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
-                        packageName + includeFiles[k] + "\n";\r
-\r
-    /* Step4: Add the driver source files to the package; the filter should have generated a source listing */\r
-    Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -T src.lst -rf packages/" + pkgName + "_mini.tar " + "\n";\r
-\r
-    /* Ensure that we clean up the mini package */\r
-    Pkg.makeEpilogue += "clean::\n";\r
-    Pkg.makeEpilogue += "\t $(RM) packages/" + pkgName + "_mini.tar\n";\r
-}\r
+\r
 \r
old mode 100755 (executable)
new mode 100644 (file)
index 9243e0f..8f0bdc5
@@ -59,61 +59,14 @@ C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
 if(extDbgFlags)\r
     C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags; \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 C66 LE ELF 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
-if (miniBuild == "ON")\r
-{\r
-    /* Add the filter for simple Makefile generation. Generate mini filters for C66 ELF only. */\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
 /* List all the build targets here. */\r
 Build.targets = [ C66LE, C66BE ];\r
 \r
 /* List of all devices that combine to make the hyplnk library.\r
  */\r
-var devices = [ "k2k/c66", "k2h/c66", "k2l/c66" ];\r
+var devices = [ "k2k/c66", "k2h/c66", "k2l/c66", "c6657/c66" ];\r
 \r
 /* order must exactly match list in "var devices" */\r
-var devicesCCOpt = [ " -DDEVICE_K2K", " -DDEVICE_K2H", " -DDEVICE_K2L" ];\r
+var devicesCCOpt = [ " -DDEVICE_K2K", " -DDEVICE_K2H", " -DDEVICE_K2L", "-DSOC_C6657"];\r
 \r
index 5f02a0a3d86c6cefbff44b9f49d5e49eca2d4523..56770c277cbe23ccaf49cdf307035c855178136b 100644 (file)
@@ -52,7 +52,6 @@ print ("TCP3D Driver Version            : " + tcp3dDriverReleaseVersion);
 print ("Tools Directory                 : " + toolsBaseDir);\r
 print ("RTSC File Name                 : " + tcp3dRTSCFileName);\r
 print ("TCP3D Driver Path               : " + tcp3dDriverPath);\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 ("**********************************************************");\r
@@ -108,105 +107,4 @@ tplt.genFile("./tcp3dver.h",tcp3dDriverReleaseVersion);
 var tplt = xdc.loadTemplate("./docs/eclipse/sample.xml.xdt");\r
 tplt.genFile("./docs/eclipse/sample.xml",tcp3dDriverReleaseVersion); \r
 \r
-\r
-/***************************************************************************\r
- ********************************* MINI Package ****************************\r
- ***************************************************************************/\r
-/* Check if we need to create the mini package? */\r
-var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
-\r
-if (miniBuild == "ON")\r
-{\r
-    /* Create the MINI RTSC Package */\r
-    var additionalFiles = [];\r
-\r
-    var libUtility = xdc.loadCapsule ("build/buildlib.xs");\r
-    libUtility.createMiniPkg(tcp3dRTSCFileName, additionalFiles);\r
-}\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 (tcp3dDriverInstallType == "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_tcp3d_<device>_<version>.exe \r
-     */\r
-    var InstallJammerVersion =  "-DVersion " +\r
-                                tcp3dPartNumber + "_" + \r
-                                tcp3dDriverReleaseVersion[0] + "_" +\r
-                                tcp3dDriverReleaseVersion[1] + "_" +  \r
-                                tcp3dDriverReleaseVersion[2] + "_" +\r
-                                tcp3dDriverReleaseVersion[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 " + tcp3dDriverPath + "./tmp";\r
-\r
-    /* This is the location where the TCP3D Driver will be installed by default. */\r
-    var WinInstallDir = " -DWinInstallDir " + \r
-                        "C:/ti/tcp3d" + "_" + \r
-                        tcp3dPartNumber + "_" + \r
-                        tcp3dDriverReleaseVersion[0] + "_" +\r
-                        tcp3dDriverReleaseVersion[1] + "_" +  \r
-                        tcp3dDriverReleaseVersion[2] + "_" +\r
-                        tcp3dDriverReleaseVersion[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/" + tcp3dRTSCFileName + ".tar" + " -Ctmp/packages \n";\r
-    Pkg.makeEpilogue += "\t installjammer " + InstallJammerVersion + PackageBaseDir + WinInstallDir + \r
-                        " --output-dir packages/ --build install/tcp3d.mpi\n";\r
-    Pkg.makeEpilogue += "\t -$(RMDIR) tmp\n\n";\r
-}\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) .xdcenv.mak\n";\r
-Pkg.makeEpilogue += "\t -$(RM) tcp3dver.h\n";\r
-Pkg.makeEpilogue += "\t -$(RM) Settings.xdc\n";\r
-Pkg.makeEpilogue += "\t -$(RM) makefile\n";\r
-Pkg.makeEpilogue += "\t -$(RM) docs/TCP3D_DRV_APIIF.chm\n";\r
-Pkg.makeEpilogue += "\t -$(RM) docs/TCP3D_DRV_doxconfig\n";\r
-Pkg.makeEpilogue += "\t -$(RM) docs/eclipse/sample.xml\n";\r
-Pkg.makeEpilogue += "\t -$(RMDIR) docs/doxy/rtf\n";\r
-Pkg.makeEpilogue += "\t -$(RMDIR) docs/doxy/html\n";\r
-Pkg.makeEpilogue += "\t -$(RMDIR) lib\n";\r
-// for (var i = 0; i < devices.length; i++)\r
-// {\r
-    // Pkg.makeEpilogue += "\t -$(RMDIR) lib/" + devices[i].split("/")[0] + "\n";\r
-// }\r
-if (tcp3dDriverInstallType == "SETUP")\r
-{\r
-    Pkg.makeEpilogue += "\t -$(RM) packages/*.exe\n";\r
-    Pkg.makeEpilogue += "\t -$(RM) packages/*.bin\n";\r
-    Pkg.makeEpilogue += "\t -$(RMDIR) eclipse\n";\r
-    Pkg.makeEpilogue += "\t -$(RMDIR) tmp\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
+    \r
old mode 100755 (executable)
new mode 100644 (file)
index 3807f3cead75d02d3644ced434a93cdc66de3464..e4713ca9025cb1bcf2bcedc39eb555be9e22f368 100644 (file)
@@ -33,6 +33,7 @@ function getLibs(prog)
                         'k2k',\r
                         'k2h',\r
                         'k2l',\r
+                        'c6657'\r
                       ];\r
     \r
     /* Search for the supported devices (defined in config.bld) */\r
diff --git a/tcp3dver.h b/tcp3dver.h
new file mode 100644 (file)
index 0000000..c3e87d4
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef _TCP3DVER_H
+#define _TCP3DVER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================= */
+/**
+ *   @file  tcp3dver.h
+ *
+ *   path  ti/drv/tcp3d/tcp3dver.h
+ *
+ *   @brief  TCP3D Driver Version Definitions
+ *
+ *  ============================================================
+ *  Copyright (c) Texas Instruments Incorporated 2009,2011,2014
+ * 
+ *  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.
+ *
+*/
+
+/**
+ * @brief   This is the TCP3D Driver Version. Versions numbers are encoded in the following 
+ * format:
+ *  0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
+ */
+#define TCP3D_DRV_VERSION_ID                   (0x02010003)
+
+/**
+ * @brief   This is the version string which describes the TCP3D Driver along with the
+ * date and build information.
+ */
+#define TCP3D_DRV_VERSION_STR                  "TCP3D Driver Revision: 02.01.00.03"
+
+
+#ifdef __cplusplus
+}
+#endif
+  
+
+#endif  /* _TCP3DVER_H */