]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/tcp3d-lld.git/commitdiff
added CCS project for C6657
authorAravind Batni <aravindbr@ti.com>
Mon, 19 Oct 2015 21:59:41 +0000 (17:59 -0400)
committerAravind Batni <aravindbr@ti.com>
Mon, 19 Oct 2015 21:59:41 +0000 (17:59 -0400)
example/c6657/c66/bios/link.cmd [new file with mode: 0644]
example/c6657/c66/bios/sample_config.cfg [new file with mode: 0644]
example/c6657/c66/bios/tcp3d_evmc6657_C66BiosExampleProject.txt [new file with mode: 0644]
example/c6657/c66/bios/tcp3d_osal.c [new file with mode: 0644]
test/c6657/c66/bios/link_test.cmd [new file with mode: 0644]
test/c6657/c66/bios/tcp3d_drv_test.cfg [new file with mode: 0644]
test/c6657/c66/bios/tcp3d_evmc6657_C66BiosTestProject.txt [new file with mode: 0644]
test/c6657/c66/bios/tcp3d_osal.h [new file with mode: 0644]

diff --git a/example/c6657/c66/bios/link.cmd b/example/c6657/c66/bios/link.cmd
new file mode 100644 (file)
index 0000000..cc5e21b
--- /dev/null
@@ -0,0 +1,7 @@
+SECTIONS\r
+{\r
+       .init_array: load >> L2SRAM\r
+       .csl_vect               > L2SRAM\r
+       .main_mem               > L2SRAM\r
+       .profile_mem    > L2SRAM\r
+}\r
diff --git a/example/c6657/c66/bios/sample_config.cfg b/example/c6657/c66/bios/sample_config.cfg
new file mode 100644 (file)
index 0000000..ca12830
--- /dev/null
@@ -0,0 +1,135 @@
+/*\r
+ * ======== sample_config.cfg ========\r
+ */\r
+\r
+/* IPC packages */\r
+var ListMP = xdc.useModule('ti.sdo.ipc.ListMP');\r
+var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');\r
+var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');\r
+var HeapMemMP = xdc.useModule('ti.sdo.ipc.heaps.HeapMemMP');\r
+var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');\r
+var Ipc         = xdc.useModule('ti.sdo.ipc.Ipc');\r
+\r
+/* Configure System to use SysMin */\r
+System = xdc.useModule('xdc.runtime.System');\r
+SysStd  = xdc.useModule('xdc.runtime.SysStd');\r
+System.SupportProxy = xdc.useModule('xdc.runtime.SysMin')\r
+System.SupportProxy = SysStd;\r
+System.extendedFormats = "%$S%f";\r
+\r
+/* Set the system stack - 0x2000 */\r
+Program.stack = 0x4000;\r
+\r
+var Memory = xdc.useModule('xdc.runtime.Memory');\r
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');\r
+\r
+/* Use HeapMem for default heap manager and give it 49152 (0xC000)\r
+ * bytes to work with.\r
+ */\r
+Program.sectMap["systemHeap"] = Program.platform.dataMemory;\r
+var heapMemParams = new HeapMem.Params;\r
+heapMemParams.size = 0x18000;\r
+heapMemParams.sectionName = "systemHeap";\r
+Memory.defaultHeapInstance = HeapMem.create(heapMemParams);\r
+\r
+/*\r
+ * Creating Heap Memories for using with test application\r
+ */\r
+/* Create a heap for TCP3D input/output data using ti.bios.HeapMem. */\r
+/* Program.sectMap["tcp3DataSection"] = {loadSegment: "MSMCSRAM"};\r
+var heapMemParams1 = new HeapMem.Params;\r
+heapMemParams1.size = 0x100000;\r
+heapMemParams1.align = 64;\r
+heapMemParams1.sectionName = "tcp3DataSection";\r
+Program.global.tcp3dDataHeap = HeapMem.create(heapMemParams1); */\r
+\r
+/* Create a heap for TCP3D driver using ti.bios.HeapMem. */\r
+Program.sectMap["tcp3DriverSection"] = Program.platform.dataMemory;\r
+var heapMemParams2 = new HeapMem.Params;\r
+heapMemParams2.size = 0x4000;\r
+heapMemParams2.sectionName = "tcp3DriverSection";\r
+Program.global.tcp3dDrvHeap = HeapMem.create(heapMemParams2);\r
+\r
+/* Create a heap for TCP3D QUEUE DESCRIPTORS using ti.bios.HeapMem. */\r
+Program.sectMap["tcp3QueueDescrSection"] = Program.platform.dataMemory;\r
+var heapMemParams3 = new HeapMem.Params;\r
+heapMemParams3.size = 4096;\r
+heapMemParams3.sectionName = "tcp3QueueDescrSection";\r
+Program.global.tcp3dQueHeap = HeapMem.create(heapMemParams3);\r
+\r
+/* To avoid wasting shared memory for Notify and MessageQ transports */\r
+for (var i = 0; i < MultiProc.numProcessors; i++) {\r
+    Ipc.setEntryMeta({\r
+        remoteProcId: i,\r
+        setupNotify: false,\r
+        setupMessageQ: false,\r
+    });\r
+}\r
+\r
+\r
+SharedRegion.setEntryMeta(0,\r
+    { base: 0x0C000000,\r
+      len: 0x100000,\r
+      ownerProcId: 0,\r
+      cacheLineSize: 64,\r
+      isValid: true,\r
+      name: "sharemem",\r
+    });\r
+\r
+/* \r
+ * Pull in Timer, Semaphore, Swi, Task, and Queue modules\r
+ * used in this example.\r
+ */\r
+var BIOS = xdc.useModule('ti.sysbios.BIOS');\r
+xdc.useModule('ti.sysbios.hal.Timer');\r
+xdc.useModule('ti.sysbios.knl.Semaphore');\r
+xdc.useModule('ti.sysbios.knl.Swi');\r
+xdc.useModule('ti.sysbios.knl.Task');\r
+xdc.useModule('ti.sysbios.hal.Cache');\r
+xdc.useModule('ti.sysbios.family.c64p.Hwi');\r
+xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');\r
+xdc.useModule('xdc.runtime.Log');\r
+xdc.useModule('xdc.runtime.Error');\r
+var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');\r
+var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');\r
+\r
+/*\r
+ * Enable Event Groups here and registering of ISR for specific GEM INTC is done\r
+ * using EventCombiner_dispatchPlug() and Hwi_eventMap() APIs\r
+ */\r
+ECM.eventGroupHwiNum[0] = 7;\r
+ECM.eventGroupHwiNum[1] = 8;\r
+ECM.eventGroupHwiNum[2] = 9;\r
+ECM.eventGroupHwiNum[3] = 10;\r
+\r
+/*\r
+ * Setup the Logger for Driver\r
+ */\r
+var LoggerSys0Params0 = new LoggerSys.Params;\r
+LoggerSys0Params0.instance.name = 'tcp3dDrvLog';\r
+Program.global.tcp3dDrvLog = LoggerSys.create(LoggerSys0Params0);\r
+\r
+/*\r
+ * allow printf() to be called from Swi threads. Note that use of this gate\r
+ * incurs additional latency for Swi processing since Swi scheduler will be\r
+ * disabled to manage critical sections within the RTS library code.\r
+BIOS.rtsGateType = BIOS.GateSwi;\r
+ */\r
+\r
+\r
+/*\r
+ * Adding the other Dependent packages\r
+ */\r
+/*xdc.loadPackage('ti.wbi.common.api');*/\r
+xdc.loadPackage('ti.sdo.edma3.drv');\r
+\r
+/* Load the TCP3D package */\r
+var Tcp3d = xdc.useModule('ti.drv.tcp3d.Settings');\r
+Tcp3d.deviceType = "c6657";\r
+\r
+/* Load the CSL package */\r
+var Csl = xdc.useModule('ti.csl.Settings');\r
+\r
+/* Device specific configuration */\r
+var devName = "c6657";\r
+Csl.deviceType      = devName;\r
diff --git a/example/c6657/c66/bios/tcp3d_evmc6657_C66BiosExampleProject.txt b/example/c6657/c66/bios/tcp3d_evmc6657_C66BiosExampleProject.txt
new file mode 100644 (file)
index 0000000..bf82d79
--- /dev/null
@@ -0,0 +1,16 @@
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_drv_sample_init.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_example_main.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/sample_cfg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/sample_cs.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/sample_init.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/sample_int_reg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/CpIntc_local.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_codeBlkSeg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_inputConfigPrep.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_itg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/src/tcp3d_testset_functions.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/c6657/c66/bios/tcp3d_osal.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/c6657/c66/bios/link.cmd"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/example/c6657/c66/bios/sample_config.cfg"
+-ccs.setCompilerOptions "-mv6600 -g -DSOC_C6657 -DUSE_TCP3D_DRIVER_TYPES --diag_warning=225 -I${TCP3D_INSTALL_PATH} -I${TCP3D_INSTALL_PATH}/ti/drv/tcp3d/example/src"
+-rtsc.enableRtsc
diff --git a/example/c6657/c66/bios/tcp3d_osal.c b/example/c6657/c66/bios/tcp3d_osal.c
new file mode 100644 (file)
index 0000000..92dc8d8
--- /dev/null
@@ -0,0 +1,82 @@
+/**\r
+ *   @file  sample_osal.c\r
+ *\r
+ *   @brief   \r
+ *      This is the OS abstraction layer and is used by the CPPI and QMSS\r
+ *      low level drivers for the CPPI sample example.\r
+ *\r
+ *  \par\r
+ *  ============================================================================\r
+ *  @n   (C) Copyright 2009, Texas Instruments, Inc.\r
+ * \r
+ *  Redistribution and use in source and binary forms, with or without \r
+ *  modification, are permitted provided that the following conditions \r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright \r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the \r
+ *    documentation and/or other materials provided with the   \r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+*/\r
+/* XDC includes */ \r
+#include <xdc/std.h>\r
+#include <xdc/cfg/global.h>\r
+\r
+/**\r
+ *  @b Description\r
+ *  @n  \r
+ *      The function is the TCP3D OSAL Logging API which logs \r
+ *      the messages on the console.\r
+ *\r
+ *  @param[in]  fmt\r
+ *      Formatted String.\r
+ *\r
+ *  @retval\r
+ *      Not Applicable\r
+ */\r
+void Osal_tcp3dLog ( char *fmt, ... )\r
+{\r
+}\r
+\r
+/**\r
+ *  @b Description\r
+ *  @n  \r
+ *      The function is the TCP3D OSAL memory copy API which is directly \r
+ *      mapped to memcpy funciton.\r
+ *\r
+ *  @param[in]  _s1\r
+ *      destination address\r
+ *\r
+ *  @param[in]  _s2\r
+ *      source address\r
+ *\r
+ *  @param[in]  _n\r
+ *      number of bytes\r
+ *\r
+ *  @retval\r
+ *      destination address\r
+ */\r
+void* Osal_memcpy(void *_s1, const void *_s2, size_t _n)\r
+{\r
+    return memcpy(_s1, _s2, _n);\r
+}\r
diff --git a/test/c6657/c66/bios/link_test.cmd b/test/c6657/c66/bios/link_test.cmd
new file mode 100644 (file)
index 0000000..3e83883
--- /dev/null
@@ -0,0 +1,7 @@
+SECTIONS\r
+{\r
+        .init_array: load >> L2SRAM\r
+       .csl_vect               > L2SRAM\r
+       .main_mem               > L2SRAM\r
+       .profile_mem    > L2SRAM\r
+}\r
diff --git a/test/c6657/c66/bios/tcp3d_drv_test.cfg b/test/c6657/c66/bios/tcp3d_drv_test.cfg
new file mode 100644 (file)
index 0000000..0fd7924
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+ * ======== tcp3d_drv_test.cfg ========
+ */
+
+/* IPC packages */
+var ListMP = xdc.useModule('ti.sdo.ipc.ListMP');
+var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');
+var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
+var HeapMemMP = xdc.useModule('ti.sdo.ipc.heaps.HeapMemMP');
+var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
+var Ipc         = xdc.useModule('ti.sdo.ipc.Ipc');
+
+/*
+ * Configure System to use SysMin
+ */
+System = xdc.useModule('xdc.runtime.System');
+SysStd  = xdc.useModule('xdc.runtime.SysStd');
+System.SupportProxy = xdc.useModule('xdc.runtime.SysMin')
+System.SupportProxy = SysStd;
+System.extendedFormats = "%$S%f";
+
+/* Set the system stack - 0x2000 */
+Program.stack = 0x4000;
+
+/*
+ * Pull in BIOS modules
+ */
+xdc.useModule('ti.sysbios.BIOS');
+xdc.useModule('ti.sysbios.hal.Timer');
+xdc.useModule('ti.sysbios.knl.Semaphore');
+xdc.useModule('ti.sysbios.knl.Swi');
+xdc.useModule('ti.sysbios.knl.Task');
+xdc.useModule('ti.sysbios.hal.Cache');
+xdc.useModule('xdc.runtime.Log');
+xdc.useModule('xdc.runtime.Error');
+
+/*
+ * Memory related modules and then allocate as needed
+ */
+var Memory = xdc.useModule('xdc.runtime.Memory');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+
+/* Use HeapMem for default heap manager and give it 49152 (0xC000)
+ * bytes to work with.
+ */
+Program.sectMap["systemHeap"] = Program.platform.dataMemory;
+var heapMemParams = new HeapMem.Params;
+heapMemParams.size = 0x18000;
+heapMemParams.sectionName = "systemHeap";
+Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+
+/*
+ * Creating Heap Memories for using with test application
+ */
+/* Create a heap for TCP3D input/output data using ti.bios.HeapMem. */
+/* Program.sectMap["tcp3DataSection"] = {loadSegment: "MSMCSRAM"};
+var heapMemParams1 = new HeapMem.Params;
+heapMemParams1.size = 0x180000;
+heapMemParams1.sectionName = "tcp3DataSection";
+Program.global.tcp3dDataHeap = HeapMem.create(heapMemParams1); */
+
+/* Create a heap for TCP3D driver using ti.bios.HeapMem. */
+Program.sectMap["tcp3DriverSection"] = Program.platform.dataMemory;
+var heapMemParams2 = new HeapMem.Params;
+heapMemParams2.size = 0x4000;
+heapMemParams2.sectionName = "tcp3DriverSection";
+Program.global.tcp3dDrvHeap = HeapMem.create(heapMemParams2);
+
+/* To avoid wasting shared memory for Notify and MessageQ transports */
+for (var i = 0; i < MultiProc.numProcessors; i++) {
+    Ipc.setEntryMeta({
+        remoteProcId: i,
+        setupNotify: false,
+        setupMessageQ: false,
+    });
+}
+
+
+SharedRegion.setEntryMeta(0,
+    { base: 0x0C000000,
+      len: 0x200000,
+      ownerProcId: 0,
+      cacheLineSize: 64,
+      isValid: true,
+      name: "sharemem",
+    });
+
+/*
+ * Setup the Logger for Driver
+ */
+var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');
+var LoggerSys0Params0 = new LoggerSys.Params;
+LoggerSys0Params0.instance.name = 'tcp3dDrvLog';
+Program.global.tcp3dDrvLog = LoggerSys.create(LoggerSys0Params0);
+
+/*
+ * Pull in modules for EDMA3 LLD use
+ */
+xdc.useModule('ti.sysbios.family.c64p.Hwi');
+xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
+var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
+
+/*
+ * Enable Event Groups here and registering of ISR for specific GEM INTC is done
+ * using EventCombiner_dispatchPlug() and Hwi_eventMap() APIs
+ */
+ECM.eventGroupHwiNum[0] = 7;
+ECM.eventGroupHwiNum[1] = 8;
+ECM.eventGroupHwiNum[2] = 9;
+ECM.eventGroupHwiNum[3] = 10;
+
+/*******************************************************************
+ * Other Dependent packages
+ *******************************************************************/
+/*xdc.loadPackage('ti.wbi.common.api');*/
+xdc.loadPackage('ti.sdo.edma3.drv');
+
+/* Load the CSL package */
+var Csl = xdc.useModule('ti.csl.Settings');
+
+/* Device specific configuration */
+var devName = "c6657";
+Csl.deviceType = devName;
+
+/* end of file */
diff --git a/test/c6657/c66/bios/tcp3d_evmc6657_C66BiosTestProject.txt b/test/c6657/c66/bios/tcp3d_evmc6657_C66BiosTestProject.txt
new file mode 100644 (file)
index 0000000..853a4ea
--- /dev/null
@@ -0,0 +1,18 @@
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/src/tcp3d_betaState.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/src/tcp3d_drv.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/src/tcp3d_reg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_drv_sample_init.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/sample_cfg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_main.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/sample_cs.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/sample_init.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/sample_int_reg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/CpIntc_local.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_codeBlkSeg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_inputConfigPrep.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_itg.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/src/tcp3d_testset_functions.c"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/c6657/c66/bios/link_test.cmd"
+-ccs.linkFile "TCP3D_INSTALL_PATH/ti/drv/tcp3d/test/c6657/c66/bios/tcp3d_drv_test.cfg"
+-ccs.setCompilerOptions "-mv6600 -g -DSOC_C6657 -DUSE_TCP3D_DRIVER_TYPES --diag_warning=225 -I${TCP3D_INSTALL_PATH} -I${TCP3D_INSTALL_PATH}/ti/drv/tcp3d/test/src -I${TCP3D_INSTALL_PATH}/ti/drv/tcp3d/test/c6657/c66/bios"
+-rtsc.enableRtsc
diff --git a/test/c6657/c66/bios/tcp3d_osal.h b/test/c6657/c66/bios/tcp3d_osal.h
new file mode 100644 (file)
index 0000000..5a76e86
--- /dev/null
@@ -0,0 +1,60 @@
+/**\r
+ *   @file  tcp3d_osal.h\r
+ *\r
+ *   @brief   \r
+ *      This is the OS adaptation layer for the TCP3D Driver which has \r
+ *      been ported for XDC Runtime and BIOS.\r
+ *\r
+ *      This is an example of <b> Approach 2 </b> in which the \r
+ *      application rebuilds the TCP3D driver with the new definitions.\r
+ *\r
+ *      Please refer to the 'tcp3d_osal.h' in the API documentation.\r
+ *\r
+ *  \par\r
+ *  NOTE:\r
+ *      (C) Copyright 2009 Texas Instruments, Inc.\r
+ * \r
+ *  Redistribution and use in source and binary forms, with or without \r
+ *  modification, are permitted provided that the following conditions \r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright \r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the \r
+ *    documentation and/or other materials provided with the   \r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+*/\r
+#ifndef __TCP3D_OSAL_H__\r
+#define __TCP3D_OSAL_H__\r
+\r
+#include <xdc/runtime/System.h>\r
+#include <ti/sysbios/BIOS.h>\r
+\r
+/* TCP3D OSAL Logging API is mapped directly to an XDC Runtime API */\r
+#define Tcp3d_osalLog           System_printf\r
+\r
+/* TCP3D OSAL memory operation APIs are mapped directly with standard runtime APIs */\r
+#define Tcp3d_memcpy            memcpy\r
+#define Tcp3d_memset            memset\r
+\r
+#endif /* __TCP3D_OSAL_H__ */\r
+\r