Fix Deh/Watchdog packaging issues, move StackDbg to ti/deh
authorRobert Tivy <rtivy@ti.com>
Thu, 22 May 2014 22:27:46 +0000 (15:27 -0700)
committerRobert Tivy <rtivy@ti.com>
Wed, 28 May 2014 00:19:47 +0000 (17:19 -0700)
Fixes various packaging problems, including moving StackDbg from
ti/trace to ti/deh.

Fix IpuSmp.cfg to use correct Timer index for GPTimer3 (for OMAP5 IPU).

Cleaned up test configs wrt/ using Deh.  Config files for slaves that
have Deh/Watchdog but are not officially supported have commented-out
Deh/Watchdog config (OMAP5 IPU & DRA7XX IPU2 are the only slaves that
are officially supported).

18 files changed:
packages/ti/deh/Deh.c
packages/ti/deh/Deh.xs
packages/ti/deh/StackDbg.c [moved from packages/ti/trace/StackDbg.c with 100% similarity]
packages/ti/deh/StackDbg.xdc [moved from packages/ti/trace/StackDbg.xdc with 100% similarity]
packages/ti/deh/StackDbg.xs [moved from packages/ti/trace/StackDbg.xs with 100% similarity]
packages/ti/deh/Watchdog.c
packages/ti/deh/package.bld
packages/ti/deh/package.xdc
packages/ti/deh/package.xs
packages/ti/ipc/tests/Dsp.cfg
packages/ti/ipc/tests/Dsp_vayu.cfg
packages/ti/ipc/tests/IpcCommon_omap5.cfg.xs
packages/ti/ipc/tests/IpcCommon_vayu.cfg.xs
packages/ti/ipc/tests/Ipu1Smp.cfg
packages/ti/ipc/tests/Ipu2Smp.cfg
packages/ti/ipc/tests/IpuSmp.cfg
packages/ti/trace/package.bld
packages/ti/trace/package.xdc

index 92e32510fd3defabd9e8ea48f7cdae967f6b3fb5..836199148aca2a5b70842da38fda72471e9527e1 100644 (file)
@@ -51,7 +51,7 @@
 #include <ti/sysbios/family/arm/m3/Hwi.h>
 
 #include <ti/ipc/MultiProc.h>
-#include <ti/trace/StackDbg.h>
+#include <ti/deh/StackDbg.h>
 #include <ti/deh/Watchdog.h>
 
 /* TBD: VirtQueue.h needs to somehow get factored out of family directory .*/
index fcfcdc1f13fcf4665d9dd6c49780d5ea67c26284..ab4911af95373cc75042322091f039374edf7c6f 100644 (file)
@@ -62,7 +62,7 @@ function module$use()
         Exception.exceptionHook = Deh.excHandlerDsp;
     }
     else {
-        xdc.useModule('ti.trace.StackDbg');
+        xdc.useModule('ti.deh.StackDbg');
     }
 
     Swi = xdc.useModule('ti.sysbios.knl.Swi');
index cd06a4fec1c1f23965aa9f2ac7bb8821f4d49953..8031a4a6e552ef83ab8b8e6d6b3abea09106b0b5 100644 (file)
@@ -213,7 +213,7 @@ Void Watchdog_init( Void (*timerFxn)(Void) )
 #endif
     }
 
-#if defined(OMAP5)
+#if defined(OMAP5) || defined(IPU)
     /* Register callback function */
     if (!IpcPower_registerCallback(IpcPower_Event_RESUME, Watchdog_restore,
                                     NULL)) {
index 8fa0b7708e96ae1e0776f47496f9478781861a5f..1fd7567a69d71b31c3ee4a41d339bd950bf3704d 100644 (file)
@@ -47,23 +47,18 @@ Pkg.attrs.exportSrc = true;
 Pkg.attrs.exportCfg = true;
 Pkg.otherFiles = [
     "Deh.h",
+    "StackDbg.h",
     "Watchdog.h",
 ];
 
 var myCopts = "";
-var SRCS_IPU = ["Deh.c", "Watchdog.c"]
+var SRCS_IPU = ["Deh.c", "Watchdog.c", "StackDbg.c"]
 var SRCS_DSP = ["DehDsp.c", "Watchdog.c"]
 
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
     var name = Pkg.name;
 
-    if (targ.$name.match(/^ti\.targets\.*/)) {
-        myCopts = "--gcc";  /* Rpmsg.h requires gcc-isms */
-    } else {
-        myCopts = "";
-    }
-
     if (targ.isa == "674") {
         continue;
     }
index 0d17dd304ca82521390e6291c2f1697a003304e7..7074f7cd33faa059f78ef66a04498d782a35db82 100644 (file)
@@ -37,5 +37,6 @@
 
 package ti.deh [1,0,0,0] {
     module Deh;
+    module StackDbg;
     module Watchdog;
 };
index 780800eda1ceda861684a71851d69463b6f50c25..6a0156e16d6507645cbcd80ff2039874913877bb 100644 (file)
 function getLibs(prog)
 {
     var suffix;
-    var file;
-    var libAry = [];
+    var lib;
     var profile = this.profile;
     var smp = "";
+    var plat = "";
 
     suffix = prog.build.target.findSuffix(this);
     if (suffix == null) {
         return "";  /* nothing to contribute */
     }
 
-    if (prog.platformName.match(/IPU/) ||
-        prog.platformName.match(/ipu/)) {
-        smp = "_smp";
+    var device = Program.cpu.deviceName;
+    switch (device) {
+       case "OMAP5430": /* OMAP5 */
+           plat = "_omap5";
+           break;
+
+       case "Vayu":
+       case "DRA7XX":
+           plat = "_vayu";
+           break;
+
+       default:
+           throw new Error("Unsupported device: " + device);
+           break;
     }
 
-    /* make sure the library exists, else fallback to a built library */
-    file = "lib/" + profile + "/ti.deh" + smp +".a" + suffix;
-    if (java.io.File(this.packageBase + file).exists()) {
-        libAry.push(file);
+    if (Program.build.target.isa.match(/v7M(|4)/)) {
+        smp = "_smp";
     }
-    else {
-        file = "lib/release/ti.deh" + smp +".a" + suffix;
-        if (java.io.File(this.packageBase + file).exists()) {
-            libAry.push(file);
-        }
-        else {
-            /* fallback to a compatible library built by this package */
-            for (var p in this.build.libDesc) {
-                if (suffix == this.build.libDesc[p].suffix) {
-                    libAry.push(p);
-                    break;
-                }
-            }
-        }
+
+    var name = "/ti.deh" + plat + smp + ".a" + suffix;
+    lib = "lib/" + profile + name;
+
+    /*
+     * If the requested profile doesn't exist, we return the 'release' library.
+     */
+    if (!java.io.File(this.packageBase + lib).exists()) {
+        $trace("Unable to locate lib for requested '" + this.profile +
+                "' profile.  Using 'release' profile.", 1, ['getLibs']);
+        lib = "lib/release/" + name;
     }
 
-    return libAry.join(";");
+    return lib;
 }
index cbcd8c3d90ada97d9cf22442afa21329c5c0bbec..8ddbc9d7a6b53fd693130d956489e6bde9ec3bf1 100644 (file)
@@ -75,7 +75,9 @@ Power.loadSegment = "PM_DATA";
 var Idle = xdc.useModule('ti.sysbios.knl.Idle');
 Idle.addFunc('&VirtQueue_cacheWb');
 
-Idle.addFunc('&ti_deh_Deh_idleBegin'); /* Must be placed before pwr mgmt */
+//var Deh = xdc.useModule('ti.deh.Deh');
+
+//Idle.addFunc('&ti_deh_Deh_idleBegin'); /* Must be placed before pwr mgmt */
 Idle.addFunc('&IpcPower_idle');        /* IpcPower_idle must be at the end */
 
 var HeapBuf   = xdc.useModule('ti.sysbios.heaps.HeapBuf');
@@ -112,7 +114,6 @@ Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
 Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;
 
 var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
-var Deh = xdc.useModule('ti.deh.Deh');
 Hwi.enableException = true;
 
 /* -------------------------------- DSP ----------------------------------*/
index 7d378b66d86ed359db59d88dac1825312cd603e9..4f83557e6f452f03e871524b4467460024897cd6 100644 (file)
@@ -81,8 +81,10 @@ Power.loadSegment = "PM_DATA";
 var Idle = xdc.useModule('ti.sysbios.knl.Idle');
 Idle.addFunc('&VirtQueue_cacheWb');
 
+//var Deh = xdc.useModule('ti.deh.Deh');
+
 //Idle.addFunc('&ti_deh_Deh_idleBegin'); /* Must be placed before pwr mgmt */
-//Idle.addFunc('&IpcPower_idle');        /* IpcPower_idle must be at the end */
+//TBD: Idle.addFunc('&IpcPower_idle');        /* IpcPower_idle must be at the end */
 
 var HeapBuf   = xdc.useModule('ti.sysbios.heaps.HeapBuf');
 var List      = xdc.useModule('ti.sdo.utils.List');
@@ -118,7 +120,6 @@ Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
 Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;
 
 var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
-//var Deh = xdc.useModule('ti.deh.Deh');
 Hwi.enableException = true;
 
 /* -------------------------------- DSP ----------------------------------*/
index 1a2721fdf75d09d22a73df717f7fc0af050d9fe3..36da58e50b50888df4e451cd945d0f54575f27c6 100644 (file)
@@ -103,12 +103,11 @@ Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
 Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;
 
 var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
-var Deh = xdc.useModule('ti.deh.Deh');
 Hwi.enableException = true;
 Hwi.nvicCCR.DIV_0_TRP = 1;
 
 /* Include stack debug helper */
-var StackDbg = xdc.useModule('ti.trace.StackDbg');
+var StackDbg = xdc.useModule('ti.deh.StackDbg');
 
 var dmTimer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
 /* dmTimer 0 mapped to GPT3 */
index 5f8000f47052330e31d5e50e0c5e65c8aea08d59..79f7e099730a3ca6a13b1f5c12c5720d0f8efbc6 100644 (file)
@@ -105,13 +105,12 @@ Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
 Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;
 
 var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
-//TBD: var Deh = xdc.useModule('ti.deh.Deh');
 Hwi.enableException = true;
 Hwi.nvicCCR.DIV_0_TRP = 1;
 
 /* Include stack debug helper */
 /* TBD:
-var StackDbg = xdc.useModule('ti.trace.StackDbg');
+var StackDbg = xdc.useModule('ti.deh.StackDbg');
 */
 
 var dmTimer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
index c612e9721714b30a7b32a9f568ae5713c95b1783..2e78edaf7399a745271cc82929386201cab47fe9 100644 (file)
@@ -69,16 +69,19 @@ var Idle = xdc.useModule('ti.sysbios.knl.Idle');
 Idle.addCoreFunc('&VirtQueue_cacheWb', 0);
 Idle.addCoreFunc('&VirtQueue_cacheWb', 1);
 
+var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
+Hwi.enableException = true;
+
+//var Deh = xdc.useModule('ti.deh.Deh');
+
 /* Watchdog detection functions in each core */
+/* Must be placed before pwr mgmt */
 //Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 0);
 //Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 1);
 
-var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
-Hwi.enableException = true;
-
 /* Idle Power Management functions for each core */
-Idle.addCoreFunc('&IpcPower_idle', 0);
-Idle.addCoreFunc('&IpcPower_idle', 1);
+Idle.addCoreFunc('&IpcPower_idle', 0); /* IpcPower_idle must be at the end */
+Idle.addCoreFunc('&IpcPower_idle', 1); /* IpcPower_idle must be at the end */
 
 Program.sectMap[".tracebuf"] = "TRACE_BUF";
 Program.sectMap[".errorbuf"] = "EXC_DATA";
index b7be6d7c4298e1924a3a65636e22d2786de95536..dd4662aaa0bedbf50b2b07877ef8560727ddae48 100644 (file)
@@ -69,17 +69,19 @@ var Idle = xdc.useModule('ti.sysbios.knl.Idle');
 Idle.addCoreFunc('&VirtQueue_cacheWb', 0);
 Idle.addCoreFunc('&VirtQueue_cacheWb', 1);
 
+var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
+Hwi.enableException = true;
+
+var Deh = xdc.useModule('ti.deh.Deh');
+
 /* Watchdog detection functions in each core */
+/* Must be placed before pwr mgmt */
 Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 0);
 Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 1);
-var Deh = xdc.useModule('ti.deh.Deh');
-
-var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
-Hwi.enableException = true;
 
 /* Idle Power Management functions for each core */
-Idle.addCoreFunc('&IpcPower_idle', 0);
-Idle.addCoreFunc('&IpcPower_idle', 1);
+Idle.addCoreFunc('&IpcPower_idle', 0); /* IpcPower_idle must be at the end */
+Idle.addCoreFunc('&IpcPower_idle', 1); /* IpcPower_idle must be at the end */
 
 Program.sectMap[".tracebuf"] = "TRACE_BUF";
 Program.sectMap[".errorbuf"] = "EXC_DATA";
index f12536c8645f125e4c956b39f02a1c3f8e96a7fc..ace598c6b39efa00369c3d7f2f0e886b2f03dfe9 100644 (file)
@@ -42,7 +42,7 @@ MultiProc.setConfig("IPU", ["HOST", "IPU", "DSP"]);
 var Clock = xdc.useModule('ti.sysbios.knl.Clock');
 Clock.tickSource = Clock.TickSource_USER;
 /* Configure GPTimer3 as BIOS clock source */
-Clock.timerId = 2;
+Clock.timerId = 0;
 
 var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
 var timerParams = new Timer.Params();
@@ -65,17 +65,19 @@ var Idle = xdc.useModule('ti.sysbios.knl.Idle');
 Idle.addCoreFunc('&VirtQueue_cacheWb', 0);
 Idle.addCoreFunc('&VirtQueue_cacheWb', 1);
 
+var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
+Hwi.enableException = true;
+
+var Deh = xdc.useModule('ti.deh.Deh');
+
 /* Watchdog detection functions in each core */
+/* Must be placed before pwr mgmt */
 Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 0);
 Idle.addCoreFunc('&ti_deh_Deh_idleBegin', 1);
-var Deh = xdc.useModule('ti.deh.Deh');
-
-var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
-Hwi.enableException = true;
 
 /* Idle Power Management functions for each core */
-Idle.addCoreFunc('&IpcPower_idle', 0);
-Idle.addCoreFunc('&IpcPower_idle', 1);
+Idle.addCoreFunc('&IpcPower_idle', 0); /* IpcPower_idle must be at the end */
+Idle.addCoreFunc('&IpcPower_idle', 1); /* IpcPower_idle must be at the end */
 
 Program.sectMap[".tracebuf"] = "TRACE_BUF";
 Program.sectMap[".errorbuf"] = "EXC_DATA";
index c1508f965f62229c857c98fb0b7a462b251aef3c..815a0bd5051f56a4b8d7e5c6b577f434a4aac1a7 100644 (file)
@@ -43,7 +43,7 @@ Pkg.generatedFiles.$add("lib/");
 
 /* add custom files to all releases */
 Pkg.attrs.exportSrc = true;
-Pkg.otherFiles = ["package.bld", "SysMin.h", "StackDbg.h"];
+Pkg.otherFiles = ["package.bld", "SysMin.h"];
 
 /* list of libraries to build */
 var libArray = new Array();
@@ -54,7 +54,6 @@ libArray.push(
         name: "ti.trace_smp",
         sources: [
             "SysMin.c",
-            "StackDbg.c",
         ],
         libAttrs: {
             defs: " -DSMP"
@@ -69,7 +68,6 @@ libArray.push(
         name: "ti.trace",
         sources: [
             "SysMin.c",
-            "StackDbg.c",
         ],
     }
 );
index 285c67e05f2021d3110411f3dafc1cc251530d50..1c9a4222de3dfa5a14c7ab12e8f5a551fcac349e 100644 (file)
@@ -38,5 +38,4 @@
 
 package ti.trace [0,0,0] {
     module SysMin;
-    module StackDbg;
 };