summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (from parent 1: abb555e)
raw | patch | inline | side by side (from parent 1: abb555e)
author | Aravind Batni <aravindbr@ti.com> | |
Mon, 19 Oct 2015 21:59:41 +0000 (17:59 -0400) | ||
committer | Aravind 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] | patch | blob |
example/c6657/c66/bios/sample_config.cfg | [new file with mode: 0644] | patch | blob |
example/c6657/c66/bios/tcp3d_evmc6657_C66BiosExampleProject.txt | [new file with mode: 0644] | patch | blob |
example/c6657/c66/bios/tcp3d_osal.c | [new file with mode: 0644] | patch | blob |
test/c6657/c66/bios/link_test.cmd | [new file with mode: 0644] | patch | blob |
test/c6657/c66/bios/tcp3d_drv_test.cfg | [new file with mode: 0644] | patch | blob |
test/c6657/c66/bios/tcp3d_evmc6657_C66BiosTestProject.txt | [new file with mode: 0644] | patch | blob |
test/c6657/c66/bios/tcp3d_osal.h | [new file with mode: 0644] | patch | blob |
diff --git a/example/c6657/c66/bios/link.cmd b/example/c6657/c66/bios/link.cmd
--- /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
--- /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
--- /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
--- /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
--- /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
--- /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
--- /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
--- /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