Changing dos to unix format
authorAnuj Aggarwal <anuj.aggarwal@ti.com>
Wed, 19 Aug 2009 19:06:37 +0000 (00:36 +0530)
committerAnuj Aggarwal <anuj.aggarwal@ti.com>
Wed, 19 Aug 2009 19:06:37 +0000 (00:36 +0530)
82 files changed:
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.ccsproject
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.cdtbuild
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.cdtproject
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.project
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.settings/org.eclipse.cdt.core.prefs
examples/CSL2_DAT_DEMO/demo/evmDA830/dat_example/.settings/org.eclipse.cdt.managedbuilder.core.prefs
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.ccsproject
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.cdtbuild
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.cdtproject
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.project
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.settings/org.eclipse.cdt.core.prefs
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/.settings/org.eclipse.cdt.managedbuilder.core.prefs
examples/CSL2_DAT_DEMO/demo/evmDA830/rtsc_config/dat_demo.cfg
examples/CSL2_DAT_DEMO/src/bios6_adapter/dat_edma3lld_bios6adapter.c
examples/CSL2_DAT_DEMO/src/csl2_legacy_include/csl_dat.h
examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat.c
examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat_edma3lld.c
examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat_edma3lld.h
examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat_edma3lld_config.h
examples/CSL2_DAT_DEMO/src/dat_edma3LLD/main.c
examples/edma3_driver/evmDA830/rtsc_config/.ccsproject
examples/edma3_driver/evmDA830/rtsc_config/.cdtbuild
examples/edma3_driver/evmDA830/rtsc_config/.cdtproject
examples/edma3_driver/evmDA830/rtsc_config/.project
examples/edma3_driver/evmDA830/rtsc_config/.settings/org.eclipse.cdt.core.prefs
examples/edma3_driver/evmDA830/rtsc_config/.settings/org.eclipse.cdt.managedbuilder.core.prefs
examples/edma3_driver/evmDA830/rtsc_config/edma3_drv_bios6_da830_st_sample.cfg
examples/edma3_driver/evmDA830/sample_app/.ccsproject
examples/edma3_driver/evmDA830/sample_app/.cdtbuild
examples/edma3_driver/evmDA830/sample_app/.cdtproject
examples/edma3_driver/evmDA830/sample_app/.project
examples/edma3_driver/src/common.c
examples/edma3_driver/src/dma_chain_test.c
examples/edma3_driver/src/dma_link_test.c
examples/edma3_driver/src/dma_misc_test.c
examples/edma3_driver/src/dma_ping_pong_test.c
examples/edma3_driver/src/dma_poll_test.c
examples/edma3_driver/src/dma_test.c
examples/edma3_driver/src/main.c
examples/edma3_driver/src/ping_pong.cmd
examples/edma3_driver/src/qdma_link_test.c
examples/edma3_driver/src/qdma_test.c
examples/edma3_driver/src/sample.h
package.bld
package.xdc
packages/config.bld
packages/ti/sdo/edma3/drv/edma3_drv.h
packages/ti/sdo/edma3/drv/package.bld
packages/ti/sdo/edma3/drv/package.xdc
packages/ti/sdo/edma3/drv/package.xs
packages/ti/sdo/edma3/drv/sample/bios6_edma3_drv_sample.h
packages/ti/sdo/edma3/drv/sample/package.bld
packages/ti/sdo/edma3/drv/sample/package.xdc
packages/ti/sdo/edma3/drv/sample/package.xs
packages/ti/sdo/edma3/drv/sample/src/bios6_edma3_drv_sample_cs.c
packages/ti/sdo/edma3/drv/sample/src/bios6_edma3_drv_sample_da830_cfg.c
packages/ti/sdo/edma3/drv/sample/src/bios6_edma3_drv_sample_init.c
packages/ti/sdo/edma3/drv/src/edma3.h
packages/ti/sdo/edma3/drv/src/edma3_drv_adv.c
packages/ti/sdo/edma3/drv/src/edma3_drv_basic.c
packages/ti/sdo/edma3/drv/src/edma3_drv_init.c
packages/ti/sdo/edma3/rm/RM.xdc
packages/ti/sdo/edma3/rm/RM.xdt
packages/ti/sdo/edma3/rm/edma3_common.h
packages/ti/sdo/edma3/rm/edma3_rm.h
packages/ti/sdo/edma3/rm/package.bld
packages/ti/sdo/edma3/rm/package.xdc
packages/ti/sdo/edma3/rm/package.xs
packages/ti/sdo/edma3/rm/sample/bios6_edma3_rm_sample.h
packages/ti/sdo/edma3/rm/sample/package.bld
packages/ti/sdo/edma3/rm/sample/package.xdc
packages/ti/sdo/edma3/rm/sample/package.xs
packages/ti/sdo/edma3/rm/sample/src/bios6_edma3_rm_sample_cs.c
packages/ti/sdo/edma3/rm/sample/src/bios6_edma3_rm_sample_da830_cfg.c
packages/ti/sdo/edma3/rm/sample/src/bios6_edma3_rm_sample_init.c
packages/ti/sdo/edma3/rm/src/edma3_da830_cfg.c
packages/ti/sdo/edma3/rm/src/edma3_log.h
packages/ti/sdo/edma3/rm/src/edma3_rl_cc.h
packages/ti/sdo/edma3/rm/src/edma3_rl_tc.h
packages/ti/sdo/edma3/rm/src/edma3_rm_gbl_data.c
packages/ti/sdo/edma3/rm/src/edma3resmgr.c
packages/ti/sdo/edma3/rm/src/edma3resmgr.h

index 1597e3c104e573e19551b023dbf386a1878020e3..4761ac986c01b6c425c8ff2ba3b900d4989354d9 100644 (file)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?ccsproject version="1.0"?>\r
-\r
-<projectOptions>\r
-<deviceVariant value=""/>\r
-<deviceEndianness value="little"/>\r
-<codegenToolVersion value="6.1.9"/>\r
-<linkerCommandFile value=""/>\r
-<rts value="rts6740.lib"/>\r
-<defaultAssemblyOnly value="false"/>\r
-</projectOptions>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value=""/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="6.1.9"/>
+<linkerCommandFile value=""/>
+<rts value="rts6740.lib"/>
+<defaultAssemblyOnly value="false"/>
+</projectOptions>
index 9b2b76d803d1cac51723a9813df9de5b8d5c315c..0b37da8b9c7dd3e51e4b3702bda566cb14e2ed8a 100644 (file)
@@ -1,78 +1,78 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?fileVersion 3.1.0?>\r
-\r
-<ManagedProjectBuildInfo>\r
-<project id="dat_demo.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1958184531" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">\r
-<configuration artifactExtension="out" artifactName="dat_demo" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.1925942181" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1292559937">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.990805244" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2929106" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>\r
-<listOptionValue builtIn="false" value="DEPENDENCIES=dat_demo_configuration:Debug;"/>\r
-</option>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug.1638930883" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1841108905" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.1687519946" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Debug/configPkg/compiler.opt}&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH.409147664" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${C6000_CG_ROOT}/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../src/dat_edma3LLD&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../src/csl2_legacy_include&quot;"/>\r
-</option>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1292559937" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.263072612" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;dat_demo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1661013748" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;dat_demo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.337224300" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Debug/configPkg/linker.cmd}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>\r
-</option>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<configuration artifactExtension="out" artifactName="dat_demo" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.387494864" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.1502316300">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.212500474" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.311817393" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>\r
-<listOptionValue builtIn="false" value="DEPENDENCIES=dat_demo_configuration:Release;"/>\r
-</option>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.606164828" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1731278453" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.898469820" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Release/configPkg/compiler.opt}&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH.1258093091" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${C6000_CG_ROOT}/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../src/dat_edma3LLD&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../src/csl2_legacy_include&quot;"/>\r
-</option>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.1502316300" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.2067142527" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;dat_demo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1769623145" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;dat_demo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.2119747732" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Release/configPkg/linker.cmd}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>\r
-</option>\r
-</tool>\r
-<macros expandEnvironmentMacros="true">\r
-<stringMacro name="DAT_SUPPORT" type="VALUE_TEXT" value="1"/>\r
-</macros>\r
-</toolChain>\r
-</configuration>\r
-<macros/>\r
-</project>\r
-</ManagedProjectBuildInfo>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="dat_demo.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1958184531" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">
+<configuration artifactExtension="out" artifactName="dat_demo" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.1925942181" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1292559937">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.990805244" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2929106" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>
+<listOptionValue builtIn="false" value="DEPENDENCIES=dat_demo_configuration:Debug;"/>
+</option>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug.1638930883" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1841108905" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.1687519946" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Debug/configPkg/compiler.opt}&quot;"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH.409147664" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${C6000_CG_ROOT}/include&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../src/dat_edma3LLD&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../src/csl2_legacy_include&quot;"/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1292559937" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.263072612" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;dat_demo.out&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1661013748" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;dat_demo.map&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.337224300" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Debug/configPkg/linker.cmd}&quot;"/>
+<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>
+</option>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="out" artifactName="dat_demo" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.387494864" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.1502316300">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.212500474" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.311817393" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>
+<listOptionValue builtIn="false" value="DEPENDENCIES=dat_demo_configuration:Release;"/>
+</option>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.606164828" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1731278453" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.898469820" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Release/configPkg/compiler.opt}&quot;"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH.1258093091" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${C6000_CG_ROOT}/include&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../src/dat_edma3LLD&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../src/csl2_legacy_include&quot;"/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.1502316300" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.2067142527" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;dat_demo.out&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1769623145" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;dat_demo.map&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.2119747732" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/dat_demo_configuration/Release/configPkg/linker.cmd}&quot;"/>
+<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>
+</option>
+</tool>
+<macros expandEnvironmentMacros="true">
+<stringMacro name="DAT_SUPPORT" type="VALUE_TEXT" value="1"/>
+</macros>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
index e6354c6e38086b4e6d535380f2176921f7adbc77..b7f8759bcee4046bebbd49804a92baee70614f3a 100644 (file)
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse-cdt version="2.0"?>\r
-\r
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
-<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>\r
-<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<data>\r
-<item id="org.eclipse.cdt.core.pathentry">\r
-<pathentry kind="src" path=""/>\r
-<pathentry kind="out" path=""/>\r
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
-</item>\r
-</data>\r
-</cdtproject>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
index ce19f994c5b38529406c492478f7cd0d1eb8e76b..e6eeda07b80961a5ce38d2edebaf9bcad22e8d7b 100644 (file)
@@ -1,42 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>dat_demo</name>\r
-       <comment></comment>\r
-       <projects>\r
-               <project>dat_demo_configuration</project>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.cdt.core.cnature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
-               <nature>org.eclipse.cdt.core.ccnature</nature>\r
-       </natures>\r
-       <linkedResources>\r
-               <link>\r
-                       <name>dat_edma3lld_bios6adapter.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/bios6_adapter/dat_edma3lld_bios6adapter.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>main.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/main.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>csl2_dat.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>csl2_dat_edma3lld.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat_edma3lld.c</locationURI>\r
-               </link>\r
-       </linkedResources>\r
-</projectDescription>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>dat_demo</name>
+       <comment></comment>
+       <projects>
+               <project>dat_demo_configuration</project>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+       </natures>
+       <linkedResources>
+               <link>
+                       <name>dat_edma3lld_bios6adapter.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/bios6_adapter/dat_edma3lld_bios6adapter.c</locationURI>
+               </link>
+               <link>
+                       <name>main.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/main.c</locationURI>
+               </link>
+               <link>
+                       <name>csl2_dat.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat.c</locationURI>
+               </link>
+               <link>
+                       <name>csl2_dat_edma3lld.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/CSL2_DAT_DEMO/src/dat_edma3LLD/csl2_dat_edma3lld.c</locationURI>
+               </link>
+       </linkedResources>
+</projectDescription>
index 661078c362a1cccbc313fbd2a7167a5ef80cd1c0..d2fb427ce390e5f0049c9b0b92c3eaf98afc690a 100644 (file)
@@ -1,3 +1,3 @@
-#Tue May 26 14:38:04 IST 2009\r
-eclipse.preferences.version=1\r
-indexerId=org.eclipse.cdt.core.nullindexer\r
+#Tue May 26 14:38:04 IST 2009
+eclipse.preferences.version=1
+indexerId=org.eclipse.cdt.core.nullindexer
index 9646a17f8dfdfbdd2e360513837df858c134eefc..6c15f7847413ff1a4c882946c250d6e47fb116a3 100644 (file)
@@ -1,9 +1,9 @@
-#Tue May 26 15:03:21 IST 2009\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292/internalBuilder/ignoreErr=true\r
-eclipse.preferences.version=1\r
-environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+#Tue May 26 15:03:21 IST 2009
+com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292/internalBuilder/ignoreErr=true
+eclipse.preferences.version=1
+environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.630381744=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.1027968292=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
index 1597e3c104e573e19551b023dbf386a1878020e3..4761ac986c01b6c425c8ff2ba3b900d4989354d9 100644 (file)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?ccsproject version="1.0"?>\r
-\r
-<projectOptions>\r
-<deviceVariant value=""/>\r
-<deviceEndianness value="little"/>\r
-<codegenToolVersion value="6.1.9"/>\r
-<linkerCommandFile value=""/>\r
-<rts value="rts6740.lib"/>\r
-<defaultAssemblyOnly value="false"/>\r
-</projectOptions>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value=""/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="6.1.9"/>
+<linkerCommandFile value=""/>
+<rts value="rts6740.lib"/>
+<defaultAssemblyOnly value="false"/>
+</projectOptions>
index 815d6fa1db0a0146bd6614a29e3a674797863978..95ac20b946b733f9996b4712fb5894cea27d4576 100644 (file)
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?fileVersion 3.1.0?>\r
-\r
-<ManagedProjectBuildInfo>\r
-<project id="dat_demo_configuration.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1001983117" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">\r
-<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.671159504" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.2010274127">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.683355294" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2034232237" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>\r
-<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>\r
-</option>\r
-<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.2010274127" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.1609556444" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1031739652" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1167745538" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.1997261934" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="debug" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.1336769007" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../../../packages&quot;"/>\r
-</option>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.769675640" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.814498771" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.358600673" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1864213852">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1270275677" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1978794471" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>\r
-<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>\r
-</option>\r
-<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1864213852" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.395040259" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../../../packages&quot;"/>\r
-</option>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.832726619" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1125599521" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.1120382767" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="whole_program" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.426539890" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.312054322" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-</project>\r
-</ManagedProjectBuildInfo>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="dat_demo_configuration.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1001983117" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">
+<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.671159504" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.2010274127">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.683355294" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2034232237" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>
+<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>
+</option>
+<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.2010274127" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.1609556444" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1031739652" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1167745538" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.1997261934" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="debug" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.1336769007" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../../../packages&quot;"/>
+</option>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.769675640" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.814498771" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.358600673" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1864213852">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1270275677" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1978794471" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>
+<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>
+</option>
+<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1864213852" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.395040259" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../../../packages&quot;"/>
+</option>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.832726619" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1125599521" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.1120382767" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="whole_program" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.426539890" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.312054322" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+</project>
+</ManagedProjectBuildInfo>
index 6d1271807e8ce5b60a1b5de250e24de797e56e8f..69c68906e630d441c2790181545037d5001406d1 100644 (file)
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse-cdt version="2.0"?>\r
-\r
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
-<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<data>\r
-<item id="org.eclipse.cdt.core.pathentry">\r
-<pathentry kind="src" path=""/>\r
-<pathentry kind="out" path=""/>\r
-<pathentry kind="con" path="org.eclipse.rtsc.xdctools.buildDefinitions.XDC.XDCROOT_CONTAINER"/>\r
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
-</item>\r
-</data>\r
-</cdtproject>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.rtsc.xdctools.buildDefinitions.XDC.XDCROOT_CONTAINER"/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
index d163ca79e22270ae4576a61492825ed8fb76bc87..3735db5a9bc95aec69657075854a79470c7f349b 100644 (file)
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>dat_demo_configuration</name>\r
-       <comment></comment>\r
-       <projects>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>\r
-               <nature>org.eclipse.cdt.core.cnature</nature>\r
-               <nature>org.eclipse.cdt.core.ccnature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
-       </natures>\r
-</projectDescription>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>dat_demo_configuration</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+       </natures>
+</projectDescription>
index 661078c362a1cccbc313fbd2a7167a5ef80cd1c0..d2fb427ce390e5f0049c9b0b92c3eaf98afc690a 100644 (file)
@@ -1,3 +1,3 @@
-#Tue May 26 14:38:04 IST 2009\r
-eclipse.preferences.version=1\r
-indexerId=org.eclipse.cdt.core.nullindexer\r
+#Tue May 26 14:38:04 IST 2009
+eclipse.preferences.version=1
+indexerId=org.eclipse.cdt.core.nullindexer
index 4b210822a6c08d585192628471b89be2f04e5a80..3f6cde1ee26754eba246e210b1fc5a22b3b413e4 100644 (file)
@@ -1,11 +1,11 @@
-#Tue May 26 14:44:55 IST 2009\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.290231238/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.290231238/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.814498771/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.814498771/internalBuilder/ignoreErr=true\r
-eclipse.preferences.version=1\r
-environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.814498771=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+#Tue May 26 14:44:55 IST 2009
+com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.290231238/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.290231238/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.814498771/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.814498771/internalBuilder/ignoreErr=true
+eclipse.preferences.version=1
+environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.906367863=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.814498771=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
index d38629de359405076258e03283d5d8bb46e5bbd2..2627dff458fe012dba71d6d840f90bda5dd821fd 100644 (file)
@@ -1,27 +1,27 @@
-/*use modules*/\r
-var Task               = xdc.useModule ("ti.sysbios.knl.Task");\r
-var BIOS       = xdc.useModule ("ti.sysbios.BIOS");\r
-var ECM        = xdc.useModule ("ti.sysbios.family.c64p.EventCombiner");\r
-var Startup    = xdc.useModule ("xdc.runtime.Startup");\r
-var System     = xdc.useModule ("xdc.runtime.System");\r
-var Log        = xdc.useModule ("xdc.runtime.Log");\r
-var Hwi                = xdc.useModule('ti.sysbios.hal.Hwi');\r
-var Semaphore  = xdc.useModule('ti.sysbios.ipc.Semaphore');\r
-var Cache              = xdc.useModule('ti.sysbios.hal.Cache');\r
-\r
-ECM.eventGroupHwiNum[0] = 7;\r
-ECM.eventGroupHwiNum[1] = 8;\r
-ECM.eventGroupHwiNum[2] = 9;\r
-ECM.eventGroupHwiNum[3] = 10;\r
-\r
-/* USE EDMA3 Sample App */\r
-xdc.loadPackage('ti.sdo.edma3.drv.sample');\r
-\r
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');\r
-var prms = new HeapMem.Params;\r
-prms.size = 32768;\r
-var heap = HeapMem.create(prms);\r
-\r
-var Memory = xdc.useModule('xdc.runtime.Memory');\r
-Memory.defaultHeapInstance = heap;\r
-\r
+/*use modules*/
+var Task               = xdc.useModule ("ti.sysbios.knl.Task");
+var BIOS       = xdc.useModule ("ti.sysbios.BIOS");
+var ECM        = xdc.useModule ("ti.sysbios.family.c64p.EventCombiner");
+var Startup    = xdc.useModule ("xdc.runtime.Startup");
+var System     = xdc.useModule ("xdc.runtime.System");
+var Log        = xdc.useModule ("xdc.runtime.Log");
+var Hwi                = xdc.useModule('ti.sysbios.hal.Hwi');
+var Semaphore  = xdc.useModule('ti.sysbios.ipc.Semaphore');
+var Cache              = xdc.useModule('ti.sysbios.hal.Cache');
+
+ECM.eventGroupHwiNum[0] = 7;
+ECM.eventGroupHwiNum[1] = 8;
+ECM.eventGroupHwiNum[2] = 9;
+ECM.eventGroupHwiNum[3] = 10;
+
+/* USE EDMA3 Sample App */
+xdc.loadPackage('ti.sdo.edma3.drv.sample');
+
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var prms = new HeapMem.Params;
+prms.size = 32768;
+var heap = HeapMem.create(prms);
+
+var Memory = xdc.useModule('xdc.runtime.Memory');
+Memory.defaultHeapInstance = heap;
+
index 733ccca8e378adf309416fa459d521d2e0162f1a..c9684bf36b08bccbb38d7b8d422ee791feae0bc5 100644 (file)
@@ -1,41 +1,41 @@
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/**\r
- *  @file      dat_edma3lld_biosAdapter.c\r
- *\r
- *  @brief     This file contains the OS specific helper functions\r
- *             required by the CSL DAT adapter\r
- *\r
- *\r
- */\r
-\r
-#include <ti/sysbios/knl/Task.h>\r
-\r
-static unsigned int gie;\r
-\r
-/*\r
- * ======== _dat_critical_section_enter ========\r
- *  Disables task status and saves state\r
- *  Used to mark entry to critical code section\r
- */\r
-void _dat_critical_section_enter() {\r
-    gie = Task_disable ();\r
-}\r
-\r
-\r
-/*\r
- * ======== _dat_critical_section_exit ========\r
- *  Restores task status\r
- *  Used to mark exit from critical code section\r
- */\r
-void _dat_critical_section_exit() {\r
-    Task_restore (gie);\r
-}\r
-\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/**
+ *  @file      dat_edma3lld_biosAdapter.c
+ *
+ *  @brief     This file contains the OS specific helper functions
+ *             required by the CSL DAT adapter
+ *
+ *
+ */
+
+#include <ti/sysbios/knl/Task.h>
+
+static unsigned int gie;
+
+/*
+ * ======== _dat_critical_section_enter ========
+ *  Disables task status and saves state
+ *  Used to mark entry to critical code section
+ */
+void _dat_critical_section_enter() {
+    gie = Task_disable ();
+}
+
+
+/*
+ * ======== _dat_critical_section_exit ========
+ *  Restores task status
+ *  Used to mark exit from critical code section
+ */
+void _dat_critical_section_exit() {
+    Task_restore (gie);
+}
+
index 5cd3bcc6a9f3d9484037973ac267cb681dc43ae8..420ed1c86977cf932415b82f204824f04339dcd9 100644 (file)
-/******************************************************************************\\r
-*           Copyright (C) 1999-2000 Texas Instruments Incorporated.\r
-*                           All Rights Reserved\r
-*------------------------------------------------------------------------------\r
-* FILENAME...... csl_dat.h\r
-* DATE CREATED.. 11/11/1999\r
-* LAST MODIFIED. 10/03/2000\r
-\******************************************************************************/\r
-#ifndef _CSL_DAT_H_\r
-#define _CSL_DAT_H_\r
-\r
-#define EDMA_SUPPORT 1\r
-#define DAT_SUPPORT 1\r
-\r
-#include <xdc/std.h>\r
-\r
-#if (DAT_SUPPORT)\r
-/******************************************************************************\\r
-* scope and inline control macros\r
-\******************************************************************************/\r
-#ifdef __cplusplus\r
-#define CSLAPI extern "C" far\r
-#else\r
-#define CSLAPI extern far\r
-#endif\r
-\r
-#undef  USEDEFS\r
-#undef  IDECL\r
-#undef  IDEF\r
-\r
-#ifdef  _DAT_MOD_\r
-  #define IDECL CSLAPI\r
-  #define USEDEFS\r
-  #define IDEF\r
-#else\r
-  #ifdef  _INLINE\r
-    #define IDECL static inline\r
-    #define USEDEFS\r
-    #define IDEF  static inline\r
-  #else\r
-    #define IDECL CSLAPI\r
-  #endif\r
-#endif\r
-\r
-\r
-/******************************************************************************\\r
-* global macro declarations\r
-\******************************************************************************/\r
-#if (DMA_SUPPORT)\r
-  #define DAT_CHAANY    DMA_CHAANY\r
-  #define DAT_CHA0      DMA_CHA0\r
-  #define DAT_CHA1      DMA_CHA1\r
-  #define DAT_CHA2      DMA_CHA2\r
-  #define DAT_CHA3      DMA_CHA3\r
-  #define DAT_PRI_LOW   DMA_PRICTL_PRI_CPU\r
-  #define DAT_PRI_HIGH  DMA_PRICTL_PRI_DMA\r
-\r
-  #define DAT_1D2D      0x000000D0\r
-  #define DAT_2D1D      0x00000070\r
-  #define DAT_2D2D      0x000000F0\r
-\r
-#elif (EDMA_SUPPORT)\r
-  #define DAT_CHAANY    0\r
-  #define DAT_CHA0      0\r
-  #define DAT_CHA1      0\r
-  #define DAT_CHA2      0\r
-  #define DAT_CHA3      0\r
-  #define DAT_PRI_LOW   EDMA_OPT_PRI_LOW\r
-  #define DAT_PRI_HIGH  EDMA_OPT_PRI_HIGH\r
-\r
-  #define DAT_1D2D      0x01A00001\r
-  #define DAT_2D1D      0x05200001\r
-  #define DAT_2D2D      0x05A00001\r
-#endif\r
-\r
-/* open flags */\r
-#define DAT_OPEN_2D    1\r
-\r
-/* special magic transfer IDs */\r
-#define DAT_XFRID_WAITALL   0xFFFFFFFF\r
-#define DAT_XFRID_WAITNONE  0xFFFF0010\r
-\r
-\r
-/******************************************************************************\\r
-* global typedef declarations\r
-\******************************************************************************/\r
-#if (DMA_SUPPORT)\r
-  typedef struct {\r
-    Uint32 useMask;\r
-    Uint32 baseAddr;\r
-    Uint32 gblcntAddr;\r
-    Uint32 gblidxAddr;\r
-    Uint32 initPrictl;\r
-  } _DAT_StateStruct;\r
-#endif\r
-\r
-#if (EDMA_SUPPORT)\r
-  typedef struct {\r
-    Uint32 useMask;\r
-    Uint32 baseAddr;\r
-    Uint32 initOpt;\r
-  } _DAT_StateStruct;\r
-#endif\r
-\r
-\r
-/******************************************************************************\\r
-* global variable declarations\r
-\******************************************************************************/\r
-extern far _DAT_StateStruct _DAT_stateStruct;\r
-\r
-\r
-/******************************************************************************\\r
-* global function declarations\r
-\******************************************************************************/\r
-CSLAPI int DAT_open(int chaNum, int priority, Uint32 flags);\r
-CSLAPI void DAT_close();\r
-\r
-CSLAPI Uint32 DAT_copy(void *src , void *dst , Uint16 byteCnt);\r
-CSLAPI Uint32 DAT_fill(void *dst , Uint16 byteCnt, Uint32 *value);\r
-CSLAPI void   DAT_wait(Uint32 id);\r
-CSLAPI int    DAT_busy(Uint32 id);\r
-\r
-CSLAPI Uint32 DAT_copy2d(Uint32 type, void *src, void *dst, Uint16 lineLen, Uint16 lineCnt, Uint16 linePitch);\r
-\r
-\r
-/******************************************************************************\\r
-* inline function declarations\r
-\******************************************************************************/\r
-IDECL void DAT_setPriority(int priority);\r
-\r
-\r
-/******************************************************************************\\r
-* inline function definitions\r
-\******************************************************************************/\r
-#ifdef USEDEFS\r
-/*----------------------------------------------------------------------------*/\r
-IDEF void DAT_setPriority(int priority) {\r
-  #if (DMA_SUPPORT)\r
-    DMA_FSETA(&(_DAT_stateStruct.initPrictl), PRICTL, PRI, priority);\r
-  #endif\r
-\r
-#if 0\r
-  #if (EDMA_SUPPORT)\r
-    EDMA_FSETA(&(_DAT_stateStruct.initOpt), OPT, PRI, priority);\r
-  #endif\r
-#endif\r
-}\r
-/*----------------------------------------------------------------------------*/\r
-#endif /* USEDEFS */\r
-\r
-\r
-#endif /* DAT_SUPPORT */\r
-#endif /* _CSL_DAT_H_ */\r
-/******************************************************************************\\r
-* End of csl_dat.h\r
-\******************************************************************************/\r
-\r
+/******************************************************************************\
+*           Copyright (C) 1999-2000 Texas Instruments Incorporated.
+*                           All Rights Reserved
+*------------------------------------------------------------------------------
+* FILENAME...... csl_dat.h
+* DATE CREATED.. 11/11/1999
+* LAST MODIFIED. 10/03/2000
+\******************************************************************************/
+#ifndef _CSL_DAT_H_
+#define _CSL_DAT_H_
+
+#define EDMA_SUPPORT 1
+#define DAT_SUPPORT 1
+
+#include <xdc/std.h>
+
+#if (DAT_SUPPORT)
+/******************************************************************************\
+* scope and inline control macros
+\******************************************************************************/
+#ifdef __cplusplus
+#define CSLAPI extern "C" far
+#else
+#define CSLAPI extern far
+#endif
+
+#undef  USEDEFS
+#undef  IDECL
+#undef  IDEF
+
+#ifdef  _DAT_MOD_
+  #define IDECL CSLAPI
+  #define USEDEFS
+  #define IDEF
+#else
+  #ifdef  _INLINE
+    #define IDECL static inline
+    #define USEDEFS
+    #define IDEF  static inline
+  #else
+    #define IDECL CSLAPI
+  #endif
+#endif
+
+
+/******************************************************************************\
+* global macro declarations
+\******************************************************************************/
+#if (DMA_SUPPORT)
+  #define DAT_CHAANY    DMA_CHAANY
+  #define DAT_CHA0      DMA_CHA0
+  #define DAT_CHA1      DMA_CHA1
+  #define DAT_CHA2      DMA_CHA2
+  #define DAT_CHA3      DMA_CHA3
+  #define DAT_PRI_LOW   DMA_PRICTL_PRI_CPU
+  #define DAT_PRI_HIGH  DMA_PRICTL_PRI_DMA
+
+  #define DAT_1D2D      0x000000D0
+  #define DAT_2D1D      0x00000070
+  #define DAT_2D2D      0x000000F0
+
+#elif (EDMA_SUPPORT)
+  #define DAT_CHAANY    0
+  #define DAT_CHA0      0
+  #define DAT_CHA1      0
+  #define DAT_CHA2      0
+  #define DAT_CHA3      0
+  #define DAT_PRI_LOW   EDMA_OPT_PRI_LOW
+  #define DAT_PRI_HIGH  EDMA_OPT_PRI_HIGH
+
+  #define DAT_1D2D      0x01A00001
+  #define DAT_2D1D      0x05200001
+  #define DAT_2D2D      0x05A00001
+#endif
+
+/* open flags */
+#define DAT_OPEN_2D    1
+
+/* special magic transfer IDs */
+#define DAT_XFRID_WAITALL   0xFFFFFFFF
+#define DAT_XFRID_WAITNONE  0xFFFF0010
+
+
+/******************************************************************************\
+* global typedef declarations
+\******************************************************************************/
+#if (DMA_SUPPORT)
+  typedef struct {
+    Uint32 useMask;
+    Uint32 baseAddr;
+    Uint32 gblcntAddr;
+    Uint32 gblidxAddr;
+    Uint32 initPrictl;
+  } _DAT_StateStruct;
+#endif
+
+#if (EDMA_SUPPORT)
+  typedef struct {
+    Uint32 useMask;
+    Uint32 baseAddr;
+    Uint32 initOpt;
+  } _DAT_StateStruct;
+#endif
+
+
+/******************************************************************************\
+* global variable declarations
+\******************************************************************************/
+extern far _DAT_StateStruct _DAT_stateStruct;
+
+
+/******************************************************************************\
+* global function declarations
+\******************************************************************************/
+CSLAPI int DAT_open(int chaNum, int priority, Uint32 flags);
+CSLAPI void DAT_close();
+
+CSLAPI Uint32 DAT_copy(void *src , void *dst , Uint16 byteCnt);
+CSLAPI Uint32 DAT_fill(void *dst , Uint16 byteCnt, Uint32 *value);
+CSLAPI void   DAT_wait(Uint32 id);
+CSLAPI int    DAT_busy(Uint32 id);
+
+CSLAPI Uint32 DAT_copy2d(Uint32 type, void *src, void *dst, Uint16 lineLen, Uint16 lineCnt, Uint16 linePitch);
+
+
+/******************************************************************************\
+* inline function declarations
+\******************************************************************************/
+IDECL void DAT_setPriority(int priority);
+
+
+/******************************************************************************\
+* inline function definitions
+\******************************************************************************/
+#ifdef USEDEFS
+/*----------------------------------------------------------------------------*/
+IDEF void DAT_setPriority(int priority) {
+  #if (DMA_SUPPORT)
+    DMA_FSETA(&(_DAT_stateStruct.initPrictl), PRICTL, PRI, priority);
+  #endif
+
+#if 0
+  #if (EDMA_SUPPORT)
+    EDMA_FSETA(&(_DAT_stateStruct.initOpt), OPT, PRI, priority);
+  #endif
+#endif
+}
+/*----------------------------------------------------------------------------*/
+#endif /* USEDEFS */
+
+
+#endif /* DAT_SUPPORT */
+#endif /* _CSL_DAT_H_ */
+/******************************************************************************\
+* End of csl_dat.h
+\******************************************************************************/
+
index 6219aac4ea02a95a6965278e6b07c466c6235288..854779b783c9070307660ef3e6140ad56eb835a8 100644 (file)
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/**\r
- *  @file        csl_dat2.c\r
- *\r
- * @brief       Implements the CSL DAT2 API using EDMA3 Driver and Resource\r
- *              Manager Package (EDMA3LLD).\r
- *              Behaviour mimics DAT2 on EDMA2 hardware\r
- */\r
-\r
-#include <stdio.h>\r
-#include <csl_dat.h>\r
-\r
-/*\r
- * Includes for accessing EDMA3 DRV and RM layer\r
- */\r
-#include <ti/sdo/edma3/drv/edma3_drv.h>\r
-\r
-\r
-/*\r
- * Include for setting up the EDMA3 LLD\r
- */\r
-#include <csl2_dat_edma3lld.h>\r
-\r
-\r
-/*\r
- * extern declarations\r
- */\r
-\r
-/*\r
- * OS dependent functions, that must be implemented by user of CSL DAT adapter\r
- * These functions mark the entry and exit to critical sections of the code\r
- */\r
-extern void _dat_critical_section_enter();\r
-extern void _dat_critical_section_exit();\r
-\r
-/*\r
- * Flag to indicate if EDMA3 LLD was initialized before calling the DAT APIs\r
- */\r
-extern int DAT_EDMA3LLD_initCalled;\r
-\r
-/*\r
- * typedef declarations\r
- */\r
-\r
-typedef struct DAT_EDMA3LLD_ChannelDesc {\r
-\r
-    /* Holds the param number allocated */\r
-    Uint32 paramNo;\r
-\r
-    /* Holds the tcc number allocated */\r
-    Uint32 tccNo;\r
-\r
-}  DAT_EDMA3LLD_ChannelDesc;\r
-\r
-/*\r
- * static variable definitions\r
- */\r
-\r
-/*\r
- * Max size array to hold the allocated resources for DAT\r
- */\r
-static DAT_EDMA3LLD_ChannelDesc\r
-        DAT_allocatedChannels[DAT_EDMA3LLD_HW_MAXPHYCHANNELS];\r
-/*\r
- * Flag to indicate that the DAT instance has been opened\r
- */\r
-static Uint32 DAT_EDMA3LLD_openFlag = 0;\r
-\r
-/*\r
- * 64 bit internal Transfer completion register, used to hold status\r
- * of the channel\r
- * It has a bit set to one whenever a Transfer is submitted, and cleared\r
- * when it completes\r
- */\r
-static volatile Uint32 TransferCompleteH = 0x0;\r
-static volatile Uint32 TransferCompleteL = 0x0;\r
-\r
-/*\r
- * Set to the last allocated bit index number in the TransferComplete fxn\r
- */\r
-static Uint32 lastAllocatedIndex = DAT_INVALID_ID;\r
-\r
-/*\r
- * static function declarations\r
- */\r
-/*\r
- * Obtain the next free channel from available channels\r
- */\r
-static inline Uint32 _getFreeChannel(Uint32 *tccNum);\r
-\r
-/*\r
- * global variable definitions\r
- */\r
-\r
-/*\r
- * Holds the EDMA3 driver handle\r
- */\r
-EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma = NULL;\r
-\r
-/*\r
- * number of EDMA3 channels allocated for the DAT module\r
- */\r
-int DAT_EDMA3LLD_numAllocatedChannels = 0;\r
-\r
-\r
-/*\r
- * global function definitions\r
- */\r
-\r
-\r
-/*\r
- *  ======== DAT_open =========\r
- * Opens the DAT module, called before all other DAT APIs\r
- * Ignore all paramters of DAT_open, open any channel,\r
- * all channels are opened with equal priority\r
- * All channels can be used in 2D mode etc, flags are not applicable\r
- */\r
-int DAT_open(int chNum, int priority, Uint32 flags) {\r
-\r
-    int i = 0;\r
-    int j = 0;\r
-    Uint32 chaNum = DAT_INVALID_ID;\r
-    Uint32 tccNum = DAT_INVALID_ID;\r
-\r
-    chNum = chNum;\r
-    priority = priority;\r
-    flags = flags;\r
-\r
-    /*\r
-     * Ensure _initCalled is called before DAT_open\r
-     * Also ensure DAT_open is called only once\r
-     */\r
-    _dat_critical_section_enter();\r
-\r
-    if (DAT_EDMA3LLD_initCalled == 0) {\r
-        _dat_critical_section_exit();\r
-        return 0;\r
-    }\r
-\r
-    if (1 == DAT_EDMA3LLD_openFlag) {\r
-        _dat_critical_section_exit();\r
-        return 0;\r
-    }\r
-    DAT_EDMA3LLD_openFlag = 1;\r
-    _dat_critical_section_exit();\r
-\r
-    /*\r
-     * Request default number of channels and Tccs from the EDMA3 DRV package\r
-     */\r
-    for(i=0; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {\r
-        chaNum = EDMA3_DRV_QDMA_CHANNEL_ANY;\r
-        tccNum = EDMA3_DRV_TCC_ANY;\r
-\r
-        /*\r
-         * EDMA3 DRV call to request for channel and tcc resources\r
-         */\r
-        if (EDMA3_DRV_SOK != EDMA3_DRV_requestChannel(DAT_EDMA3LLD_hEdma,\r
-                &chaNum, &tccNum,\r
-                (EDMA3_RM_EventQueue)DAT_EDMA3LLD_HW_EVT_QUEUE_ID,\r
-                NULL /*(EDMA3_RM_TccCallback)&_transferComplete*/, NULL)) {\r
-\r
-            /*\r
-             * Error requesting channels, Clean up all channels requested so far\r
-             */\r
-            for(j = i-1; j >=0; j--) {\r
-                EDMA3_DRV_freeChannel(DAT_EDMA3LLD_hEdma,\r
-                    DAT_allocatedChannels[j].paramNo);\r
-                DAT_allocatedChannels[i].paramNo = DAT_INVALID_ID;\r
-                DAT_allocatedChannels[i].tccNo = DAT_INVALID_ID;\r
-            }\r
-\r
-            if (EDMA3_DRV_SOK != EDMA3_DRV_close(DAT_EDMA3LLD_hEdma, NULL)){\r
-                printf("Error closing DRV instance \n");\r
-            }\r
-            else {\r
-                if (EDMA3_DRV_SOK != EDMA3_DRV_delete(DAT_EDMA3LLD_HW_INST_ID,\r
-                    NULL)){\r
-                    printf("Error deleting EDMA3 DRV\n");\r
-                }\r
-            }\r
-\r
-            DAT_EDMA3LLD_openFlag = 0;\r
-            return 0;\r
-        }\r
-\r
-        /*\r
-         * Store the allocated Channels in an array\r
-         */\r
-        /* DMA/QDMA Channel */ \r
-        DAT_allocatedChannels[i].paramNo = chaNum;\r
-        /* TCC */ \r
-        DAT_allocatedChannels[i].tccNo = tccNum;\r
-    }\r
-\r
-    return 1;\r
-}\r
-\r
-/*\r
- *  ======== DAT_close =========\r
- * Close the DAT module\r
- */\r
-void DAT_close() {\r
-    int i = 0;\r
-\r
-    /*\r
-     * Ensure DAT_open was called\r
-     */\r
-    _dat_critical_section_enter();\r
-    if (DAT_EDMA3LLD_openFlag == 0)\r
-    {\r
-        _dat_critical_section_exit();\r
-        return;\r
-    }\r
-    DAT_EDMA3LLD_openFlag = 0;\r
-    _dat_critical_section_exit();\r
-\r
-    /*\r
-     * Wait for all pending transfers to complete\r
-     */\r
-    DAT_wait(DAT_XFRID_WAITALL);\r
-\r
-    /*\r
-     * Free all requested channels\r
-     */\r
-    for(i=0; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {\r
-        EDMA3_DRV_freeChannel(DAT_EDMA3LLD_hEdma,\r
-                DAT_allocatedChannels[i].paramNo);\r
-        DAT_allocatedChannels[i].paramNo = DAT_INVALID_ID;\r
-        DAT_allocatedChannels[i].tccNo = DAT_INVALID_ID;\r
-    }\r
-\r
-}\r
-\r
-/*\r
- *  ======== DAT_copy =========\r
- * One dimensional copy from source to destination of byteCnt bytes\r
- */\r
-Uint32 DAT_copy(void *src, void *dst, Uint16 byteCnt ) {\r
-    Uint32 chNum = 0;\r
-    Uint32 tccNum = 0;\r
-    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};\r
-\r
-    /*\r
-     * An alternate way to setup the params\r
-     * EDMA3_DRV_PaRAMRegs param;\r
-     * const EDMA3_DRV_PaRAMRegs *newPaRAM = &param;\r
-     */\r
-\r
-    /*\r
-     * Obtain a free channel\r
-     * This call spins till a free channel is obtained\r
-     */\r
-    chNum = _getFreeChannel(&tccNum);\r
-\r
-    /*\r
-     * Set up Transfer Paramters for this channel\r
-     */\r
-    /* Fill the PaRAM Set with transfer specific information */\r
-    paramSet.srcAddr    = (unsigned int)(src);\r
-    paramSet.destAddr   = (unsigned int)(dst);\r
-    paramSet.srcBIdx    = 0;\r
-    paramSet.destBIdx   = 0;\r
-    paramSet.srcCIdx    = 0;\r
-    paramSet.destCIdx   = 0;\r
-    paramSet.aCnt       = byteCnt;\r
-    paramSet.bCnt       = 1;\r
-       /* Trigger word is CCNT */\r
-    paramSet.cCnt       = 1;\r
-    paramSet.bCntReload = 0;\r
-    paramSet.linkAddr   = 0xFFFFu;\r
-    /* Src & Dest are in INCR modes */\r
-    paramSet.opt &= 0xFFFFFFFCu;\r
-    /* Program the TCC */\r
-    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);\r
-    /* Enable Final transfer completion interrupt */\r
-    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);\r
-       /* AB Sync Transfer Mode */\r
-    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);\r
-       /* Set the static bit */\r
-    paramSet.opt |= (1 << OPT_STATIC_SHIFT);\r
-\r
-    /*\r
-     * Set a 1 bit in the TransferComplete register corresponding to the tcc\r
-     */\r
-    if (tccNum < 32) {\r
-        SET_REGISTER32_BIT(TransferCompleteL,tccNum);\r
-    }\r
-    else {\r
-        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);\r
-    }\r
-\r
-       /* trigger the transfer */\r
-       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);\r
-\r
-       return tccNum;\r
-}\r
-\r
-\r
-/*\r
- *  ======== DAT_copy2d =========\r
- * 2-dimensional copy from src to dst of lineCnt lines each of length lineLen\r
- * bytes. The pitch for the second dimension is linePitch bytes\r
- */\r
-Uint32 DAT_copy2d(Uint32 type, void *src, void *dst, Uint16 lineLen,\r
-        Uint16 lineCnt, Uint16 linePitch) {\r
-    Uint32 chNum = 0;\r
-    Uint32 tccNum = 0;\r
-    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};\r
-\r
-    /*\r
-     * Obtain a free channel\r
-     */\r
-    chNum = _getFreeChannel(&tccNum);\r
-\r
-    /* Fill the PaRAM Set with transfer specific information */\r
-    paramSet.srcAddr    = (unsigned int)(src);\r
-    paramSet.destAddr   = (unsigned int)(dst);\r
-    paramSet.aCnt       = lineLen;\r
-    paramSet.bCnt       = lineCnt;\r
-       /* Trigger word is CCNT */\r
-    paramSet.cCnt       = 1;\r
-    paramSet.bCntReload = 0;\r
-    paramSet.linkAddr   = 0xFFFFu;\r
-    /* Src & Dest are in INCR modes */\r
-    paramSet.opt &= 0xFFFFFFFCu;\r
-    /* Program the TCC */\r
-    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);\r
-    /* Enable Final transfer completion interrupt */\r
-    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);\r
-       /* AB Sync Transfer Mode */\r
-    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);\r
-       /* Set the static bit */\r
-    paramSet.opt |= (1 << OPT_STATIC_SHIFT);\r
-\r
-    /*\r
-     * Depending on type of transfer set the src and dest BIdx\r
-     * Different types of transfers differ only in the Src and Dst BIdx-es\r
-     */\r
-    switch (type) {\r
-        case DAT_1D2D:\r
-                   paramSet.srcBIdx    = lineLen;\r
-                   paramSet.destBIdx   = linePitch;\r
-                   paramSet.srcCIdx    = 0;\r
-                   paramSet.destCIdx   = 0;\r
-            break;\r
-        case DAT_2D1D:\r
-                   paramSet.srcBIdx    = linePitch;\r
-                   paramSet.destBIdx   = lineLen;\r
-                   paramSet.srcCIdx    = 0;\r
-                   paramSet.destCIdx   = 0;\r
-            break;\r
-        case DAT_2D2D:\r
-                   paramSet.srcBIdx    = linePitch;\r
-                   paramSet.destBIdx   = linePitch;\r
-                   paramSet.srcCIdx    = 0;\r
-                   paramSet.destCIdx   = 0;\r
-            break;\r
-    }\r
-\r
-    /*\r
-     * Set a 1 bit in the TransferComplete register corresponding to the tcc\r
-     */\r
-    if (tccNum < 32) {\r
-        SET_REGISTER32_BIT(TransferCompleteL,tccNum);\r
-    }\r
-    else {\r
-        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);\r
-    }\r
-\r
-       /* trigger the transfer */\r
-       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);\r
-\r
-       return tccNum;\r
-}\r
-\r
-\r
-/*\r
- *  ======== DAT_fill =========\r
- * Fills up dst with byteCnt bytes of the pattern pointed to be 'value'\r
- */\r
-Uint32 DAT_fill(void *dst, Uint16 byteCnt, Uint32 *value) {\r
-    Uint32 chNum = 0;\r
-    Uint32 tccNum = 0;\r
-    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};\r
-\r
-    /*\r
-     * Obtain a free channel\r
-     */\r
-    chNum = _getFreeChannel(&tccNum);\r
-\r
-    /* Fill the PaRAM Set with transfer specific information */\r
-    paramSet.srcAddr    = (unsigned int)(value);\r
-    paramSet.destAddr   = (unsigned int)(dst);\r
-    paramSet.srcBIdx    = 0;\r
-    paramSet.destBIdx   = 8;\r
-    paramSet.srcCIdx    = 0;\r
-    paramSet.destCIdx   = 0;\r
-    paramSet.aCnt       = 8;\r
-    paramSet.bCnt       = byteCnt>>3;\r
-       /* Trigger word is CCNT */\r
-    paramSet.cCnt       = 1;\r
-    paramSet.bCntReload = 0;\r
-    paramSet.linkAddr   = 0xFFFFu;\r
-    /* Src & Dest are in INCR modes */\r
-    paramSet.opt &= 0xFFFFFFFCu;\r
-    /* Program the TCC */\r
-    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);\r
-    /* Enable Final transfer completion interrupt */\r
-    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);\r
-       /* AB Sync Transfer Mode */\r
-    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);\r
-       /* Set the static bit */\r
-    paramSet.opt |= (1 << OPT_STATIC_SHIFT);\r
-\r
-    /*\r
-     * Set a 1 bit in the TransferComplete register corresponding to the tcc\r
-     */\r
-    if (tccNum < 32) {\r
-        SET_REGISTER32_BIT(TransferCompleteL,tccNum);\r
-    }\r
-    else {\r
-        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);\r
-    }\r
-\r
-       /* trigger the transfer */\r
-       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);\r
-\r
-       return tccNum;\r
-}\r
-\r
-\r
-\r
-/*\r
- *  ======== DAT_wait =========\r
- * Wait for the transfer identified by waitId, to complete\r
- */\r
-void DAT_wait(Uint32 waitId) {\r
-       int i;\r
-       Uint32 tcc;\r
-       \r
-    /*\r
-     * If both the registers are zero, we're done !!\r
-     */\r
-    if (0x0 == (TransferCompleteL | TransferCompleteH)) {\r
-        return;\r
-    }\r
-\r
-    /*\r
-     * Check if we need to wait for all transfers or just this one ?\r
-     */\r
-    if (DAT_XFRID_WAITALL == waitId) {\r
-               for (i = 0 ; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {\r
-                       tcc = DAT_allocatedChannels[i].tccNo;\r
-                       if (tcc < 32) {\r
-                               if (GET_REGISTER32_BIT(TransferCompleteL, tcc)) {\r
-                                       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, tcc);\r
-                                       CLEAR_REGISTER32_BIT(TransferCompleteL, tcc);\r
-                               }\r
-                       } else {\r
-                               if (GET_REGISTER32_BIT(TransferCompleteH, tcc - 32)) {\r
-                                       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, tcc);\r
-                                       CLEAR_REGISTER32_BIT(TransferCompleteH, tcc - 32);\r
-                               }\r
-                       }\r
-               }\r
-    } else {\r
-       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, waitId);\r
-\r
-               /*\r
-            * Mark zero in bit position tccNum\r
-            */\r
-           if (waitId < 32) {\r
-               CLEAR_REGISTER32_BIT(TransferCompleteL, waitId );\r
-           }\r
-           else {\r
-               CLEAR_REGISTER32_BIT(TransferCompleteH, waitId -32 );\r
-           }\r
-       }\r
-}\r
-\r
-/*\r
- *  ======== DAT_busy =========\r
- * Check the busy status of transfer identified by waitId\r
- */\r
-int DAT_busy(Uint32 waitId) {\r
-       Uint16 status = 0;\r
-\r
-    /*\r
-     * Check if the particular transfer has completed by returning the status\r
-     * from the itnernal completion register\r
-     */   \r
-    if (waitId < 32) {\r
-        if (GET_REGISTER32_BIT(TransferCompleteL,waitId)) {\r
-                       /** Bit is still set, check in the IPR and clear it\r
-                        * if the xfer has finished. Clear the local reg too.\r
-                        * Else leave everything like that\r
-                        */\r
-                       EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, waitId, &status);\r
-                       if (status == 1) {\r
-                               /* xfer finished, update local reg */\r
-                               CLEAR_REGISTER32_BIT(TransferCompleteL, waitId);\r
-                               return 0;\r
-                       } else {\r
-                               /* xfer not finished, leave... */\r
-                               return 1;\r
-                       }\r
-                               \r
-        } else\r
-               return 0;\r
-    }\r
-    else {\r
-        if (GET_REGISTER32_BIT(TransferCompleteH,waitId - 32)) {\r
-                       EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, waitId, &status);\r
-                       if (status == 1) {\r
-                               CLEAR_REGISTER32_BIT(TransferCompleteH, waitId - 32);\r
-                               return 0;\r
-                       } else {\r
-                               return 1;\r
-                       }\r
-        } else\r
-               return 0;\r
-    }\r
-}\r
-\r
-/*\r
- * static function definitions\r
- */\r
-\r
-/*\r
- *  ======== _getFreeChannel =========\r
- * Used to obtain the next available channel to set up a new transfer\r
- * Function spins till a channel becomes available\r
- */\r
-static inline Uint32 _getFreeChannel(Uint32 *tccNum) {\r
-    Uint32 chNum,index ;\r
-       Uint16 status=0;\r
-\r
-    /*\r
-     * Start looking for available channels from the index after the one\r
-     * that was allocated previously\r
-     */\r
-    index = (lastAllocatedIndex + 1)%(DAT_EDMA3LLD_numAllocatedChannels);\r
-\r
-    /*\r
-     * Spins till a free bit in TransferComplete is found\r
-     */\r
-    while (1) {\r
-        *tccNum = DAT_allocatedChannels[index].tccNo;\r
-\r
-        if (*tccNum < 32) {\r
-            if((GET_REGISTER32_BIT(TransferCompleteL,*tccNum)) == 0) {\r
-                               /* tcc not allocated or already freed */\r
-                chNum = DAT_allocatedChannels[index].paramNo;\r
-                lastAllocatedIndex = index;\r
-                return chNum;\r
-            } else {\r
-                   /** Tcc allocated but not yet freed, check the IPR bit now\r
-                    * corresponding to this tcc\r
-                    * if the bit is set, it means that xfer has finished\r
-                    * so clear it and use this tcc\r
-                    * else leave it like that\r
-                                */\r
-               EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, *tccNum, &status);\r
-                               if (1 == status)\r
-                                       {\r
-                                       /* xfer completed, IPR cleared too */\r
-                                       chNum = DAT_allocatedChannels[index].paramNo;\r
-                           lastAllocatedIndex = index;\r
-\r
-                                       /* clear the reg too */\r
-                                       CLEAR_REGISTER32_BIT(TransferCompleteL, *tccNum);\r
-                           return chNum;\r
-                                       }\r
-            }\r
-            \r
-        }\r
-        else {\r
-            if((GET_REGISTER32_BIT(TransferCompleteH,*tccNum - 32)) == 0) {\r
-                chNum = DAT_allocatedChannels[index].paramNo;\r
-                lastAllocatedIndex = index;\r
-                return chNum;\r
-            } else {\r
-               EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, *tccNum, &status);\r
-                               if (1 == status)\r
-                                       {\r
-                                       chNum = DAT_allocatedChannels[index].paramNo;\r
-                           lastAllocatedIndex = index;\r
-\r
-                                       CLEAR_REGISTER32_BIT(TransferCompleteH, *tccNum - 32);\r
-                           return chNum;\r
-                                       }\r
-            }\r
-        }\r
-               \r
-        /*\r
-         * Increment index\r
-         */\r
-        index = (index + 1)%(DAT_EDMA3LLD_numAllocatedChannels);\r
-    }\r
-}\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/**
+ *  @file        csl_dat2.c
+ *
+ * @brief       Implements the CSL DAT2 API using EDMA3 Driver and Resource
+ *              Manager Package (EDMA3LLD).
+ *              Behaviour mimics DAT2 on EDMA2 hardware
+ */
+
+#include <stdio.h>
+#include <csl_dat.h>
+
+/*
+ * Includes for accessing EDMA3 DRV and RM layer
+ */
+#include <ti/sdo/edma3/drv/edma3_drv.h>
+
+
+/*
+ * Include for setting up the EDMA3 LLD
+ */
+#include <csl2_dat_edma3lld.h>
+
+
+/*
+ * extern declarations
+ */
+
+/*
+ * OS dependent functions, that must be implemented by user of CSL DAT adapter
+ * These functions mark the entry and exit to critical sections of the code
+ */
+extern void _dat_critical_section_enter();
+extern void _dat_critical_section_exit();
+
+/*
+ * Flag to indicate if EDMA3 LLD was initialized before calling the DAT APIs
+ */
+extern int DAT_EDMA3LLD_initCalled;
+
+/*
+ * typedef declarations
+ */
+
+typedef struct DAT_EDMA3LLD_ChannelDesc {
+
+    /* Holds the param number allocated */
+    Uint32 paramNo;
+
+    /* Holds the tcc number allocated */
+    Uint32 tccNo;
+
+}  DAT_EDMA3LLD_ChannelDesc;
+
+/*
+ * static variable definitions
+ */
+
+/*
+ * Max size array to hold the allocated resources for DAT
+ */
+static DAT_EDMA3LLD_ChannelDesc
+        DAT_allocatedChannels[DAT_EDMA3LLD_HW_MAXPHYCHANNELS];
+/*
+ * Flag to indicate that the DAT instance has been opened
+ */
+static Uint32 DAT_EDMA3LLD_openFlag = 0;
+
+/*
+ * 64 bit internal Transfer completion register, used to hold status
+ * of the channel
+ * It has a bit set to one whenever a Transfer is submitted, and cleared
+ * when it completes
+ */
+static volatile Uint32 TransferCompleteH = 0x0;
+static volatile Uint32 TransferCompleteL = 0x0;
+
+/*
+ * Set to the last allocated bit index number in the TransferComplete fxn
+ */
+static Uint32 lastAllocatedIndex = DAT_INVALID_ID;
+
+/*
+ * static function declarations
+ */
+/*
+ * Obtain the next free channel from available channels
+ */
+static inline Uint32 _getFreeChannel(Uint32 *tccNum);
+
+/*
+ * global variable definitions
+ */
+
+/*
+ * Holds the EDMA3 driver handle
+ */
+EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma = NULL;
+
+/*
+ * number of EDMA3 channels allocated for the DAT module
+ */
+int DAT_EDMA3LLD_numAllocatedChannels = 0;
+
+
+/*
+ * global function definitions
+ */
+
+
+/*
+ *  ======== DAT_open =========
+ * Opens the DAT module, called before all other DAT APIs
+ * Ignore all paramters of DAT_open, open any channel,
+ * all channels are opened with equal priority
+ * All channels can be used in 2D mode etc, flags are not applicable
+ */
+int DAT_open(int chNum, int priority, Uint32 flags) {
+
+    int i = 0;
+    int j = 0;
+    Uint32 chaNum = DAT_INVALID_ID;
+    Uint32 tccNum = DAT_INVALID_ID;
+
+    chNum = chNum;
+    priority = priority;
+    flags = flags;
+
+    /*
+     * Ensure _initCalled is called before DAT_open
+     * Also ensure DAT_open is called only once
+     */
+    _dat_critical_section_enter();
+
+    if (DAT_EDMA3LLD_initCalled == 0) {
+        _dat_critical_section_exit();
+        return 0;
+    }
+
+    if (1 == DAT_EDMA3LLD_openFlag) {
+        _dat_critical_section_exit();
+        return 0;
+    }
+    DAT_EDMA3LLD_openFlag = 1;
+    _dat_critical_section_exit();
+
+    /*
+     * Request default number of channels and Tccs from the EDMA3 DRV package
+     */
+    for(i=0; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {
+        chaNum = EDMA3_DRV_QDMA_CHANNEL_ANY;
+        tccNum = EDMA3_DRV_TCC_ANY;
+
+        /*
+         * EDMA3 DRV call to request for channel and tcc resources
+         */
+        if (EDMA3_DRV_SOK != EDMA3_DRV_requestChannel(DAT_EDMA3LLD_hEdma,
+                &chaNum, &tccNum,
+                (EDMA3_RM_EventQueue)DAT_EDMA3LLD_HW_EVT_QUEUE_ID,
+                NULL /*(EDMA3_RM_TccCallback)&_transferComplete*/, NULL)) {
+
+            /*
+             * Error requesting channels, Clean up all channels requested so far
+             */
+            for(j = i-1; j >=0; j--) {
+                EDMA3_DRV_freeChannel(DAT_EDMA3LLD_hEdma,
+                    DAT_allocatedChannels[j].paramNo);
+                DAT_allocatedChannels[i].paramNo = DAT_INVALID_ID;
+                DAT_allocatedChannels[i].tccNo = DAT_INVALID_ID;
+            }
+
+            if (EDMA3_DRV_SOK != EDMA3_DRV_close(DAT_EDMA3LLD_hEdma, NULL)){
+                printf("Error closing DRV instance \n");
+            }
+            else {
+                if (EDMA3_DRV_SOK != EDMA3_DRV_delete(DAT_EDMA3LLD_HW_INST_ID,
+                    NULL)){
+                    printf("Error deleting EDMA3 DRV\n");
+                }
+            }
+
+            DAT_EDMA3LLD_openFlag = 0;
+            return 0;
+        }
+
+        /*
+         * Store the allocated Channels in an array
+         */
+        /* DMA/QDMA Channel */ 
+        DAT_allocatedChannels[i].paramNo = chaNum;
+        /* TCC */ 
+        DAT_allocatedChannels[i].tccNo = tccNum;
+    }
+
+    return 1;
+}
+
+/*
+ *  ======== DAT_close =========
+ * Close the DAT module
+ */
+void DAT_close() {
+    int i = 0;
+
+    /*
+     * Ensure DAT_open was called
+     */
+    _dat_critical_section_enter();
+    if (DAT_EDMA3LLD_openFlag == 0)
+    {
+        _dat_critical_section_exit();
+        return;
+    }
+    DAT_EDMA3LLD_openFlag = 0;
+    _dat_critical_section_exit();
+
+    /*
+     * Wait for all pending transfers to complete
+     */
+    DAT_wait(DAT_XFRID_WAITALL);
+
+    /*
+     * Free all requested channels
+     */
+    for(i=0; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {
+        EDMA3_DRV_freeChannel(DAT_EDMA3LLD_hEdma,
+                DAT_allocatedChannels[i].paramNo);
+        DAT_allocatedChannels[i].paramNo = DAT_INVALID_ID;
+        DAT_allocatedChannels[i].tccNo = DAT_INVALID_ID;
+    }
+
+}
+
+/*
+ *  ======== DAT_copy =========
+ * One dimensional copy from source to destination of byteCnt bytes
+ */
+Uint32 DAT_copy(void *src, void *dst, Uint16 byteCnt ) {
+    Uint32 chNum = 0;
+    Uint32 tccNum = 0;
+    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};
+
+    /*
+     * An alternate way to setup the params
+     * EDMA3_DRV_PaRAMRegs param;
+     * const EDMA3_DRV_PaRAMRegs *newPaRAM = &param;
+     */
+
+    /*
+     * Obtain a free channel
+     * This call spins till a free channel is obtained
+     */
+    chNum = _getFreeChannel(&tccNum);
+
+    /*
+     * Set up Transfer Paramters for this channel
+     */
+    /* Fill the PaRAM Set with transfer specific information */
+    paramSet.srcAddr    = (unsigned int)(src);
+    paramSet.destAddr   = (unsigned int)(dst);
+    paramSet.srcBIdx    = 0;
+    paramSet.destBIdx   = 0;
+    paramSet.srcCIdx    = 0;
+    paramSet.destCIdx   = 0;
+    paramSet.aCnt       = byteCnt;
+    paramSet.bCnt       = 1;
+       /* Trigger word is CCNT */
+    paramSet.cCnt       = 1;
+    paramSet.bCntReload = 0;
+    paramSet.linkAddr   = 0xFFFFu;
+    /* Src & Dest are in INCR modes */
+    paramSet.opt &= 0xFFFFFFFCu;
+    /* Program the TCC */
+    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);
+    /* Enable Final transfer completion interrupt */
+    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);
+       /* AB Sync Transfer Mode */
+    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);
+       /* Set the static bit */
+    paramSet.opt |= (1 << OPT_STATIC_SHIFT);
+
+    /*
+     * Set a 1 bit in the TransferComplete register corresponding to the tcc
+     */
+    if (tccNum < 32) {
+        SET_REGISTER32_BIT(TransferCompleteL,tccNum);
+    }
+    else {
+        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);
+    }
+
+       /* trigger the transfer */
+       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);
+
+       return tccNum;
+}
+
+
+/*
+ *  ======== DAT_copy2d =========
+ * 2-dimensional copy from src to dst of lineCnt lines each of length lineLen
+ * bytes. The pitch for the second dimension is linePitch bytes
+ */
+Uint32 DAT_copy2d(Uint32 type, void *src, void *dst, Uint16 lineLen,
+        Uint16 lineCnt, Uint16 linePitch) {
+    Uint32 chNum = 0;
+    Uint32 tccNum = 0;
+    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};
+
+    /*
+     * Obtain a free channel
+     */
+    chNum = _getFreeChannel(&tccNum);
+
+    /* Fill the PaRAM Set with transfer specific information */
+    paramSet.srcAddr    = (unsigned int)(src);
+    paramSet.destAddr   = (unsigned int)(dst);
+    paramSet.aCnt       = lineLen;
+    paramSet.bCnt       = lineCnt;
+       /* Trigger word is CCNT */
+    paramSet.cCnt       = 1;
+    paramSet.bCntReload = 0;
+    paramSet.linkAddr   = 0xFFFFu;
+    /* Src & Dest are in INCR modes */
+    paramSet.opt &= 0xFFFFFFFCu;
+    /* Program the TCC */
+    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);
+    /* Enable Final transfer completion interrupt */
+    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);
+       /* AB Sync Transfer Mode */
+    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);
+       /* Set the static bit */
+    paramSet.opt |= (1 << OPT_STATIC_SHIFT);
+
+    /*
+     * Depending on type of transfer set the src and dest BIdx
+     * Different types of transfers differ only in the Src and Dst BIdx-es
+     */
+    switch (type) {
+        case DAT_1D2D:
+                   paramSet.srcBIdx    = lineLen;
+                   paramSet.destBIdx   = linePitch;
+                   paramSet.srcCIdx    = 0;
+                   paramSet.destCIdx   = 0;
+            break;
+        case DAT_2D1D:
+                   paramSet.srcBIdx    = linePitch;
+                   paramSet.destBIdx   = lineLen;
+                   paramSet.srcCIdx    = 0;
+                   paramSet.destCIdx   = 0;
+            break;
+        case DAT_2D2D:
+                   paramSet.srcBIdx    = linePitch;
+                   paramSet.destBIdx   = linePitch;
+                   paramSet.srcCIdx    = 0;
+                   paramSet.destCIdx   = 0;
+            break;
+    }
+
+    /*
+     * Set a 1 bit in the TransferComplete register corresponding to the tcc
+     */
+    if (tccNum < 32) {
+        SET_REGISTER32_BIT(TransferCompleteL,tccNum);
+    }
+    else {
+        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);
+    }
+
+       /* trigger the transfer */
+       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);
+
+       return tccNum;
+}
+
+
+/*
+ *  ======== DAT_fill =========
+ * Fills up dst with byteCnt bytes of the pattern pointed to be 'value'
+ */
+Uint32 DAT_fill(void *dst, Uint16 byteCnt, Uint32 *value) {
+    Uint32 chNum = 0;
+    Uint32 tccNum = 0;
+    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};
+
+    /*
+     * Obtain a free channel
+     */
+    chNum = _getFreeChannel(&tccNum);
+
+    /* Fill the PaRAM Set with transfer specific information */
+    paramSet.srcAddr    = (unsigned int)(value);
+    paramSet.destAddr   = (unsigned int)(dst);
+    paramSet.srcBIdx    = 0;
+    paramSet.destBIdx   = 8;
+    paramSet.srcCIdx    = 0;
+    paramSet.destCIdx   = 0;
+    paramSet.aCnt       = 8;
+    paramSet.bCnt       = byteCnt>>3;
+       /* Trigger word is CCNT */
+    paramSet.cCnt       = 1;
+    paramSet.bCntReload = 0;
+    paramSet.linkAddr   = 0xFFFFu;
+    /* Src & Dest are in INCR modes */
+    paramSet.opt &= 0xFFFFFFFCu;
+    /* Program the TCC */
+    paramSet.opt |= ((tccNum << OPT_TCC_SHIFT) & OPT_TCC_MASK);
+    /* Enable Final transfer completion interrupt */
+    paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);
+       /* AB Sync Transfer Mode */
+    paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);
+       /* Set the static bit */
+    paramSet.opt |= (1 << OPT_STATIC_SHIFT);
+
+    /*
+     * Set a 1 bit in the TransferComplete register corresponding to the tcc
+     */
+    if (tccNum < 32) {
+        SET_REGISTER32_BIT(TransferCompleteL,tccNum);
+    }
+    else {
+        SET_REGISTER32_BIT(TransferCompleteH,tccNum - 32);
+    }
+
+       /* trigger the transfer */
+       EDMA3_DRV_setPaRAM(DAT_EDMA3LLD_hEdma, chNum, &paramSet);
+
+       return tccNum;
+}
+
+
+
+/*
+ *  ======== DAT_wait =========
+ * Wait for the transfer identified by waitId, to complete
+ */
+void DAT_wait(Uint32 waitId) {
+       int i;
+       Uint32 tcc;
+       
+    /*
+     * If both the registers are zero, we're done !!
+     */
+    if (0x0 == (TransferCompleteL | TransferCompleteH)) {
+        return;
+    }
+
+    /*
+     * Check if we need to wait for all transfers or just this one ?
+     */
+    if (DAT_XFRID_WAITALL == waitId) {
+               for (i = 0 ; i < DAT_EDMA3LLD_numAllocatedChannels; i++) {
+                       tcc = DAT_allocatedChannels[i].tccNo;
+                       if (tcc < 32) {
+                               if (GET_REGISTER32_BIT(TransferCompleteL, tcc)) {
+                                       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, tcc);
+                                       CLEAR_REGISTER32_BIT(TransferCompleteL, tcc);
+                               }
+                       } else {
+                               if (GET_REGISTER32_BIT(TransferCompleteH, tcc - 32)) {
+                                       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, tcc);
+                                       CLEAR_REGISTER32_BIT(TransferCompleteH, tcc - 32);
+                               }
+                       }
+               }
+    } else {
+       EDMA3_DRV_waitAndClearTcc (DAT_EDMA3LLD_hEdma, waitId);
+
+               /*
+            * Mark zero in bit position tccNum
+            */
+           if (waitId < 32) {
+               CLEAR_REGISTER32_BIT(TransferCompleteL, waitId );
+           }
+           else {
+               CLEAR_REGISTER32_BIT(TransferCompleteH, waitId -32 );
+           }
+       }
+}
+
+/*
+ *  ======== DAT_busy =========
+ * Check the busy status of transfer identified by waitId
+ */
+int DAT_busy(Uint32 waitId) {
+       Uint16 status = 0;
+
+    /*
+     * Check if the particular transfer has completed by returning the status
+     * from the itnernal completion register
+     */   
+    if (waitId < 32) {
+        if (GET_REGISTER32_BIT(TransferCompleteL,waitId)) {
+                       /** Bit is still set, check in the IPR and clear it
+                        * if the xfer has finished. Clear the local reg too.
+                        * Else leave everything like that
+                        */
+                       EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, waitId, &status);
+                       if (status == 1) {
+                               /* xfer finished, update local reg */
+                               CLEAR_REGISTER32_BIT(TransferCompleteL, waitId);
+                               return 0;
+                       } else {
+                               /* xfer not finished, leave... */
+                               return 1;
+                       }
+                               
+        } else
+               return 0;
+    }
+    else {
+        if (GET_REGISTER32_BIT(TransferCompleteH,waitId - 32)) {
+                       EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, waitId, &status);
+                       if (status == 1) {
+                               CLEAR_REGISTER32_BIT(TransferCompleteH, waitId - 32);
+                               return 0;
+                       } else {
+                               return 1;
+                       }
+        } else
+               return 0;
+    }
+}
+
+/*
+ * static function definitions
+ */
+
+/*
+ *  ======== _getFreeChannel =========
+ * Used to obtain the next available channel to set up a new transfer
+ * Function spins till a channel becomes available
+ */
+static inline Uint32 _getFreeChannel(Uint32 *tccNum) {
+    Uint32 chNum,index ;
+       Uint16 status=0;
+
+    /*
+     * Start looking for available channels from the index after the one
+     * that was allocated previously
+     */
+    index = (lastAllocatedIndex + 1)%(DAT_EDMA3LLD_numAllocatedChannels);
+
+    /*
+     * Spins till a free bit in TransferComplete is found
+     */
+    while (1) {
+        *tccNum = DAT_allocatedChannels[index].tccNo;
+
+        if (*tccNum < 32) {
+            if((GET_REGISTER32_BIT(TransferCompleteL,*tccNum)) == 0) {
+                               /* tcc not allocated or already freed */
+                chNum = DAT_allocatedChannels[index].paramNo;
+                lastAllocatedIndex = index;
+                return chNum;
+            } else {
+                   /** Tcc allocated but not yet freed, check the IPR bit now
+                    * corresponding to this tcc
+                    * if the bit is set, it means that xfer has finished
+                    * so clear it and use this tcc
+                    * else leave it like that
+                                */
+               EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, *tccNum, &status);
+                               if (1 == status)
+                                       {
+                                       /* xfer completed, IPR cleared too */
+                                       chNum = DAT_allocatedChannels[index].paramNo;
+                           lastAllocatedIndex = index;
+
+                                       /* clear the reg too */
+                                       CLEAR_REGISTER32_BIT(TransferCompleteL, *tccNum);
+                           return chNum;
+                                       }
+            }
+            
+        }
+        else {
+            if((GET_REGISTER32_BIT(TransferCompleteH,*tccNum - 32)) == 0) {
+                chNum = DAT_allocatedChannels[index].paramNo;
+                lastAllocatedIndex = index;
+                return chNum;
+            } else {
+               EDMA3_DRV_checkAndClearTcc(DAT_EDMA3LLD_hEdma, *tccNum, &status);
+                               if (1 == status)
+                                       {
+                                       chNum = DAT_allocatedChannels[index].paramNo;
+                           lastAllocatedIndex = index;
+
+                                       CLEAR_REGISTER32_BIT(TransferCompleteH, *tccNum - 32);
+                           return chNum;
+                                       }
+            }
+        }
+               
+        /*
+         * Increment index
+         */
+        index = (index + 1)%(DAT_EDMA3LLD_numAllocatedChannels);
+    }
+}
index d00d151304573ff1fc3e4bdd14be876d5b8acd2b..0aa79eb6796c71d94c7fcd3bd16f645e594ba5c5 100644 (file)
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/**\r
- *  @file        csl2_dat_edma3lld.c\r
- *\r
- *  @brief       Implements the EDMA3 LLD Initialization and clean up\r
- *               functions\r
- *\r
- */\r
-\r
-/*\r
- * Includes for accessing EDMA3 Driver Sample Init/Deinit functions\r
- */\r
-#include <ti/sdo/edma3/drv/sample/bios6_edma3_drv_sample.h>\r
-\r
-#include <csl2_dat_edma3lld.h>\r
-/*\r
- * global variable definitions\r
- */\r
-\r
-/*\r
- * Flag to guard against multiple calls to DAT_EDMA3LLD_init\r
- */\r
-int DAT_EDMA3LLD_initCalled = 0;\r
-\r
-\r
-/*\r
- * static variable definitions\r
- */\r
-\r
-/*\r
- * Flag to indicate that this instance is the master of the DRV instance\r
- */\r
-static int _drvMaster = 0;\r
-\r
-/*\r
- * extern variable declarations\r
- */\r
-\r
-/*\r
- * The EDMA3 handle and the number of allocated channels needed by the\r
- * DAT module is setup here\r
- */\r
-extern EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma;\r
-extern int DAT_EDMA3LLD_numAllocatedChannels;\r
-\r
-\r
-\r
-/* External Declaration */\r
-EDMA3_DRV_Result edma3init();\r
-\r
-/*\r
- * OS dependent functions, that must be implemented by user of CSL DAT adapter\r
- * These functions mark the entry and exit to critical sections of the code\r
- */\r
-extern void _dat_critical_section_enter();\r
-extern void _dat_critical_section_exit();\r
-\r
-\r
-/*\r
- * global function definitions\r
- */\r
-\r
-/*\r
- * ======== DAT_EDMA3llD_init ========\r
- * This function initializes the EDMA3 LLD for the DAT module\r
- */\r
-int DAT_EDMA3LLD_init(DAT_EDMA3LLD_Param * param) {\r
-\r
-    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;\r
-\r
-    /*\r
-     * Ensure DAT_EDMA3LLD_init is called only once\r
-     */\r
-    _dat_critical_section_enter();\r
-    if (DAT_EDMA3LLD_initCalled)\r
-    {\r
-        _dat_critical_section_exit();\r
-        return 0;\r
-    }\r
-\r
-    DAT_EDMA3LLD_initCalled = 1;\r
-    _dat_critical_section_exit();\r
-\r
-    /*\r
-     *  If the passed parameter is NULL, then configure EDMA3 with the\r
-     * default settings\r
-     */\r
-    if (NULL == param) {\r
-\r
-    /* Initialize EDMA3 first */\r
-    edmaResult = edma3init();\r
-    if (edmaResult != EDMA3_DRV_SOK)\r
-        {\r
-        printf("edma3init() FAILED, error code: %d\r\n",\r
-                            edmaResult);\r
-        }\r
-    else\r
-        {\r
-        printf("edma3init() PASSED\r\n");\r
-        }\r
-\r
-        /*\r
-         * Allocate maximum number of channels by default\r
-         */\r
-        DAT_EDMA3LLD_numAllocatedChannels = DAT_QUEUEDEPTH;\r
-\r
-        /*\r
-         * Flag indicating DAT was responsible for creating the DRV instance\r
-         * and opening it\r
-         */\r
-        _drvMaster = 1;\r
-    }\r
-    else\r
-    {\r
-        /*\r
-         * Use the EDMA3 DRV handle passed for requesting channels etc\r
-         */\r
-        DAT_EDMA3LLD_hEdma = param->hEdma;\r
-\r
-        /*\r
-         * Save the number of allocated channels from the config information\r
-         */\r
-        DAT_EDMA3LLD_numAllocatedChannels = param->numChannels;\r
-    }\r
-\r
-    return 1;\r
-}\r
-\r
-/*\r
- * ======== DAT_EDMA3llD_exit ========\r
- * Function to clean-up the EDMA3 LLD after use\r
- */\r
-void DAT_EDMA3LLD_exit() {\r
-\r
-    /*\r
-     * Ensure _initCalled was set\r
-     */\r
-    _dat_critical_section_enter();\r
-    if (DAT_EDMA3LLD_initCalled == 0)\r
-    {\r
-        _dat_critical_section_exit();\r
-        return;\r
-    }\r
-\r
-    if (_drvMaster == 0)\r
-    {\r
-        DAT_EDMA3LLD_hEdma = NULL;\r
-        _dat_critical_section_exit();\r
-        return;\r
-    }\r
-\r
-    DAT_EDMA3LLD_initCalled = 0;\r
-    _dat_critical_section_exit();\r
-}\r
-\r
-\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/**
+ *  @file        csl2_dat_edma3lld.c
+ *
+ *  @brief       Implements the EDMA3 LLD Initialization and clean up
+ *               functions
+ *
+ */
+
+/*
+ * Includes for accessing EDMA3 Driver Sample Init/Deinit functions
+ */
+#include <ti/sdo/edma3/drv/sample/bios6_edma3_drv_sample.h>
+
+#include <csl2_dat_edma3lld.h>
+/*
+ * global variable definitions
+ */
+
+/*
+ * Flag to guard against multiple calls to DAT_EDMA3LLD_init
+ */
+int DAT_EDMA3LLD_initCalled = 0;
+
+
+/*
+ * static variable definitions
+ */
+
+/*
+ * Flag to indicate that this instance is the master of the DRV instance
+ */
+static int _drvMaster = 0;
+
+/*
+ * extern variable declarations
+ */
+
+/*
+ * The EDMA3 handle and the number of allocated channels needed by the
+ * DAT module is setup here
+ */
+extern EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma;
+extern int DAT_EDMA3LLD_numAllocatedChannels;
+
+
+
+/* External Declaration */
+EDMA3_DRV_Result edma3init();
+
+/*
+ * OS dependent functions, that must be implemented by user of CSL DAT adapter
+ * These functions mark the entry and exit to critical sections of the code
+ */
+extern void _dat_critical_section_enter();
+extern void _dat_critical_section_exit();
+
+
+/*
+ * global function definitions
+ */
+
+/*
+ * ======== DAT_EDMA3llD_init ========
+ * This function initializes the EDMA3 LLD for the DAT module
+ */
+int DAT_EDMA3LLD_init(DAT_EDMA3LLD_Param * param) {
+
+    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
+
+    /*
+     * Ensure DAT_EDMA3LLD_init is called only once
+     */
+    _dat_critical_section_enter();
+    if (DAT_EDMA3LLD_initCalled)
+    {
+        _dat_critical_section_exit();
+        return 0;
+    }
+
+    DAT_EDMA3LLD_initCalled = 1;
+    _dat_critical_section_exit();
+
+    /*
+     *  If the passed parameter is NULL, then configure EDMA3 with the
+     * default settings
+     */
+    if (NULL == param) {
+
+    /* Initialize EDMA3 first */
+    edmaResult = edma3init();
+    if (edmaResult != EDMA3_DRV_SOK)
+        {
+        printf("edma3init() FAILED, error code: %d\r\n",
+                            edmaResult);
+        }
+    else
+        {
+        printf("edma3init() PASSED\r\n");
+        }
+
+        /*
+         * Allocate maximum number of channels by default
+         */
+        DAT_EDMA3LLD_numAllocatedChannels = DAT_QUEUEDEPTH;
+
+        /*
+         * Flag indicating DAT was responsible for creating the DRV instance
+         * and opening it
+         */
+        _drvMaster = 1;
+    }
+    else
+    {
+        /*
+         * Use the EDMA3 DRV handle passed for requesting channels etc
+         */
+        DAT_EDMA3LLD_hEdma = param->hEdma;
+
+        /*
+         * Save the number of allocated channels from the config information
+         */
+        DAT_EDMA3LLD_numAllocatedChannels = param->numChannels;
+    }
+
+    return 1;
+}
+
+/*
+ * ======== DAT_EDMA3llD_exit ========
+ * Function to clean-up the EDMA3 LLD after use
+ */
+void DAT_EDMA3LLD_exit() {
+
+    /*
+     * Ensure _initCalled was set
+     */
+    _dat_critical_section_enter();
+    if (DAT_EDMA3LLD_initCalled == 0)
+    {
+        _dat_critical_section_exit();
+        return;
+    }
+
+    if (_drvMaster == 0)
+    {
+        DAT_EDMA3LLD_hEdma = NULL;
+        _dat_critical_section_exit();
+        return;
+    }
+
+    DAT_EDMA3LLD_initCalled = 0;
+    _dat_critical_section_exit();
+}
+
+
index c53323098bfce0bda7c4df4a739ee148ccfacf4b..84813ed29fae55cf85184428c06c84f0a366fc2c 100644 (file)
@@ -1,60 +1,60 @@
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/*\r
- *  @file        csl2_dat_edma3lld.h\r
- *\r
- *  @brief      Header for the EDMA3 LLD setup and clean up functions\r
- *\r
- *\r
- */\r
-\r
-/*\r
- * Includes to access the EDMA3 driver libraries\r
- */\r
-\r
-#include <ti/sdo/edma3/drv/edma3_drv.h>\r
-\r
-#include <csl2_dat_edma3lld_config.h>\r
-#include <tistdtypes.h>\r
-\r
-/**\r
- * If EDMA3 LLD is already setup by some other application, the user\r
- * passes a handle to this structure for use by the DAT APIs\r
- */\r
-typedef struct DAT_EDMA3LLD_Param {\r
-\r
-    /* Edma3 drv handle */\r
-    EDMA3_DRV_Handle hEdma;\r
-\r
-    /*\r
-     * Number of channels to be allocated to the DAT API\r
-     * Simulates the EDMA2.0 qdma hardware queue of same depth\r
-     */\r
-    Uint32 numChannels;\r
-\r
-} DAT_EDMA3LLD_Param;\r
-\r
-\r
-/**\r
- * ======== DAT_EDMA3llD_init ========\r
- *    @brief        Initializes DAT reference implementation module using EDMA3\r
- *                Low level driver. Creates and opens an EDMA3 Driver instance\r
- *                if passed a NULL handle. Optionally an existing driver instance\r
- *                 handle that is used to setup the DAT module internal state.\r
- */\r
-int DAT_EDMA3LLD_init(DAT_EDMA3LLD_Param * config);\r
-\r
-/**\r
- * ======== DAT_EDMA3llD_exit ========\r
- *    @brief         Deletes the EDMA3 Low level driver if it was created by the DAT\r
- *                 reference implementation module. If not, it simply resets the\r
- *                 DAT module internal state.\r
- */\r
-void DAT_EDMA3LLD_exit();\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/*
+ *  @file        csl2_dat_edma3lld.h
+ *
+ *  @brief      Header for the EDMA3 LLD setup and clean up functions
+ *
+ *
+ */
+
+/*
+ * Includes to access the EDMA3 driver libraries
+ */
+
+#include <ti/sdo/edma3/drv/edma3_drv.h>
+
+#include <csl2_dat_edma3lld_config.h>
+#include <tistdtypes.h>
+
+/**
+ * If EDMA3 LLD is already setup by some other application, the user
+ * passes a handle to this structure for use by the DAT APIs
+ */
+typedef struct DAT_EDMA3LLD_Param {
+
+    /* Edma3 drv handle */
+    EDMA3_DRV_Handle hEdma;
+
+    /*
+     * Number of channels to be allocated to the DAT API
+     * Simulates the EDMA2.0 qdma hardware queue of same depth
+     */
+    Uint32 numChannels;
+
+} DAT_EDMA3LLD_Param;
+
+
+/**
+ * ======== DAT_EDMA3llD_init ========
+ *    @brief        Initializes DAT reference implementation module using EDMA3
+ *                Low level driver. Creates and opens an EDMA3 Driver instance
+ *                if passed a NULL handle. Optionally an existing driver instance
+ *                 handle that is used to setup the DAT module internal state.
+ */
+int DAT_EDMA3LLD_init(DAT_EDMA3LLD_Param * config);
+
+/**
+ * ======== DAT_EDMA3llD_exit ========
+ *    @brief         Deletes the EDMA3 Low level driver if it was created by the DAT
+ *                 reference implementation module. If not, it simply resets the
+ *                 DAT module internal state.
+ */
+void DAT_EDMA3LLD_exit();
index 9f5a03064aeae0434cd497b0f99390ae9a11d5a2..be39321c89e417b9415e82969993725426fc38e5 100644 (file)
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/**\r
- *  @file       csl2_dat_edma3lld_config.h\r
- *\r
- *  @brief      Defines the hardware specific parameters required by the\r
- *              CSL DAT2 EDMA3 Adapter\r
- *\r
- *\r
- */\r
-\r
-#ifndef _CSL_DAT2_EDMA3LLD_CONFIG_H\r
-#define _CSL_DAT2_EDMA3LLD_CONFIG_H\r
-\r
-\r
-/*\r
- * Settings to be used with the EDMA3 DRV APIs\r
- */\r
-#define DAT_EDMA3LLD_HW_REGION_ID     (0x1u) /* DSP mapped to region1 on Davinci */\r
-#define DAT_EDMA3LLD_HW_INST_ID         (0u) /* Hardware instance id */\r
-#define DAT_EDMA3LLD_HW_EVT_QUEUE_ID    (0u) /* Event queue number to be used */\r
-#define DAT_EDMA3LLD_HW_MAXPHYCHANNELS (32u) /* Max number of physical channels */\r
-\r
-/*\r
- * Settings for the DAT adapter layer\r
- * has to be double checked by system integrator\r
- */\r
-#define DAT_QUEUEDEPTH                (4u) /* Maximum number of QDMA channels/tcc(s)\r
-                                          * allocated to the DAT layer\r
-                                          */\r
-/*\r
- * Convenience MACROs for use in DAT adapter layer\r
- */\r
-/*\r
- * Clear bit in 32-bit register (task context)\r
- */\r
-#define CLEAR_REGISTER32_BIT(reg,bit) \\r
-        _dat_critical_section_enter(); (reg) &= (~(0x1 << (bit))); \\r
-    _dat_critical_section_exit();\r
-/*\r
- * Clear bit in 32-bit register (ISR context)\r
- */\r
-#define CLEAR_REGISTER32_BIT_DURING_INT(reg,bit) \\r
-        (reg) &= (~(0x1 << (bit)));\r
-\r
-/*\r
- * Set bit in 32-bit register  (task context)\r
- */\r
-#define SET_REGISTER32_BIT(reg,bit) \\r
-        _dat_critical_section_enter(); ((reg) |= (0x1 << (bit))); \\r
-        _dat_critical_section_exit();\r
-/*\r
- * Set bit in 32-bit register (ISR context) \r
- */\r
-#define SET_REGISTER32_BIT_DURING_INT(reg,bit) \\r
-        ((reg) |= (0x1 << (bit)));\r
-\r
-/*\r
- * Get bit from 32-bit register\r
- */\r
-#define GET_REGISTER32_BIT(reg,bit) \\r
-        (( ((reg)<< (31 - (bit)) ) >> 31) == 0)?0:1\r
-\r
-/*\r
- * Commented out section in csl_dat2.c references these macros\r
- */\r
-#define DAT_OPT_DEFAULT (0x0010000C) /* Sets up OPT for TCC Interrupt enabling\r
-                                    * AB-sync transfers, static entry with TCC\r
-                                    * not yet set */\r
-#define DAT_OPT_TCC_POS_MASK   (0xC) /* This mask marks the position of TCC in\r
-                                    * OPT\r
-                                    */\r
-#define DAT_INVALID_ID  (0xFFFFFFFF) /* Invalid ID */\r
-#define DAT_NULL_LINK       (0xFFFF) /* Null link in the OPT */\r
-\r
-\r
-/* OPT Field specific defines */\r
-#define OPT_SYNCDIM_SHIFT                   (0x00000002u)\r
-#define OPT_TCC_MASK                        (0x0003F000u)\r
-#define OPT_TCC_SHIFT                       (0x0000000Cu)\r
-#define OPT_ITCINTEN_SHIFT                  (0x00000015u)\r
-#define OPT_TCINTEN_SHIFT                   (0x00000014u)\r
-#define OPT_STATIC_SHIFT                       (0x00000003u)\r
-\r
-\r
-/*\r
- * Set Tcc in OPT\r
- */\r
-#define DAT_OPT_TCC(opt,tcc) \\r
-        ((unsigned int)(opt) | ((tcc)<<DAT_OPT_TCC_POS_MASK))\r
-\r
-#endif /* _CSL_DAT2_EDMA3LLD_CONFIG_H */\r
-\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/**
+ *  @file       csl2_dat_edma3lld_config.h
+ *
+ *  @brief      Defines the hardware specific parameters required by the
+ *              CSL DAT2 EDMA3 Adapter
+ *
+ *
+ */
+
+#ifndef _CSL_DAT2_EDMA3LLD_CONFIG_H
+#define _CSL_DAT2_EDMA3LLD_CONFIG_H
+
+
+/*
+ * Settings to be used with the EDMA3 DRV APIs
+ */
+#define DAT_EDMA3LLD_HW_REGION_ID     (0x1u) /* DSP mapped to region1 on Davinci */
+#define DAT_EDMA3LLD_HW_INST_ID         (0u) /* Hardware instance id */
+#define DAT_EDMA3LLD_HW_EVT_QUEUE_ID    (0u) /* Event queue number to be used */
+#define DAT_EDMA3LLD_HW_MAXPHYCHANNELS (32u) /* Max number of physical channels */
+
+/*
+ * Settings for the DAT adapter layer
+ * has to be double checked by system integrator
+ */
+#define DAT_QUEUEDEPTH                (4u) /* Maximum number of QDMA channels/tcc(s)
+                                          * allocated to the DAT layer
+                                          */
+/*
+ * Convenience MACROs for use in DAT adapter layer
+ */
+/*
+ * Clear bit in 32-bit register (task context)
+ */
+#define CLEAR_REGISTER32_BIT(reg,bit) \
+        _dat_critical_section_enter(); (reg) &= (~(0x1 << (bit))); \
+    _dat_critical_section_exit();
+/*
+ * Clear bit in 32-bit register (ISR context)
+ */
+#define CLEAR_REGISTER32_BIT_DURING_INT(reg,bit) \
+        (reg) &= (~(0x1 << (bit)));
+
+/*
+ * Set bit in 32-bit register  (task context)
+ */
+#define SET_REGISTER32_BIT(reg,bit) \
+        _dat_critical_section_enter(); ((reg) |= (0x1 << (bit))); \
+        _dat_critical_section_exit();
+/*
+ * Set bit in 32-bit register (ISR context) 
+ */
+#define SET_REGISTER32_BIT_DURING_INT(reg,bit) \
+        ((reg) |= (0x1 << (bit)));
+
+/*
+ * Get bit from 32-bit register
+ */
+#define GET_REGISTER32_BIT(reg,bit) \
+        (( ((reg)<< (31 - (bit)) ) >> 31) == 0)?0:1
+
+/*
+ * Commented out section in csl_dat2.c references these macros
+ */
+#define DAT_OPT_DEFAULT (0x0010000C) /* Sets up OPT for TCC Interrupt enabling
+                                    * AB-sync transfers, static entry with TCC
+                                    * not yet set */
+#define DAT_OPT_TCC_POS_MASK   (0xC) /* This mask marks the position of TCC in
+                                    * OPT
+                                    */
+#define DAT_INVALID_ID  (0xFFFFFFFF) /* Invalid ID */
+#define DAT_NULL_LINK       (0xFFFF) /* Null link in the OPT */
+
+
+/* OPT Field specific defines */
+#define OPT_SYNCDIM_SHIFT                   (0x00000002u)
+#define OPT_TCC_MASK                        (0x0003F000u)
+#define OPT_TCC_SHIFT                       (0x0000000Cu)
+#define OPT_ITCINTEN_SHIFT                  (0x00000015u)
+#define OPT_TCINTEN_SHIFT                   (0x00000014u)
+#define OPT_STATIC_SHIFT                       (0x00000003u)
+
+
+/*
+ * Set Tcc in OPT
+ */
+#define DAT_OPT_TCC(opt,tcc) \
+        ((unsigned int)(opt) | ((tcc)<<DAT_OPT_TCC_POS_MASK))
+
+#endif /* _CSL_DAT2_EDMA3LLD_CONFIG_H */
+
index 45c44fa3d21a013e8c8d25ecc50e37b67d042b89..64abf3ae3c5defcdf9890f186131889aceb929d2 100644 (file)
-/*\r
- *  Copyright 2006\r
- *  Texas Instruments Incorporated\r
- *\r
- *  All rights reserved.  Property of Texas Instruments Incorporated\r
- *  Restricted rights to use, duplicate or disclose this code are\r
- *  granted through contract.\r
- *\r
- */\r
-/**\r
- *  @file      main.c\r
- *\r
- * @brief      Demonstrates how to use DAT APIs implemented using CSL DAT\r
- *             adapter with EDMA3 hardware\r
- *\r
- *\r
- */\r
-\r
-#include <xdc/std.h>\r
-#include <stdio.h>\r
-#include <ti/sysbios/knl/Task.h>\r
-#include <ti/sysbios/BIOS.h>\r
-\r
-/* Include the legacy csl 2.0 dat header */\r
-#include <csl_dat.h>\r
-\r
-/* Include EDMA3 low level driver specific implementation APIs for dat */\r
-#include <csl2_dat_edma3lld.h>\r
-\r
-#define SIZE                   (0x4000)\r
-#define NUM_TRANSFERS  (0x100)\r
-\r
-/**\r
- * EDMA3 Driver Handle, which is used to call all the Driver APIs.\r
- * It gets initialized during EDMA3 Initialization.\r
- */\r
-extern EDMA3_DRV_Handle hEdma;\r
-\r
-extern EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma;\r
-\r
-/*\r
- * Patterns to fill up in the source buffers\r
- */\r
-unsigned long long fill1d =   0x1111111111111111;\r
-unsigned long long fill1d2d = 0x1212121212121212;\r
-unsigned long long fill2d1d = 0x8C0FFEE821212121;\r
-unsigned long long fill2d2d = 0x2222222222222222;\r
-unsigned long long fillzero = 0x0;\r
-\r
-/*\r
- * Destination buffer\r
- */\r
-unsigned int dstBuff[SIZE];\r
-/*\r
- * Source buffers\r
- */\r
-unsigned int srcBuff1[SIZE];\r
-unsigned int srcBuff2[SIZE];\r
-unsigned int srcBuff3[SIZE];\r
-unsigned int srcBuff4[SIZE];\r
-\r
-/*\r
- * Local References\r
- */\r
-void DAT_main(void);\r
-static void tskHeartBit(void);\r
-\r
-void main()\r
-       {\r
-       Task_Params datParams;\r
-       \r
-       Task_Params_init (&datParams);\r
-       datParams.stackSize = 8192;\r
-       \r
-       Task_create((Task_FuncPtr)DAT_main, &datParams, NULL);\r
-\r
-    BIOS_start();\r
-       }\r
-\r
-\r
-/*\r
- *  DAT_main task that will perform the dat transfers\r
- */\r
-void DAT_main()\r
-       {\r
-    int waitId[NUM_TRANSFERS];\r
-\r
-    /*\r
-     * Initialize Dat reference implementation module using EDMA3 Low level\r
-     * driver.\r
-     *   - Creates and opens an EDMA3 Driver instance if passed a NULL handle\r
-     *   - Optionally, can pass an existing EDMA3 driver instance handle\r
-     */\r
-    if (!DAT_EDMA3LLD_init(NULL))\r
-       {\r
-               printf("Error initializing EDMA3 low level driver\n");\r
-               exit();\r
-       }\r
-       else\r
-       {\r
-               DAT_EDMA3LLD_hEdma = hEdma;\r
-       }\r
-\r
-    /*\r
-     * Holds the waitId(s) returned from the various transfers\r
-     */\r
-    if (0 != DAT_open(0,0,0))\r
-    {\r
-               printf ("DAT_open Successful\n");\r
-               \r
-           waitId[1] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fill1d);\r
-        waitId[1] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fill1d);\r
-        waitId[2] = DAT_fill(srcBuff2, SIZE, (Uint32 *)&fill1d2d);\r
-        waitId[3] = DAT_fill(srcBuff3, SIZE, (Uint32 *)&fill2d1d);\r
-        waitId[4] = DAT_fill(srcBuff4, SIZE, (Uint32 *)&fill2d2d);\r
-        waitId[5] = DAT_fill(dstBuff, SIZE, (Uint32 *)&fillzero);\r
-\r
-        DAT_wait(waitId[1]);\r
-\r
-        if (DAT_busy(waitId[2]))    {\r
-            /* srcBuff2 is busy, so copy Buff 1 first */\r
-            DAT_copy(srcBuff1, dstBuff, 16 * 4 * 8);\r
-            DAT_wait(waitId[1]);\r
-            DAT_copy2d(DAT_1D2D,srcBuff2, dstBuff + 16 * 8, 4 * 4, 16, 16 * 4);\r
-        }\r
-        else {\r
-            /*\r
-             * Copy out two rows of 64 bytes\r
-             */\r
-            DAT_copy2d(DAT_1D2D,srcBuff2, dstBuff + 16 * 8, 4 * 4, 16, 16 * 4);\r
-            /*\r
-             * Copy out a row of data from srcBuff2 into a 2-d patter in dstBuff\r
-             */\r
-            DAT_copy(srcBuff1, dstBuff, 16 * 4 * 8);\r
-        }\r
-\r
-        /*\r
-         * Wait for all transfers to finish\r
-         */\r
-        DAT_wait(DAT_XFRID_WAITALL);\r
-\r
-        /*\r
-         * Demonstrate 2D copy mode\r
-         */\r
-        waitId[6] = DAT_copy2d(DAT_2D1D, srcBuff3, dstBuff + 16 * 22 + 4 , 4, 12, 16 * 4);\r
-        waitId[7] = DAT_copy2d(DAT_2D1D, srcBuff3, dstBuff + 16 * 23 + 4 , 4, 12, 16 * 4);\r
-        waitId[8] = DAT_copy2d(DAT_2D2D, srcBuff4, dstBuff +16 * 8 + 4 , 4 * 12, 14, 16 * 4);\r
-\r
-        /*\r
-         * Wait for all transfers to complete\r
-         */\r
-        DAT_wait(DAT_XFRID_WAITALL);\r
-\r
-        /*\r
-          * Clear up fill buffers\r
-         */\r
-        waitId[0] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fillzero);\r
-        waitId[1] = DAT_fill(srcBuff2, SIZE, (Uint32 *)&fillzero);\r
-        waitId[2] = DAT_fill(srcBuff3, SIZE, (Uint32 *)&fillzero);\r
-        waitId[3] = DAT_fill(srcBuff4, SIZE, (Uint32 *)&fillzero);\r
-\r
-        /*\r
-         * Wait for all transfers to complete\r
-         */\r
-        DAT_wait(DAT_XFRID_WAITALL);\r
-\r
-        /*\r
-         * Close DAT module\r
-         */\r
-        DAT_close();\r
-\r
-        printf("DAT Transfers Done\n");\r
-    }\r
-    else\r
-    {\r
-        printf("Failed to open DAT\n");\r
-    }\r
-\r
-    /*\r
-     * Clean up and exit Dat reference implementation module using EDMA3 Low level\r
-     */\r
-    DAT_EDMA3LLD_exit();\r
-\r
-    /* Start the Heart Beat Print */\r
-    tskHeartBit();\r
-\r
-    return;\r
-       }\r
-\r
-void tskHeartBit()\r
-    {\r
-    static unsigned int counter = 0u;\r
-\r
-    while (counter < 0x1000000u)\r
-        {\r
-        Task_sleep (1000u);\r
-        printf("\r\n\r\n!!! DAT HrtBt %x", counter);\r
-        counter++;\r
-        }\r
-    }\r
-\r
+/*
+ *  Copyright 2006
+ *  Texas Instruments Incorporated
+ *
+ *  All rights reserved.  Property of Texas Instruments Incorporated
+ *  Restricted rights to use, duplicate or disclose this code are
+ *  granted through contract.
+ *
+ */
+/**
+ *  @file      main.c
+ *
+ * @brief      Demonstrates how to use DAT APIs implemented using CSL DAT
+ *             adapter with EDMA3 hardware
+ *
+ *
+ */
+
+#include <xdc/std.h>
+#include <stdio.h>
+#include <ti/sysbios/knl/Task.h>
+#include <ti/sysbios/BIOS.h>
+
+/* Include the legacy csl 2.0 dat header */
+#include <csl_dat.h>
+
+/* Include EDMA3 low level driver specific implementation APIs for dat */
+#include <csl2_dat_edma3lld.h>
+
+#define SIZE                   (0x4000)
+#define NUM_TRANSFERS  (0x100)
+
+/**
+ * EDMA3 Driver Handle, which is used to call all the Driver APIs.
+ * It gets initialized during EDMA3 Initialization.
+ */
+extern EDMA3_DRV_Handle hEdma;
+
+extern EDMA3_DRV_Handle DAT_EDMA3LLD_hEdma;
+
+/*
+ * Patterns to fill up in the source buffers
+ */
+unsigned long long fill1d =   0x1111111111111111;
+unsigned long long fill1d2d = 0x1212121212121212;
+unsigned long long fill2d1d = 0x8C0FFEE821212121;
+unsigned long long fill2d2d = 0x2222222222222222;
+unsigned long long fillzero = 0x0;
+
+/*
+ * Destination buffer
+ */
+unsigned int dstBuff[SIZE];
+/*
+ * Source buffers
+ */
+unsigned int srcBuff1[SIZE];
+unsigned int srcBuff2[SIZE];
+unsigned int srcBuff3[SIZE];
+unsigned int srcBuff4[SIZE];
+
+/*
+ * Local References
+ */
+void DAT_main(void);
+static void tskHeartBit(void);
+
+void main()
+       {
+       Task_Params datParams;
+       
+       Task_Params_init (&datParams);
+       datParams.stackSize = 8192;
+       
+       Task_create((Task_FuncPtr)DAT_main, &datParams, NULL);
+
+    BIOS_start();
+       }
+
+
+/*
+ *  DAT_main task that will perform the dat transfers
+ */
+void DAT_main()
+       {
+    int waitId[NUM_TRANSFERS];
+
+    /*
+     * Initialize Dat reference implementation module using EDMA3 Low level
+     * driver.
+     *   - Creates and opens an EDMA3 Driver instance if passed a NULL handle
+     *   - Optionally, can pass an existing EDMA3 driver instance handle
+     */
+    if (!DAT_EDMA3LLD_init(NULL))
+       {
+               printf("Error initializing EDMA3 low level driver\n");
+               exit();
+       }
+       else
+       {
+               DAT_EDMA3LLD_hEdma = hEdma;
+       }
+
+    /*
+     * Holds the waitId(s) returned from the various transfers
+     */
+    if (0 != DAT_open(0,0,0))
+    {
+               printf ("DAT_open Successful\n");
+               
+           waitId[1] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fill1d);
+        waitId[1] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fill1d);
+        waitId[2] = DAT_fill(srcBuff2, SIZE, (Uint32 *)&fill1d2d);
+        waitId[3] = DAT_fill(srcBuff3, SIZE, (Uint32 *)&fill2d1d);
+        waitId[4] = DAT_fill(srcBuff4, SIZE, (Uint32 *)&fill2d2d);
+        waitId[5] = DAT_fill(dstBuff, SIZE, (Uint32 *)&fillzero);
+
+        DAT_wait(waitId[1]);
+
+        if (DAT_busy(waitId[2]))    {
+            /* srcBuff2 is busy, so copy Buff 1 first */
+            DAT_copy(srcBuff1, dstBuff, 16 * 4 * 8);
+            DAT_wait(waitId[1]);
+            DAT_copy2d(DAT_1D2D,srcBuff2, dstBuff + 16 * 8, 4 * 4, 16, 16 * 4);
+        }
+        else {
+            /*
+             * Copy out two rows of 64 bytes
+             */
+            DAT_copy2d(DAT_1D2D,srcBuff2, dstBuff + 16 * 8, 4 * 4, 16, 16 * 4);
+            /*
+             * Copy out a row of data from srcBuff2 into a 2-d patter in dstBuff
+             */
+            DAT_copy(srcBuff1, dstBuff, 16 * 4 * 8);
+        }
+
+        /*
+         * Wait for all transfers to finish
+         */
+        DAT_wait(DAT_XFRID_WAITALL);
+
+        /*
+         * Demonstrate 2D copy mode
+         */
+        waitId[6] = DAT_copy2d(DAT_2D1D, srcBuff3, dstBuff + 16 * 22 + 4 , 4, 12, 16 * 4);
+        waitId[7] = DAT_copy2d(DAT_2D1D, srcBuff3, dstBuff + 16 * 23 + 4 , 4, 12, 16 * 4);
+        waitId[8] = DAT_copy2d(DAT_2D2D, srcBuff4, dstBuff +16 * 8 + 4 , 4 * 12, 14, 16 * 4);
+
+        /*
+         * Wait for all transfers to complete
+         */
+        DAT_wait(DAT_XFRID_WAITALL);
+
+        /*
+          * Clear up fill buffers
+         */
+        waitId[0] = DAT_fill(srcBuff1, SIZE, (Uint32 *)&fillzero);
+        waitId[1] = DAT_fill(srcBuff2, SIZE, (Uint32 *)&fillzero);
+        waitId[2] = DAT_fill(srcBuff3, SIZE, (Uint32 *)&fillzero);
+        waitId[3] = DAT_fill(srcBuff4, SIZE, (Uint32 *)&fillzero);
+
+        /*
+         * Wait for all transfers to complete
+         */
+        DAT_wait(DAT_XFRID_WAITALL);
+
+        /*
+         * Close DAT module
+         */
+        DAT_close();
+
+        printf("DAT Transfers Done\n");
+    }
+    else
+    {
+        printf("Failed to open DAT\n");
+    }
+
+    /*
+     * Clean up and exit Dat reference implementation module using EDMA3 Low level
+     */
+    DAT_EDMA3LLD_exit();
+
+    /* Start the Heart Beat Print */
+    tskHeartBit();
+
+    return;
+       }
+
+void tskHeartBit()
+    {
+    static unsigned int counter = 0u;
+
+    while (counter < 0x1000000u)
+        {
+        Task_sleep (1000u);
+        printf("\r\n\r\n!!! DAT HrtBt %x", counter);
+        counter++;
+        }
+    }
+
index 1597e3c104e573e19551b023dbf386a1878020e3..4761ac986c01b6c425c8ff2ba3b900d4989354d9 100644 (file)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?ccsproject version="1.0"?>\r
-\r
-<projectOptions>\r
-<deviceVariant value=""/>\r
-<deviceEndianness value="little"/>\r
-<codegenToolVersion value="6.1.9"/>\r
-<linkerCommandFile value=""/>\r
-<rts value="rts6740.lib"/>\r
-<defaultAssemblyOnly value="false"/>\r
-</projectOptions>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value=""/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="6.1.9"/>
+<linkerCommandFile value=""/>
+<rts value="rts6740.lib"/>
+<defaultAssemblyOnly value="false"/>
+</projectOptions>
index f1e61075da8beab0714c57b46e68edebaa3da540..c32359e8c3e4c592ffc76b8252d5946c6fb3da7b 100644 (file)
@@ -1,62 +1,62 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?fileVersion 3.1.0?>\r
-\r
-<ManagedProjectBuildInfo>\r
-<project id="edma3_drv_bios6_da830_st_sample_configuration.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.262441840" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">\r
-<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.903538085" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1478452207">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.63048496" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1485898398" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>\r
-<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>\r
-</option>\r
-<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1478452207" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.190335576" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../../packages&quot;"/>\r
-</option>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.74328061" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1885974072" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1257051094" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.658497003" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1975264229" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.1961945452" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.429768881">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.329871664" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.104646945" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>\r
-<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>\r
-</option>\r
-<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.429768881" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.1228462089" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;../../../../../packages&quot;"/>\r
-</option>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.1835190651" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1854634923" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.938206754" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.218015828" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="debug" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_CONFIGURATION_FILE.1171184658" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_CONFIGURATION_FILE" value="&quot;M:\a0393534pc_EDMA3_build_pjt\data_psp\edma_drv\edma3_lld_bios6\packages\config.bld&quot;" valueType="string"/>\r
-<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.457460041" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<macros/>\r
-</project>\r
-</ManagedProjectBuildInfo>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="edma3_drv_bios6_da830_st_sample_configuration.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.262441840" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">
+<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.903538085" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1478452207">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.63048496" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1485898398" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>
+<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>
+</option>
+<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.1478452207" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.190335576" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../../packages&quot;"/>
+</option>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.74328061" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1885974072" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.1257051094" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.658497003" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="PHONY" artifactName="configPkg" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1975264229" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.1961945452" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.429768881">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.329871664" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.104646945" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="XDC_VERSION=3.15.00.50"/>
+<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.DSPBIOS:6.20.00.37;"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=org.eclipse.rtsc.xdctools.buildDefinitions.XDC.ProjectKind_Configuration"/>
+</option>
+<tool id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.429768881" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool">
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH.1228462089" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.XDC_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value="&quot;${BIOS_CG_ROOT}/packages&quot;"/>
+<listOptionValue builtIn="false" value="&quot;../../../../../packages&quot;"/>
+</option>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR.1835190651" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.OUTPUT_DIR" value="&quot;configPkg&quot;" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET.1854634923" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.TARGET" value="ti.targets.C674" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM.938206754" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.PLATFORM" value="ti.platforms.evmDA830" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE.218015828" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_PROFILE" value="debug" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_CONFIGURATION_FILE.1171184658" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.BUILD_CONFIGURATION_FILE" value="&quot;M:\a0393534pc_EDMA3_build_pjt\data_psp\edma_drv\edma3_lld_bios6\packages\config.bld&quot;" valueType="string"/>
+<option id="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR.457460041" superClass="com.ti.rtsc.buildDefinitions.XDC_3.15.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
index 6d1271807e8ce5b60a1b5de250e24de797e56e8f..69c68906e630d441c2790181545037d5001406d1 100644 (file)
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse-cdt version="2.0"?>\r
-\r
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
-<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<data>\r
-<item id="org.eclipse.cdt.core.pathentry">\r
-<pathentry kind="src" path=""/>\r
-<pathentry kind="out" path=""/>\r
-<pathentry kind="con" path="org.eclipse.rtsc.xdctools.buildDefinitions.XDC.XDCROOT_CONTAINER"/>\r
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
-</item>\r
-</data>\r
-</cdtproject>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.rtsc.xdctools.buildDefinitions.XDC.XDCROOT_CONTAINER"/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
index 3d7e340cc19dbb3645728104d18e94a45b22162c..f4a2a443a94313f0f1a9361a8606da3bf108fa9b 100644 (file)
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>edma3_drv_bios6_da830_st_sample_configuration</name>\r
-       <comment></comment>\r
-       <projects>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>\r
-               <nature>org.eclipse.cdt.core.cnature</nature>\r
-               <nature>org.eclipse.cdt.core.ccnature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
-       </natures>\r
-</projectDescription>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>edma3_drv_bios6_da830_st_sample_configuration</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+       </natures>
+</projectDescription>
index dc6c22591da1d3e9a573450ac91b3f2e3537767e..9e4d5602f952a9f4e4041ac3ac254b6eceeb3ef0 100644 (file)
@@ -1,3 +1,3 @@
-#Tue May 26 12:19:23 IST 2009\r
-eclipse.preferences.version=1\r
-indexerId=org.eclipse.cdt.core.nullindexer\r
+#Tue May 26 12:19:23 IST 2009
+eclipse.preferences.version=1
+indexerId=org.eclipse.cdt.core.nullindexer
index abf603d93b93994b8efe6a80febe7a1f732f75b8..c42a49b1d08aa25fa5a36dad706a2466f460d6b7 100644 (file)
@@ -1,15 +1,15 @@
-#Wed Jun 03 11:01:33 IST 2009\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.649233358/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Debug.649233358/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1382381135/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1382381135/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1982306518/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.1982306518/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.226078196/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.C6000.Release.226078196/internalBuilder/ignoreErr=true\r
-eclipse.preferences.version=1\r
-environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.1975264229=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+#Wed Jun 03 11:01:33 IST 2009
+com.ti.ccstudio.buildDefinitions.C6000.Debug.649233358/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Debug.649233358/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.1382381135/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.1382381135/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.1982306518/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.1982306518/internalBuilder/ignoreErr=true
+com.ti.ccstudio.buildDefinitions.C6000.Release.226078196/internalBuilder/enabled=false
+com.ti.ccstudio.buildDefinitions.C6000.Release.226078196/internalBuilder/ignoreErr=true
+eclipse.preferences.version=1
+environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Debug.1975264229=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
+environment/project/com.ti.ccstudio.buildDefinitions.C6000.Release.1333243457=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n
index 10957cfc17aece81071ed69dfbb283a49b4a9a7b..a6903b78d300067176dfc29661fb04ecfbe9b26d 100644 (file)
@@ -1,19 +1,19 @@
-/*use modules*/\r
-var Task = xdc.useModule ("ti.sysbios.knl.Task");\r
-var BIOS      = xdc.useModule ("ti.sysbios.BIOS");\r
-var ECM       = xdc.useModule ("ti.sysbios.family.c64p.EventCombiner");\r
-var Startup   = xdc.useModule ("xdc.runtime.Startup");\r
-var System    = xdc.useModule ("xdc.runtime.System");\r
-var Log       = xdc.useModule ("xdc.runtime.Log");\r
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');\r
-var Semaphore = xdc.useModule('ti.sysbios.ipc.Semaphore');\r
-var Cache = xdc.useModule('ti.sysbios.hal.Cache');\r
-\r
-ECM.eventGroupHwiNum[0] = 7;\r
-ECM.eventGroupHwiNum[1] = 8;\r
-ECM.eventGroupHwiNum[2] = 9;\r
-ECM.eventGroupHwiNum[3] = 10;\r
-\r
-/* USE EDMA3 Sample App */\r
-xdc.loadPackage('ti.sdo.edma3.drv.sample');\r
-\r
+/*use modules*/
+var Task = xdc.useModule ("ti.sysbios.knl.Task");
+var BIOS      = xdc.useModule ("ti.sysbios.BIOS");
+var ECM       = xdc.useModule ("ti.sysbios.family.c64p.EventCombiner");
+var Startup   = xdc.useModule ("xdc.runtime.Startup");
+var System    = xdc.useModule ("xdc.runtime.System");
+var Log       = xdc.useModule ("xdc.runtime.Log");
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Semaphore = xdc.useModule('ti.sysbios.ipc.Semaphore');
+var Cache = xdc.useModule('ti.sysbios.hal.Cache');
+
+ECM.eventGroupHwiNum[0] = 7;
+ECM.eventGroupHwiNum[1] = 8;
+ECM.eventGroupHwiNum[2] = 9;
+ECM.eventGroupHwiNum[3] = 10;
+
+/* USE EDMA3 Sample App */
+xdc.loadPackage('ti.sdo.edma3.drv.sample');
+
index 1597e3c104e573e19551b023dbf386a1878020e3..4761ac986c01b6c425c8ff2ba3b900d4989354d9 100644 (file)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?ccsproject version="1.0"?>\r
-\r
-<projectOptions>\r
-<deviceVariant value=""/>\r
-<deviceEndianness value="little"/>\r
-<codegenToolVersion value="6.1.9"/>\r
-<linkerCommandFile value=""/>\r
-<rts value="rts6740.lib"/>\r
-<defaultAssemblyOnly value="false"/>\r
-</projectOptions>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value=""/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="6.1.9"/>
+<linkerCommandFile value=""/>
+<rts value="rts6740.lib"/>
+<defaultAssemblyOnly value="false"/>
+</projectOptions>
index a4625bd7f847fd6f440ecc309b3b671ecc7d7e51..95d94250d2b98efc7bd02976a1f369792bf1bf34 100644 (file)
@@ -1,66 +1,66 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?fileVersion 3.1.0?>\r
-\r
-<ManagedProjectBuildInfo>\r
-<project id="edma3_drv_bios6_da830_st_sample.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1168843461" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">\r
-<configuration artifactExtension="out" artifactName="edma3_drv_bios6_da830_st_sample" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1381622631" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.186536117" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1079086988">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1007746754" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1862610640" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>\r
-<listOptionValue builtIn="false" value="DEPENDENCIES=edma3_drv_bios6_da830_st_sample_configuration:Debug;"/>\r
-</option>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug.2130529212" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1670164643" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.505419783" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Debug/configPkg/compiler.opt}&quot;"/>\r
-</option>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1079086988" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.1948789276" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.520161475" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.421391766" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Debug/configPkg/linker.cmd}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>\r
-</option>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<configuration artifactExtension="out" artifactName="edma3_drv_bios6_da830_st_sample" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.95736313" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.1846537859" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.848359357">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1596879681" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1866220290" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>\r
-<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>\r
-<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>\r
-<listOptionValue builtIn="false" value="DEPENDENCIES=edma3_drv_bios6_da830_st_sample_configuration:Release;"/>\r
-</option>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.1481609373" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1017617443" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.1507154281" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Release/configPkg/compiler.opt}&quot;"/>\r
-</option>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.848359357" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease">\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.729993974" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1824510727" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.1419437926" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Release/configPkg/linker.cmd}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>\r
-</option>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-</configuration>\r
-<macros/>\r
-</project>\r
-</ManagedProjectBuildInfo>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="edma3_drv_bios6_da830_st_sample.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1168843461" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType">
+<configuration artifactExtension="out" artifactName="edma3_drv_bios6_da830_st_sample" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1381622631" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain.186536117" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1079086988">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1007746754" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1862610640" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>
+<listOptionValue builtIn="false" value="DEPENDENCIES=edma3_drv_bios6_da830_st_sample_configuration:Debug;"/>
+</option>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug.2130529212" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1670164643" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.505419783" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Debug/configPkg/compiler.opt}&quot;"/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug.1079086988" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.1948789276" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.out&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.520161475" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.map&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.421391766" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Debug/configPkg/linker.cmd}&quot;"/>
+<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>
+</option>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="out" artifactName="edma3_drv_bios6_da830_st_sample" description="" id="com.ti.ccstudio.buildDefinitions.C6000.Release.95736313" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain.1846537859" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.848359357">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1596879681" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="6.1.9" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1866220290" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC674xDevice"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6740.lib"/>
+<listOptionValue builtIn="false" value="IS_ASSEMBLY_ONLY=false"/>
+<listOptionValue builtIn="false" value="PROJECT_KIND=com.ti.ccstudio.managedbuild.core.ProjectKind_Executable"/>
+<listOptionValue builtIn="false" value="DEPENDENCIES=edma3_drv_bios6_da830_st_sample_configuration:Release;"/>
+</option>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.1481609373" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION.1017617443" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE.1507154281" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.CMD_FILE" valueType="stringList">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Release/configPkg/compiler.opt}&quot;"/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease.848359357" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.linkerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE.729993974" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.OUTPUT_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.out&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE.1824510727" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.MAP_FILE" value="&quot;edma3_drv_bios6_da830_st_sample.map&quot;" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY.1419437926" superClass="com.ti.ccstudio.buildDefinitions.C6000_6.1.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edma3_drv_bios6_da830_st_sample_configuration/Release/configPkg/linker.cmd}&quot;"/>
+<listOptionValue builtIn="false" value="&quot;rts6740.lib&quot;"/>
+</option>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
index e6354c6e38086b4e6d535380f2176921f7adbc77..b7f8759bcee4046bebbd49804a92baee70614f3a 100644 (file)
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse-cdt version="2.0"?>\r
-\r
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
-<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>\r
-<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<data>\r
-<item id="org.eclipse.cdt.core.pathentry">\r
-<pathentry kind="src" path=""/>\r
-<pathentry kind="out" path=""/>\r
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
-</item>\r
-</data>\r
-</cdtproject>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
index 40dfc24b3af32739cd807a1406b6affe0614b058..52ed5760f4a27a679d2bd9bc1bd11b42a1456e4f 100644 (file)
@@ -1,77 +1,77 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>edma3_drv_bios6_da830_st_sample</name>\r
-       <comment></comment>\r
-       <projects>\r
-               <project>edma3_drv_bios6_da830_st_sample_configuration</project>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.cdt.core.cnature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
-               <nature>org.eclipse.cdt.core.ccnature</nature>\r
-       </natures>\r
-       <linkedResources>\r
-               <link>\r
-                       <name>dma_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>dma_poll_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_poll_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>ping_pong.cmd</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/ping_pong.cmd</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>main.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/main.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>qdma_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/qdma_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>dma_link_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_link_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>dma_misc_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_misc_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>dma_ping_pong_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_ping_pong_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>qdma_link_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/qdma_link_test.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>common.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/common.c</locationURI>\r
-               </link>\r
-               <link>\r
-                       <name>dma_chain_test.c</name>\r
-                       <type>1</type>\r
-                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_chain_test.c</locationURI>\r
-               </link>\r
-       </linkedResources>\r
-</projectDescription>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>edma3_drv_bios6_da830_st_sample</name>
+       <comment></comment>
+       <projects>
+               <project>edma3_drv_bios6_da830_st_sample_configuration</project>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+       </natures>
+       <linkedResources>
+               <link>
+                       <name>dma_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_test.c</locationURI>
+               </link>
+               <link>
+                       <name>dma_poll_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_poll_test.c</locationURI>
+               </link>
+               <link>
+                       <name>ping_pong.cmd</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/ping_pong.cmd</locationURI>
+               </link>
+               <link>
+                       <name>main.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/main.c</locationURI>
+               </link>
+               <link>
+                       <name>qdma_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/qdma_test.c</locationURI>
+               </link>
+               <link>
+                       <name>dma_link_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_link_test.c</locationURI>
+               </link>
+               <link>
+                       <name>dma_misc_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_misc_test.c</locationURI>
+               </link>
+               <link>
+                       <name>dma_ping_pong_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_ping_pong_test.c</locationURI>
+               </link>
+               <link>
+                       <name>qdma_link_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/qdma_link_test.c</locationURI>
+               </link>
+               <link>
+                       <name>common.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/common.c</locationURI>
+               </link>
+               <link>
+                       <name>dma_chain_test.c</name>
+                       <type>1</type>
+                       <locationURI>EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/dma_chain_test.c</locationURI>
+               </link>
+       </linkedResources>
+</projectDescription>
index 07d3a74ef263098bf70a3192da4b8f8165a17cae..ea06c68e3c2fd1c1e6b4ec467c09540fee265028 100644 (file)
-/*******************************************************************************\r
-**+--------------------------------------------------------------------------+**\r
-**|                            ****                                          |**\r
-**|                            ****                                          |**\r
-**|                            ******o***                                    |**\r
-**|                      ********_///_****                                   |**\r
-**|                      ***** /_//_/ ****                                   |**\r
-**|                       ** ** (__/ ****                                    |**\r
-**|                           *********                                      |**\r
-**|                            ****                                          |**\r
-**|                            ***                                           |**\r
-**|                                                                          |**\r
-**|         Copyright (c) 1998-2006 Texas Instruments Incorporated           |**\r
-**|                        ALL RIGHTS RESERVED                               |**\r
-**|                                                                          |**\r
-**| Permission is hereby granted to licensees of Texas Instruments           |**\r
-**| Incorporated (TI) products to use this computer program for the sole     |**\r
-**| purpose of implementing a licensee product based on TI products.         |**\r
-**| No other rights to reproduce, use, or disseminate this computer          |**\r
-**| program, whether in part or in whole, are granted.                       |**\r
-**|                                                                          |**\r
-**| TI makes no representation or warranties with respect to the             |**\r
-**| performance of this computer program, and specifically disclaims         |**\r
-**| any responsibility for any damages, special or consequential,            |**\r
-**| connected with the use of this program.                                  |**\r
-**|                                                                          |**\r
-**+--------------------------------------------------------------------------+**\r
-*******************************************************************************/\r
-\r
-/** \file   common.c\r
-\r
-    \brief  Demo sample application for the EDMA3 Driver for BIOS 6.\r
-\r
-    (C) Copyright 2006, Texas Instruments, Inc\r
-\r
-    \version    1.0   Anuj Aggarwal         - Created\r
-\r
- */\r
-\r
-#include "sample.h"\r
-\r
-\r
-/* Flag variable to check transfer completion on channel 1 */\r
-volatile short irqRaised1 = 0;\r
-/* Flag variable to check transfer completion on channel 2 */\r
-volatile short irqRaised2 = 0;\r
-\r
-\r
-/* Cache line aligned source buffer 1. */\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-/**\r
- * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The\r
- * alignment boundary is the maximum of the symbol\92s default alignment value\r
- * or the value of the constant in bytes. The constant must be a power of 2.\r
- * The syntax of the pragma in C is:\r
- * #pragma DATA_ALIGN (symbol, constant);\r
- */\r
-#pragma DATA_ALIGN(_srcBuff1, EDMA3_CACHE_LINE_SIZE_IN_BYTES);\r
-#endif  /* #ifdef EDMA3_ENABLE_DCACHE */\r
-signed char   _srcBuff1[MAX_BUFFER_SIZE];\r
-\r
-\r
-/* Cache line aligned destination buffer 1. */\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-/**\r
- * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The\r
- * alignment boundary is the maximum of the symbol\92s default alignment value\r
- * or the value of the constant in bytes. The constant must be a power of 2.\r
- * The syntax of the pragma in C is:\r
- * #pragma DATA_ALIGN (symbol, constant);\r
- */\r
-#pragma DATA_ALIGN(_dstBuff1, EDMA3_CACHE_LINE_SIZE_IN_BYTES);\r
-#endif  /* #ifdef EDMA3_ENABLE_DCACHE */\r
-signed char   _dstBuff1[MAX_BUFFER_SIZE];\r
-\r
-signed char *srcBuff1;\r
-signed char *dstBuff1;\r
-\r
-\r
-\r
-/* Cache line aligned source buffer 2. */\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-/**\r
- * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The\r
- * alignment boundary is the maximum of the symbol\92s default alignment value\r
- * or the value of the constant in bytes. The constant must be a power of 2.\r
- * The syntax of the pragma in C is:\r
- * #pragma DATA_ALIGN (symbol, constant);\r
- */\r
-#pragma DATA_ALIGN(_srcBuff2, EDMA3_CACHE_LINE_SIZE_IN_BYTES);\r
-#endif  /* #ifdef EDMA3_ENABLE_DCACHE */\r
-signed char   _srcBuff2[MAX_BUFFER_SIZE];\r
-\r
-\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-/* Cache line aligned destination buffer 2. */\r
-/**\r
- * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The\r
- * alignment boundary is the maximum of the symbol\92s default alignment value\r
- * or the value of the constant in bytes. The constant must be a power of 2.\r
- * The syntax of the pragma in C is:\r
- * #pragma DATA_ALIGN (symbol, constant);\r
- */\r
-#pragma DATA_ALIGN(_dstBuff2, EDMA3_CACHE_LINE_SIZE_IN_BYTES);\r
-#endif  /* #ifdef EDMA3_ENABLE_DCACHE */\r
-signed char   _dstBuff2[MAX_BUFFER_SIZE];\r
-\r
-signed char *srcBuff2;\r
-signed char *dstBuff2;\r
-\r
-\r
-/* Callback function 1 */\r
-void callback1 (unsigned int tcc, EDMA3_RM_TccStatus status,\r
-                        void *appData)\r
-    {\r
-    (void)tcc;\r
-    (void)appData;\r
-\r
-    switch (status)\r
-        {\r
-        case EDMA3_RM_XFER_COMPLETE:\r
-            /* Transfer completed successfully */\r
-            irqRaised1 = 1;\r
-            break;\r
-        case EDMA3_RM_E_CC_DMA_EVT_MISS:\r
-            /* Transfer resulted in DMA event miss error. */\r
-            irqRaised1 = -1;\r
-            break;\r
-        case EDMA3_RM_E_CC_QDMA_EVT_MISS:\r
-            /* Transfer resulted in QDMA event miss error. */\r
-            irqRaised1 = -2;\r
-            break;\r
-        default:\r
-            break;\r
-        }\r
-    }\r
-\r
-\r
-\r
-/* Callback function 2 */\r
-void callback2 (unsigned int tcc, EDMA3_RM_TccStatus status,\r
-                        void *appData)\r
-    {\r
-    (void)tcc;\r
-    (void)appData;\r
-\r
-    switch (status)\r
-        {\r
-        case EDMA3_RM_XFER_COMPLETE:\r
-            /* Transfer completed successfully */\r
-            irqRaised2 = 1;\r
-            break;\r
-        case EDMA3_RM_E_CC_DMA_EVT_MISS:\r
-            /* Transfer resulted in DMA event miss error. */\r
-            irqRaised2 = -1;\r
-            break;\r
-        case EDMA3_RM_E_CC_QDMA_EVT_MISS:\r
-            /* Transfer resulted in QDMA event miss error. */\r
-            irqRaised2 = -2;\r
-            break;\r
-        default:\r
-            break;\r
-        }\r
-    }\r
-\r
-\r
+/*******************************************************************************
+**+--------------------------------------------------------------------------+**
+**|                            ****                                          |**
+**|                            ****                                          |**
+**|                            ******o***                                    |**
+**|                      ********_///_****                                   |**
+**|                      ***** /_//_/ ****                                   |**
+**|                       ** ** (__/ ****                                    |**
+**|                           *********                                      |**
+**|                            ****                                          |**
+**|                            ***                                           |**
+**|                                                                          |**
+**|         Copyright (c) 1998-2006 Texas Instruments Incorporated           |**
+**|                        ALL RIGHTS RESERVED                               |**
+**|                                                                          |**
+**| Permission is hereby granted to licensees of Texas Instruments           |**
+**| Incorporated (TI) products to use this computer program for the sole     |**
+**| purpose of implementing a licensee product based on TI products.         |**
+**| No other rights to reproduce, use, or disseminate this computer          |**
+**| program, whether in part or in whole, are granted.                       |**
+**|                                                                          |**
+**| TI makes no representation or warranties with respect to the             |**
+**| performance of this computer program, and specifically disclaims         |**
+**| any responsibility for any damages, special or consequential,            |**
+**| connected with the use of this program.                                  |**
+**|                                                                          |**
+**+--------------------------------------------------------------------------+**
+*******************************************************************************/
+
+/** \file   common.c
+
+    \brief  Demo sample application for the EDMA3 Driver for BIOS 6.
+
+    (C) Copyright 2006, Texas Instruments, Inc
+
+    \version    1.0   Anuj Aggarwal         - Created
+
+ */
+
+#include "sample.h"
+
+
+/* Flag variable to check transfer completion on channel 1 */
+volatile short irqRaised1 = 0;
+/* Flag variable to check transfer completion on channel 2 */
+volatile short irqRaised2 = 0;
+
+
+/* Cache line aligned source buffer 1. */
+#ifdef EDMA3_ENABLE_DCACHE
+/**
+ * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The
+ * alignment boundary is the maximum of the symbol\92s default alignment value
+ * or the value of the constant in bytes. The constant must be a power of 2.
+ * The syntax of the pragma in C is:
+ * #pragma DATA_ALIGN (symbol, constant);
+ */
+#pragma DATA_ALIGN(_srcBuff1, EDMA3_CACHE_LINE_SIZE_IN_BYTES);
+#endif  /* #ifdef EDMA3_ENABLE_DCACHE */
+signed char   _srcBuff1[MAX_BUFFER_SIZE];
+
+
+/* Cache line aligned destination buffer 1. */
+#ifdef EDMA3_ENABLE_DCACHE
+/**
+ * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The
+ * alignment boundary is the maximum of the symbol\92s default alignment value
+ * or the value of the constant in bytes. The constant must be a power of 2.
+ * The syntax of the pragma in C is:
+ * #pragma DATA_ALIGN (symbol, constant);
+ */
+#pragma DATA_ALIGN(_dstBuff1, EDMA3_CACHE_LINE_SIZE_IN_BYTES);
+#endif  /* #ifdef EDMA3_ENABLE_DCACHE */
+signed char   _dstBuff1[MAX_BUFFER_SIZE];
+
+signed char *srcBuff1;
+signed char *dstBuff1;
+
+
+
+/* Cache line aligned source buffer 2. */
+#ifdef EDMA3_ENABLE_DCACHE
+/**
+ * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The
+ * alignment boundary is the maximum of the symbol\92s default alignment value
+ * or the value of the constant in bytes. The constant must be a power of 2.
+ * The syntax of the pragma in C is:
+ * #pragma DATA_ALIGN (symbol, constant);
+ */
+#pragma DATA_ALIGN(_srcBuff2, EDMA3_CACHE_LINE_SIZE_IN_BYTES);
+#endif  /* #ifdef EDMA3_ENABLE_DCACHE */
+signed char   _srcBuff2[MAX_BUFFER_SIZE];
+
+
+#ifdef EDMA3_ENABLE_DCACHE
+/* Cache line aligned destination buffer 2. */
+/**
+ * The DATA_ALIGN pragma aligns the symbol to an alignment boundary. The
+ * alignment boundary is the maximum of the symbol\92s default alignment value
+ * or the value of the constant in bytes. The constant must be a power of 2.
+ * The syntax of the pragma in C is:
+ * #pragma DATA_ALIGN (symbol, constant);
+ */
+#pragma DATA_ALIGN(_dstBuff2, EDMA3_CACHE_LINE_SIZE_IN_BYTES);
+#endif  /* #ifdef EDMA3_ENABLE_DCACHE */
+signed char   _dstBuff2[MAX_BUFFER_SIZE];
+
+signed char *srcBuff2;
+signed char *dstBuff2;
+
+
+/* Callback function 1 */
+void callback1 (unsigned int tcc, EDMA3_RM_TccStatus status,
+                        void *appData)
+    {
+    (void)tcc;
+    (void)appData;
+
+    switch (status)
+        {
+        case EDMA3_RM_XFER_COMPLETE:
+            /* Transfer completed successfully */
+            irqRaised1 = 1;
+            break;
+        case EDMA3_RM_E_CC_DMA_EVT_MISS:
+            /* Transfer resulted in DMA event miss error. */
+            irqRaised1 = -1;
+            break;
+        case EDMA3_RM_E_CC_QDMA_EVT_MISS:
+            /* Transfer resulted in QDMA event miss error. */
+            irqRaised1 = -2;
+            break;
+        default:
+            break;
+        }
+    }
+
+
+
+/* Callback function 2 */
+void callback2 (unsigned int tcc, EDMA3_RM_TccStatus status,
+                        void *appData)
+    {
+    (void)tcc;
+    (void)appData;
+
+    switch (status)
+        {
+        case EDMA3_RM_XFER_COMPLETE:
+            /* Transfer completed successfully */
+            irqRaised2 = 1;
+            break;
+        case EDMA3_RM_E_CC_DMA_EVT_MISS:
+            /* Transfer resulted in DMA event miss error. */
+            irqRaised2 = -1;
+            break;
+        case EDMA3_RM_E_CC_QDMA_EVT_MISS:
+            /* Transfer resulted in QDMA event miss error. */
+            irqRaised2 = -2;
+            break;
+        default:
+            break;
+        }
+    }
+
+
index c6e7a5ee929bb92d208b284cc898c607051af269..6fa4c5a3f742ce33a927afb0b4d2a93c586bb255 100644 (file)
-#include "sample.h"\r
-\r
-extern signed char   _srcBuff1[MAX_BUFFER_SIZE];\r
-extern signed char   _srcBuff2[MAX_BUFFER_SIZE];\r
-extern signed char   _dstBuff1[MAX_BUFFER_SIZE];\r
-extern signed char   _dstBuff2[MAX_BUFFER_SIZE];\r
-\r
-extern signed char *srcBuff1;\r
-extern signed char *srcBuff2;\r
-extern signed char *dstBuff1;\r
-extern signed char *dstBuff2;\r
-\r
-\r
-/**\r
-   * Test case demonstrating the usgae of DMA channels for transferring\r
-   * data between two memory locations. The two DMA channels are chained\r
-   * to each other.\r
-   */\r
-/**\r
- *  \brief   EDMA3 mem-to-mem data copy test case, using two DMA channels,\r
- *              chained to each other.\r
- *\r
- *  \param  acnt        [IN]      Number of bytes in an array\r
- *  \param  bcnt        [IN]      Number of arrays in a frame\r
- *  \param  ccnt        [IN]      Number of frames in a block\r
- *  \param  syncType    [IN]      Synchronization type (A/AB Sync)\r
- *\r
- *  \return  EDMA3_DRV_SOK or EDMA3_DRV Error Code\r
- */\r
-EDMA3_DRV_Result edma3_test_with_chaining(\r
-                                unsigned int acnt,\r
-                                unsigned int bcnt,\r
-                                unsigned int ccnt,\r
-                                EDMA3_DRV_SyncType syncType)\r
-    {\r
-    EDMA3_DRV_ChainOptions chain = {EDMA3_DRV_TCCHEN_DIS,\r
-                                    EDMA3_DRV_ITCCHEN_DIS,\r
-                                    EDMA3_DRV_TCINTEN_DIS,\r
-                                    EDMA3_DRV_ITCINTEN_DIS};\r
-    EDMA3_DRV_Result result = EDMA3_DRV_SOK;\r
-    unsigned int BRCnt = 0;\r
-    int srcbidx = 0, desbidx = 0;\r
-    int srccidx = 0, descidx = 0;\r
-    unsigned int ch1Id = 0;\r
-    unsigned int ch2Id = 0;\r
-    unsigned int tcc1 = 0;\r
-    unsigned int tcc2 = 0;\r
-    int i;\r
-    unsigned int numenabled = 0;\r
-    unsigned int count;\r
-    unsigned int Istestpassed1 = 0u;\r
-    unsigned int Istestpassed2 = 0u;\r
-\r
-\r
-    srcBuff1 = (signed char*) _srcBuff1;\r
-    dstBuff1 = (signed char*) _dstBuff1;\r
-    srcBuff2 = (signed char*) _srcBuff2;\r
-    dstBuff2 = (signed char*) _dstBuff2;\r
-\r
-\r
-    /* Initalize source and destination buffers */\r
-    for (count = 0u; count < (acnt*bcnt*ccnt); count++)\r
-        {\r
-        srcBuff1[count] = (int)count+4;\r
-        srcBuff2[count] = (int)count+4;\r
-        /**\r
-         * No need to initialize the destination buffer as it is being invalidated.\r
-        dstBuff1[count] = initval;\r
-        dstBuff2[count] = initval;\r
-        */\r
-        }\r
-\r
-\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-    /*\r
-    * Note: These functions are required if the buffer is in DDR.\r
-    * For other cases, where buffer is NOT in DDR, user\r
-    * may or may not require the below functions.\r
-    */\r
-    /* Flush the Source Buffers */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheFlush((unsigned int)srcBuff1, (acnt*bcnt*ccnt));\r
-        }\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheFlush((unsigned int)srcBuff2, (acnt*bcnt*ccnt));\r
-        }\r
-\r
-    /* Invalidate the Destination Buffers */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheInvalidate((unsigned int)dstBuff1, (acnt*bcnt*ccnt));\r
-        }\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheInvalidate((unsigned int)dstBuff2, (acnt*bcnt*ccnt));\r
-        }\r
-#endif  /* EDMA3_ENABLE_DCACHE */\r
-\r
-\r
-    /* Set B count reload as B count. */\r
-    BRCnt = bcnt;\r
-\r
-    /* Setting up the SRC/DES Index */\r
-    srcbidx = (int)acnt;\r
-    desbidx = (int)acnt;\r
-\r
-    if (syncType == EDMA3_DRV_SYNC_A)\r
-        {\r
-        /* A Sync Transfer Mode */\r
-        srccidx = (int)acnt;\r
-        descidx = (int)acnt;\r
-        }\r
-    else\r
-        {\r
-        /* AB Sync Transfer Mode */\r
-        srccidx = ((int)acnt * (int)bcnt);\r
-        descidx = ((int)acnt * (int)bcnt);\r
-        }\r
-\r
-\r
-    /* Transfer complete chaining enable. */\r
-    chain.tcchEn = EDMA3_DRV_TCCHEN_EN;\r
-    /* Intermediate transfer complete chaining enable. */\r
-    chain.itcchEn = EDMA3_DRV_ITCCHEN_EN;\r
-    /* Transfer complete interrupt is enabled. */\r
-    chain.tcintEn = EDMA3_DRV_TCINTEN_EN;\r
-    /* Intermediate transfer complete interrupt is disabled. */\r
-    chain.itcintEn = EDMA3_DRV_ITCINTEN_DIS;\r
-\r
-\r
-    /* Setup for Channel 1*/\r
-    tcc1 = EDMA3_DRV_TCC_ANY;\r
-    ch1Id = EDMA3_DRV_DMA_CHANNEL_ANY;\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_requestChannel (hEdma, &ch1Id, &tcc1,\r
-                                            (EDMA3_RM_EventQueue)0,\r
-                                            &callback1, NULL);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcParams (hEdma, ch1Id,\r
-                                        (unsigned int)(srcBuff1),\r
-                                        EDMA3_DRV_ADDR_MODE_INCR,\r
-                                        EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setDestParams (hEdma, ch1Id,\r
-                                            (unsigned int)(dstBuff1),\r
-                                            EDMA3_DRV_ADDR_MODE_INCR,\r
-                                            EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcIndex (hEdma, ch1Id, srcbidx, srccidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setDestIndex (hEdma, ch1Id, desbidx, descidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,\r
-                                                    ccnt,BRCnt,\r
-                                                    EDMA3_DRV_SYNC_A);\r
-            }\r
-        else\r
-            {\r
-            /* AB Sync Transfer Mode */\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,\r
-                                                    ccnt, BRCnt,\r
-                                                    EDMA3_DRV_SYNC_AB);\r
-            }\r
-        }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Setup for Channel 2 */\r
-        tcc2 = EDMA3_DRV_TCC_ANY;\r
-        ch2Id = EDMA3_DRV_DMA_CHANNEL_ANY;\r
-\r
-        result = EDMA3_DRV_requestChannel (hEdma, &ch2Id, &tcc2,\r
-                                            (EDMA3_RM_EventQueue)0,\r
-                                            &callback2, NULL);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcParams (hEdma, ch2Id, (unsigned int)(srcBuff2),\r
-                                        EDMA3_DRV_ADDR_MODE_INCR,\r
-                                        EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setDestParams (hEdma, ch2Id,\r
-                                            (unsigned int)(dstBuff2),\r
-                                            EDMA3_DRV_ADDR_MODE_INCR,\r
-                                            EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcIndex (hEdma, ch2Id, srcbidx, srccidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result =  EDMA3_DRV_setDestIndex (hEdma, ch2Id, desbidx, descidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,\r
-                                                    ccnt, BRCnt,\r
-                                                    EDMA3_DRV_SYNC_A);\r
-            }\r
-        else\r
-            {\r
-            /* AB Sync Transfer Mode */\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,\r
-                                                    ccnt, BRCnt,\r
-                                                    EDMA3_DRV_SYNC_AB);\r
-            }\r
-        }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /**\r
-         * Enable the Transfer Completion Interrupt on the Chained Channel\r
-         * (Ch 2).\r
-         */\r
-        result = EDMA3_DRV_setOptField (hEdma, ch2Id,\r
-                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /**\r
-         * Enable the Intermediate Transfer Completion Interrupt on the\r
-         * Chained Channel (Ch 2).\r
-         */\r
-        result = EDMA3_DRV_setOptField (hEdma, ch2Id,\r
-                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);\r
-        }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Now chain the two channels together. */\r
-        result = EDMA3_DRV_chainChannel(hEdma, ch1Id, ch2Id,\r
-                                    (EDMA3_DRV_ChainOptions *)&chain);\r
-        }\r
-\r
-\r
-    /*Need to activate next param*/\r
-    if (syncType == EDMA3_DRV_SYNC_A)\r
-        {\r
-        numenabled = bcnt * ccnt;\r
-        }\r
-    else\r
-        {\r
-        /* AB Sync Transfer Mode */\r
-        numenabled = ccnt;\r
-        }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        for (i = 0; i < numenabled; i++)\r
-            {\r
-            irqRaised2 = 0;\r
-\r
-            /*\r
-             * Now enable the transfer for Master channel as many times\r
-             * as calculated above.\r
-             */\r
-            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,\r
-                                                EDMA3_DRV_TRIG_MODE_MANUAL);\r
-            if (result != EDMA3_DRV_SOK)\r
-                {\r
-    #ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("error from edma3_test_with_chaining\n\r\n");\r
-    #endif  /* EDMA3_DRV_DEBUG */\r
-                break;\r
-                }\r
-\r
-\r
-            /**\r
-             * Transfer on the master channel (ch1Id) will finish after some\r
-             * time.\r
-             * Now, because of the enabling of intermediate chaining on channel\r
-             * 1, after the transfer gets over, a sync event will be sent\r
-             * to channel 2, which will trigger the transfer on it.\r
-             * Also, Final and Intermediate Transfer Complete\r
-             * Interrupts are enabled on channel 2, so we should wait for the\r
-             * completion ISR on channel 2 first, before proceeding\r
-             * ahead.\r
-             */\r
-            while (irqRaised2 == 0)\r
-                {\r
-                /* Wait for the Completion ISR on channel 2. */\r
-                Task_sleep(1u);\r
-                }\r
-\r
-            /* Check the status of the completed transfer */\r
-            if (irqRaised2 < 0)\r
-                {\r
-                /* Some error occured, break from the FOR loop. */\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_chaining: Event Miss Occured!!!\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-\r
-                /* Clear the error bits first */\r
-                result = EDMA3_DRV_clearErrorBits (hEdma, ch1Id);\r
-\r
-                break;\r
-                }\r
-            }\r
-        }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Match the Source and Destination Buffers. */\r
-        if (result == EDMA3_DRV_SOK)\r
-            {\r
-            for (i = 0; i < (acnt*bcnt*ccnt); i++)\r
-                {\r
-                if (srcBuff1[i] != dstBuff1[i])\r
-                    {\r
-                    Istestpassed1 = 0;\r
-\r
-        #ifdef EDMA3_DRV_DEBUG\r
-                    EDMA3_DRV_PRINTF("edma3_test_with_chaining: Data write-read " \\r
-                                    "matching FAILED at i = %d " \\r
-                                    "(srcBuff1 -> dstBuff1)\r\n", i);\r
-        #endif  /* EDMA3_DRV_DEBUG */\r
-                    break;\r
-                    }\r
-                }\r
-            if (i == (acnt*bcnt*ccnt))\r
-                {\r
-                Istestpassed1 = 1u;\r
-                }\r
-\r
-\r
-            for (i = 0; i < (acnt*bcnt*ccnt); i++)\r
-                {\r
-                if (srcBuff2[i] != dstBuff2[i])\r
-                    {\r
-                    Istestpassed2 = 0;\r
-\r
-        #ifdef EDMA3_DRV_DEBUG\r
-                    EDMA3_DRV_PRINTF("edma3_test_with_chaining: Data write-read " \\r
-                                    "matching FAILED at i = %d " \\r
-                                    "(srcBuff2 -> dstBuff2)\r\n", i);\r
-        #endif  /* EDMA3_DRV_DEBUG */\r
-                    break;\r
-                    }\r
-                }\r
-            if (i == (acnt*bcnt*ccnt))\r
-                {\r
-                Istestpassed2 = 1u;\r
-                }\r
-            }\r
-\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Free the previously allocated channels. */\r
-        result = EDMA3_DRV_freeChannel (hEdma, ch1Id);\r
-        if (result != EDMA3_DRV_SOK)\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF("edma3_test_with_chaining: EDMA3_DRV_freeChannel() for ch 1 FAILED, error code: %d\r\n", result);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-            }\r
-        else\r
-            {\r
-            result = EDMA3_DRV_freeChannel (hEdma, ch2Id);\r
-            if (result != EDMA3_DRV_SOK)\r
-                {\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF("edma3_test_with_chaining: EDMA3_DRV_freeChannel() for ch 2 FAILED, error code: %d\r\n", result);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                }\r
-            }\r
-        }\r
-    }\r
-\r
-\r
-    if((Istestpassed1 == 1u) && (Istestpassed2 == 1u))\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF("edma3_test_with_chaining PASSED\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-        }\r
-    else\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF("edma3_test_with_chaining FAILED\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-        result = ((EDMA3_DRV_SOK == result) ?\r
-                                EDMA3_DATA_MISMATCH_ERROR : result);\r
-        }\r
-\r
-\r
-    return result;\r
-    }\r
-\r
+#include "sample.h"
+
+extern signed char   _srcBuff1[MAX_BUFFER_SIZE];
+extern signed char   _srcBuff2[MAX_BUFFER_SIZE];
+extern signed char   _dstBuff1[MAX_BUFFER_SIZE];
+extern signed char   _dstBuff2[MAX_BUFFER_SIZE];
+
+extern signed char *srcBuff1;
+extern signed char *srcBuff2;
+extern signed char *dstBuff1;
+extern signed char *dstBuff2;
+
+
+/**
+   * Test case demonstrating the usgae of DMA channels for transferring
+   * data between two memory locations. The two DMA channels are chained
+   * to each other.
+   */
+/**
+ *  \brief   EDMA3 mem-to-mem data copy test case, using two DMA channels,
+ *              chained to each other.
+ *
+ *  \param  acnt        [IN]      Number of bytes in an array
+ *  \param  bcnt        [IN]      Number of arrays in a frame
+ *  \param  ccnt        [IN]      Number of frames in a block
+ *  \param  syncType    [IN]      Synchronization type (A/AB Sync)
+ *
+ *  \return  EDMA3_DRV_SOK or EDMA3_DRV Error Code
+ */
+EDMA3_DRV_Result edma3_test_with_chaining(
+                                unsigned int acnt,
+                                unsigned int bcnt,
+                                unsigned int ccnt,
+                                EDMA3_DRV_SyncType syncType)
+    {
+    EDMA3_DRV_ChainOptions chain = {EDMA3_DRV_TCCHEN_DIS,
+                                    EDMA3_DRV_ITCCHEN_DIS,
+                                    EDMA3_DRV_TCINTEN_DIS,
+                                    EDMA3_DRV_ITCINTEN_DIS};
+    EDMA3_DRV_Result result = EDMA3_DRV_SOK;
+    unsigned int BRCnt = 0;
+    int srcbidx = 0, desbidx = 0;
+    int srccidx = 0, descidx = 0;
+    unsigned int ch1Id = 0;
+    unsigned int ch2Id = 0;
+    unsigned int tcc1 = 0;
+    unsigned int tcc2 = 0;
+    int i;
+    unsigned int numenabled = 0;
+    unsigned int count;
+    unsigned int Istestpassed1 = 0u;
+    unsigned int Istestpassed2 = 0u;
+
+
+    srcBuff1 = (signed char*) _srcBuff1;
+    dstBuff1 = (signed char*) _dstBuff1;
+    srcBuff2 = (signed char*) _srcBuff2;
+    dstBuff2 = (signed char*) _dstBuff2;
+
+
+    /* Initalize source and destination buffers */
+    for (count = 0u; count < (acnt*bcnt*ccnt); count++)
+        {
+        srcBuff1[count] = (int)count+4;
+        srcBuff2[count] = (int)count+4;
+        /**
+         * No need to initialize the destination buffer as it is being invalidated.
+        dstBuff1[count] = initval;
+        dstBuff2[count] = initval;
+        */
+        }
+
+
+#ifdef EDMA3_ENABLE_DCACHE
+    /*
+    * Note: These functions are required if the buffer is in DDR.
+    * For other cases, where buffer is NOT in DDR, user
+    * may or may not require the below functions.
+    */
+    /* Flush the Source Buffers */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheFlush((unsigned int)srcBuff1, (acnt*bcnt*ccnt));
+        }
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheFlush((unsigned int)srcBuff2, (acnt*bcnt*ccnt));
+        }
+
+    /* Invalidate the Destination Buffers */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheInvalidate((unsigned int)dstBuff1, (acnt*bcnt*ccnt));
+        }
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheInvalidate((unsigned int)dstBuff2, (acnt*bcnt*ccnt));
+        }
+#endif  /* EDMA3_ENABLE_DCACHE */
+
+
+    /* Set B count reload as B count. */
+    BRCnt = bcnt;
+
+    /* Setting up the SRC/DES Index */
+    srcbidx = (int)acnt;
+    desbidx = (int)acnt;
+
+    if (syncType == EDMA3_DRV_SYNC_A)
+        {
+        /* A Sync Transfer Mode */
+        srccidx = (int)acnt;
+        descidx = (int)acnt;
+        }
+    else
+        {
+        /* AB Sync Transfer Mode */
+        srccidx = ((int)acnt * (int)bcnt);
+        descidx = ((int)acnt * (int)bcnt);
+        }
+
+
+    /* Transfer complete chaining enable. */
+    chain.tcchEn = EDMA3_DRV_TCCHEN_EN;
+    /* Intermediate transfer complete chaining enable. */
+    chain.itcchEn = EDMA3_DRV_ITCCHEN_EN;
+    /* Transfer complete interrupt is enabled. */
+    chain.tcintEn = EDMA3_DRV_TCINTEN_EN;
+    /* Intermediate transfer complete interrupt is disabled. */
+    chain.itcintEn = EDMA3_DRV_ITCINTEN_DIS;
+
+
+    /* Setup for Channel 1*/
+    tcc1 = EDMA3_DRV_TCC_ANY;
+    ch1Id = EDMA3_DRV_DMA_CHANNEL_ANY;
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_requestChannel (hEdma, &ch1Id, &tcc1,
+                                            (EDMA3_RM_EventQueue)0,
+                                            &callback1, NULL);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcParams (hEdma, ch1Id,
+                                        (unsigned int)(srcBuff1),
+                                        EDMA3_DRV_ADDR_MODE_INCR,
+                                        EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setDestParams (hEdma, ch1Id,
+                                            (unsigned int)(dstBuff1),
+                                            EDMA3_DRV_ADDR_MODE_INCR,
+                                            EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcIndex (hEdma, ch1Id, srcbidx, srccidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setDestIndex (hEdma, ch1Id, desbidx, descidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,
+                                                    ccnt,BRCnt,
+                                                    EDMA3_DRV_SYNC_A);
+            }
+        else
+            {
+            /* AB Sync Transfer Mode */
+            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,
+                                                    ccnt, BRCnt,
+                                                    EDMA3_DRV_SYNC_AB);
+            }
+        }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Setup for Channel 2 */
+        tcc2 = EDMA3_DRV_TCC_ANY;
+        ch2Id = EDMA3_DRV_DMA_CHANNEL_ANY;
+
+        result = EDMA3_DRV_requestChannel (hEdma, &ch2Id, &tcc2,
+                                            (EDMA3_RM_EventQueue)0,
+                                            &callback2, NULL);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcParams (hEdma, ch2Id, (unsigned int)(srcBuff2),
+                                        EDMA3_DRV_ADDR_MODE_INCR,
+                                        EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setDestParams (hEdma, ch2Id,
+                                            (unsigned int)(dstBuff2),
+                                            EDMA3_DRV_ADDR_MODE_INCR,
+                                            EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcIndex (hEdma, ch2Id, srcbidx, srccidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result =  EDMA3_DRV_setDestIndex (hEdma, ch2Id, desbidx, descidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,
+                                                    ccnt, BRCnt,
+                                                    EDMA3_DRV_SYNC_A);
+            }
+        else
+            {
+            /* AB Sync Transfer Mode */
+            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,
+                                                    ccnt, BRCnt,
+                                                    EDMA3_DRV_SYNC_AB);
+            }
+        }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /**
+         * Enable the Transfer Completion Interrupt on the Chained Channel
+         * (Ch 2).
+         */
+        result = EDMA3_DRV_setOptField (hEdma, ch2Id,
+                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /**
+         * Enable the Intermediate Transfer Completion Interrupt on the
+         * Chained Channel (Ch 2).
+         */
+        result = EDMA3_DRV_setOptField (hEdma, ch2Id,
+                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);
+        }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Now chain the two channels together. */
+        result = EDMA3_DRV_chainChannel(hEdma, ch1Id, ch2Id,
+                                    (EDMA3_DRV_ChainOptions *)&chain);
+        }
+
+
+    /*Need to activate next param*/
+    if (syncType == EDMA3_DRV_SYNC_A)
+        {
+        numenabled = bcnt * ccnt;
+        }
+    else
+        {
+        /* AB Sync Transfer Mode */
+        numenabled = ccnt;
+        }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        for (i = 0; i < numenabled; i++)
+            {
+            irqRaised2 = 0;
+
+            /*
+             * Now enable the transfer for Master channel as many times
+             * as calculated above.
+             */
+            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,
+                                                EDMA3_DRV_TRIG_MODE_MANUAL);
+            if (result != EDMA3_DRV_SOK)
+                {
+    #ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("error from edma3_test_with_chaining\n\r\n");
+    #endif  /* EDMA3_DRV_DEBUG */
+                break;
+                }
+
+
+            /**
+             * Transfer on the master channel (ch1Id) will finish after some
+             * time.
+             * Now, because of the enabling of intermediate chaining on channel
+             * 1, after the transfer gets over, a sync event will be sent
+             * to channel 2, which will trigger the transfer on it.
+             * Also, Final and Intermediate Transfer Complete
+             * Interrupts are enabled on channel 2, so we should wait for the
+             * completion ISR on channel 2 first, before proceeding
+             * ahead.
+             */
+            while (irqRaised2 == 0)
+                {
+                /* Wait for the Completion ISR on channel 2. */
+                Task_sleep(1u);
+                }
+
+            /* Check the status of the completed transfer */
+            if (irqRaised2 < 0)
+                {
+                /* Some error occured, break from the FOR loop. */
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_chaining: Event Miss Occured!!!\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+
+                /* Clear the error bits first */
+                result = EDMA3_DRV_clearErrorBits (hEdma, ch1Id);
+
+                break;
+                }
+            }
+        }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Match the Source and Destination Buffers. */
+        if (result == EDMA3_DRV_SOK)
+            {
+            for (i = 0; i < (acnt*bcnt*ccnt); i++)
+                {
+                if (srcBuff1[i] != dstBuff1[i])
+                    {
+                    Istestpassed1 = 0;
+
+        #ifdef EDMA3_DRV_DEBUG
+                    EDMA3_DRV_PRINTF("edma3_test_with_chaining: Data write-read " \
+                                    "matching FAILED at i = %d " \
+                                    "(srcBuff1 -> dstBuff1)\r\n", i);
+        #endif  /* EDMA3_DRV_DEBUG */
+                    break;
+                    }
+                }
+            if (i == (acnt*bcnt*ccnt))
+                {
+                Istestpassed1 = 1u;
+                }
+
+
+            for (i = 0; i < (acnt*bcnt*ccnt); i++)
+                {
+                if (srcBuff2[i] != dstBuff2[i])
+                    {
+                    Istestpassed2 = 0;
+
+        #ifdef EDMA3_DRV_DEBUG
+                    EDMA3_DRV_PRINTF("edma3_test_with_chaining: Data write-read " \
+                                    "matching FAILED at i = %d " \
+                                    "(srcBuff2 -> dstBuff2)\r\n", i);
+        #endif  /* EDMA3_DRV_DEBUG */
+                    break;
+                    }
+                }
+            if (i == (acnt*bcnt*ccnt))
+                {
+                Istestpassed2 = 1u;
+                }
+            }
+
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Free the previously allocated channels. */
+        result = EDMA3_DRV_freeChannel (hEdma, ch1Id);
+        if (result != EDMA3_DRV_SOK)
+            {
+#ifdef EDMA3_DRV_DEBUG
+            EDMA3_DRV_PRINTF("edma3_test_with_chaining: EDMA3_DRV_freeChannel() for ch 1 FAILED, error code: %d\r\n", result);
+#endif  /* EDMA3_DRV_DEBUG */
+            }
+        else
+            {
+            result = EDMA3_DRV_freeChannel (hEdma, ch2Id);
+            if (result != EDMA3_DRV_SOK)
+                {
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF("edma3_test_with_chaining: EDMA3_DRV_freeChannel() for ch 2 FAILED, error code: %d\r\n", result);
+#endif  /* EDMA3_DRV_DEBUG */
+                }
+            }
+        }
+    }
+
+
+    if((Istestpassed1 == 1u) && (Istestpassed2 == 1u))
+        {
+#ifdef EDMA3_DRV_DEBUG
+        EDMA3_DRV_PRINTF("edma3_test_with_chaining PASSED\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+        }
+    else
+        {
+#ifdef EDMA3_DRV_DEBUG
+        EDMA3_DRV_PRINTF("edma3_test_with_chaining FAILED\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+        result = ((EDMA3_DRV_SOK == result) ?
+                                EDMA3_DATA_MISMATCH_ERROR : result);
+        }
+
+
+    return result;
+    }
+
index 40ba15ef0e7fbd02de3a85a9d600a359f122aae0..1934ee035a43b89be2c7de31bedd3f7fc9520f94 100644 (file)
-#include "sample.h"\r
-\r
-extern signed char   _srcBuff1[MAX_BUFFER_SIZE];\r
-extern signed char   _srcBuff2[MAX_BUFFER_SIZE];\r
-extern signed char   _dstBuff1[MAX_BUFFER_SIZE];\r
-extern signed char   _dstBuff2[MAX_BUFFER_SIZE];\r
-\r
-extern signed char *srcBuff1;\r
-extern signed char *srcBuff2;\r
-extern signed char *dstBuff1;\r
-extern signed char *dstBuff2;\r
-\r
-\r
-/**\r
- *  \brief   EDMA3 mem-to-mem data copy test case, using two DMA\r
- *              channels, linked to each other.\r
- *\r
- *  \param  acnt        [IN]      Number of bytes in an array\r
- *  \param  bcnt        [IN]      Number of arrays in a frame\r
- *  \param  ccnt        [IN]      Number of frames in a block\r
- *  \param  syncType    [IN]      Synchronization type (A/AB Sync)\r
- *\r
- *  \return  EDMA3_DRV_SOK or EDMA3_DRV Error Code\r
- */\r
-EDMA3_DRV_Result edma3_test_with_link(\r
-                                    unsigned int acnt,\r
-                                    unsigned int bcnt,\r
-                                    unsigned int ccnt,\r
-                                    EDMA3_DRV_SyncType syncType)\r
-    {\r
-    EDMA3_DRV_Result result = EDMA3_DRV_SOK;\r
-    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};\r
-    unsigned int ch1Id = 0;\r
-    unsigned int ch2Id = 0;\r
-    unsigned int tcc1 = 0;\r
-    unsigned int tcc2 = 0;\r
-    int i;\r
-    unsigned int count;\r
-    unsigned int Istestpassed1 = 0u;\r
-    unsigned int Istestpassed2 = 0u;\r
-    unsigned int numenabled = 0;\r
-    unsigned int BRCnt = 0;\r
-    int srcbidx = 0, desbidx = 0;\r
-    int srccidx = 0, descidx = 0;\r
-\r
-\r
-    srcBuff1 = (signed char*) _srcBuff1;\r
-    dstBuff1 = (signed char*) _dstBuff1;\r
-    srcBuff2 = (signed char*) _srcBuff2;\r
-    dstBuff2 = (signed char*) _dstBuff2;\r
-\r
-\r
-    /* Initalize source and destination buffers */\r
-    for (count = 0u; count < (acnt*bcnt*ccnt); count++)\r
-        {\r
-        srcBuff1[count] = (int)count+1;\r
-        srcBuff2[count] = (int)count+1;\r
-        /**\r
-         * No need to initialize the destination buffer as it is being invalidated.\r
-        dstBuff1[count] = initval;\r
-        dstBuff2[count] = initval;\r
-        */\r
-        }\r
-\r
-\r
-#ifdef EDMA3_ENABLE_DCACHE\r
-    /*\r
-    * Note: These functions are required if the buffer is in DDR.\r
-    * For other cases, where buffer is NOT in DDR, user\r
-    * may or may not require the below functions.\r
-    */\r
-    /* Flush the Source Buffers */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheFlush((unsigned int)srcBuff1, (acnt*bcnt*ccnt));\r
-        }\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheFlush((unsigned int)srcBuff2, (acnt*bcnt*ccnt));\r
-        }\r
-\r
-    /* Invalidate the Destination Buffers */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheInvalidate((unsigned int)dstBuff1, (acnt*bcnt*ccnt));\r
-        }\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = Edma3_CacheInvalidate((unsigned int)dstBuff2, (acnt*bcnt*ccnt));\r
-        }\r
-#endif  /* EDMA3_ENABLE_DCACHE */\r
-\r
-\r
-    irqRaised1 = 0;\r
-    irqRaised2 = 0;\r
-\r
-    /* Set B count reload as B count. */\r
-    BRCnt = bcnt;\r
-\r
-    /* Setting up the SRC/DES Index */\r
-    srcbidx = (int)acnt;\r
-    desbidx = (int)acnt;\r
-    if (syncType == EDMA3_DRV_SYNC_A)\r
-        {\r
-        /* A Sync Transfer Mode */\r
-        srccidx = (int)acnt;\r
-        descidx = (int)acnt;\r
-        }\r
-    else\r
-        {\r
-        /* AB Sync Transfer Mode */\r
-        srccidx = ((int)acnt * (int)bcnt);\r
-        descidx = ((int)acnt * (int)bcnt);\r
-        }\r
-\r
-\r
-    /* Setup for Channel 1*/\r
-    tcc1 = EDMA3_DRV_TCC_ANY;\r
-    ch1Id = EDMA3_DRV_DMA_CHANNEL_ANY;\r
-\r
-    /* Request any DMA channel and any TCC */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_requestChannel (hEdma, &ch1Id, &tcc1,\r
-                                            (EDMA3_RM_EventQueue)0,\r
-                                            &callback1, NULL);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Fill the PaRAM Set with transfer specific information */\r
-        paramSet.srcAddr    = (unsigned int)(srcBuff1);\r
-        paramSet.destAddr   = (unsigned int)(dstBuff1);\r
-\r
-        /**\r
-         * Be Careful !!!\r
-         * Valid values for SRCBIDX/DSTBIDX are between \9632768 and 32767\r
-         * Valid values for SRCCIDX/DSTCIDX are between \9632768 and 32767\r
-         */\r
-        paramSet.srcBIdx    = srcbidx;\r
-        paramSet.destBIdx   = desbidx;\r
-        paramSet.srcCIdx    = srccidx;\r
-        paramSet.destCIdx   = descidx;\r
-\r
-        /**\r
-         * Be Careful !!!\r
-         * Valid values for ACNT/BCNT/CCNT are between 0 and 65535.\r
-         * ACNT/BCNT/CCNT must be greater than or equal to 1.\r
-         * Maximum number of bytes in an array (ACNT) is 65535 bytes\r
-         * Maximum number of arrays in a frame (BCNT) is 65535\r
-         * Maximum number of frames in a block (CCNT) is 65535\r
-         */\r
-        paramSet.aCnt       = acnt;\r
-        paramSet.bCnt       = bcnt;\r
-        paramSet.cCnt       = ccnt;\r
-\r
-        /* For AB-synchronized transfers, BCNTRLD is not used. */\r
-        paramSet.bCntReload = BRCnt;\r
-\r
-        paramSet.linkAddr   = 0xFFFFu;\r
-\r
-        /* Src & Dest are in INCR modes */\r
-        paramSet.opt &= 0xFFFFFFFCu;\r
-        /* Program the TCC */\r
-        paramSet.opt |= ((tcc1 << OPT_TCC_SHIFT) & OPT_TCC_MASK);\r
-\r
-        /* Enable Intermediate & Final transfer completion interrupt */\r
-        paramSet.opt |= (1 << OPT_ITCINTEN_SHIFT);\r
-        paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);\r
-\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            paramSet.opt &= 0xFFFFFFFBu;\r
-            }\r
-        else\r
-            {\r
-            /* AB Sync Transfer Mode */\r
-            paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);\r
-            }\r
-\r
-        /* Now, write the PaRAM Set. */\r
-        result = EDMA3_DRV_setPaRAM (hEdma, ch1Id, &paramSet);\r
-        }\r
-\r
-\r
-    /*\r
-     * There is another way to program the PaRAM Set using specific APIs\r
-     * for different PaRAM set entries. It gives user more control and easier\r
-     * to use interface. User can use any of the methods.\r
-     * Below is the alternative way to program the PaRAM Set.\r
-     */\r
-\r
-    /*\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcParams (hEdma, ch1Id, (unsigned int)(srcBuff1),\r
-                                        EDMA3_DRV_ADDR_MODE_INCR,\r
-                                        EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setDestParams (hEdma, ch1Id,\r
-                                            (unsigned int)(dstBuff1),\r
-                                            EDMA3_DRV_ADDR_MODE_INCR,\r
-                                            EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcIndex (hEdma, ch1Id, srcbidx, srccidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result =  EDMA3_DRV_setDestIndex (hEdma, ch1Id, desbidx, descidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,\r
-                                                ccnt, BRCnt,\r
-                                                EDMA3_DRV_SYNC_A);\r
-            }\r
-        else\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,\r
-                                                ccnt, BRCnt,\r
-                                                EDMA3_DRV_SYNC_AB);\r
-            }\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setOptField (hEdma, ch1Id,\r
-                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setOptField (hEdma, ch1Id,\r
-                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);\r
-        }\r
-\r
-    */\r
-\r
-\r
-    /* Request any LINK channel and any TCC */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /* Setup for Channel 2 */\r
-        ch2Id   = EDMA3_DRV_LINK_CHANNEL;\r
-        tcc2    = EDMA3_DRV_TCC_ANY;\r
-\r
-        result = EDMA3_DRV_requestChannel (hEdma, &ch2Id, &tcc2,\r
-                                            (EDMA3_RM_EventQueue)0,\r
-                                            &callback1, NULL);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /*\r
-         * Fill the PaRAM Set for the LINK channel\r
-         * with transfer specific information.\r
-         */\r
-        paramSet.srcAddr    = (unsigned int)(srcBuff2);\r
-        paramSet.destAddr   = (unsigned int)(dstBuff2);\r
-\r
-        /**\r
-         * Be Careful !!!\r
-         * Valid values for SRCBIDX/DSTBIDX are between \9632768 and 32767\r
-         * Valid values for SRCCIDX/DSTCIDX are between \9632768 and 32767\r
-         */\r
-        paramSet.srcBIdx    = srcbidx;\r
-        paramSet.destBIdx   = desbidx;\r
-        paramSet.srcCIdx    = srccidx;\r
-        paramSet.destCIdx   = descidx;\r
-\r
-        /**\r
-         * Be Careful !!!\r
-         * Valid values for ACNT/BCNT/CCNT are between 0 and 65535.\r
-         * ACNT/BCNT/CCNT must be greater than or equal to 1.\r
-         * Maximum number of bytes in an array (ACNT) is 65535 bytes\r
-         * Maximum number of arrays in a frame (BCNT) is 65535\r
-         * Maximum number of frames in a block (CCNT) is 65535\r
-         */\r
-        paramSet.aCnt       = acnt;\r
-        paramSet.bCnt       = bcnt;\r
-        paramSet.cCnt       = ccnt;\r
-\r
-        /* For AB-synchronized transfers, BCNTRLD is not used. */\r
-        paramSet.bCntReload = BRCnt;\r
-\r
-        paramSet.linkAddr   = 0xFFFFu;\r
-\r
-        /* Reset opt field first */\r
-        paramSet.opt = 0x0u;\r
-        /* Src & Dest are in INCR modes */\r
-        paramSet.opt &= 0xFFFFFFFCu;\r
-\r
-        /* Enable Intermediate & Final transfer completion interrupt */\r
-        paramSet.opt |= (1 << OPT_ITCINTEN_SHIFT);\r
-        paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);\r
-\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            paramSet.opt &= 0xFFFFFFFBu;\r
-            }\r
-        else\r
-            {\r
-            /* AB Sync Transfer Mode */\r
-            paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);\r
-            }\r
-\r
-        /* Now, write the PaRAM Set. */\r
-        result = EDMA3_DRV_setPaRAM(hEdma, ch2Id, &paramSet);\r
-        }\r
-\r
-\r
-    /*\r
-     * There is another way to program the PaRAM Set using specific APIs\r
-     * for different PaRAM set entries. It gives user more control and easier\r
-     * to use interface. User can use any of the methods.\r
-     * Below is the alternative way to program the PaRAM Set.\r
-     */\r
-\r
-    /*\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcParams (hEdma, ch2Id, (unsigned int)(srcBuff2),\r
-                                        EDMA3_DRV_ADDR_MODE_INCR,\r
-                                        EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setDestParams (hEdma, ch2Id,\r
-                                        (unsigned int)(dstBuff2),\r
-                                        EDMA3_DRV_ADDR_MODE_INCR,\r
-                                        EDMA3_DRV_W8BIT);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setSrcIndex (hEdma, ch2Id, srcbidx, srccidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result =  EDMA3_DRV_setDestIndex (hEdma, ch2Id, desbidx, descidx);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,\r
-                                                    ccnt,\r
-                                                    BRCnt,EDMA3_DRV_SYNC_A);\r
-            }\r
-        else\r
-            {\r
-            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,\r
-                                                    ccnt,\r
-                                                    BRCnt,EDMA3_DRV_SYNC_AB);\r
-            }\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setOptField (hEdma, ch2Id,\r
-                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);\r
-        }\r
-\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_setOptField (hEdma, ch2Id,\r
-                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);\r
-        }\r
-\r
-    */\r
-\r
-\r
-    /* Link both the channels. */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        result = EDMA3_DRV_linkChannel (hEdma, ch1Id, ch2Id);\r
-        }\r
-\r
-\r
-    /*\r
-     * Since the transfer is going to happen in Manual mode of EDMA3\r
-     * operation, we have to 'Enable the Transfer' multiple times.\r
-     * Number of times depends upon the Mode (A/AB Sync)\r
-     * and the different counts.\r
-     */\r
-    if (result == EDMA3_DRV_SOK)\r
-        {\r
-        /*Need to activate next param*/\r
-        if (syncType == EDMA3_DRV_SYNC_A)\r
-            {\r
-            numenabled = bcnt * ccnt;\r
-            }\r
-        else\r
-            {\r
-            /* AB Sync Transfer Mode */\r
-            numenabled = ccnt;\r
-            }\r
-\r
-        for (i = 0; i < numenabled; i++)\r
-            {\r
-            irqRaised1 = 0;\r
-\r
-            /*\r
-             * Now enable the transfer for Master channel as many times\r
-             * as calculated above.\r
-             */\r
-            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,\r
-                                                EDMA3_DRV_TRIG_MODE_MANUAL);\r
-            if (result != EDMA3_DRV_SOK)\r
-                {\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("error from edma3_test_with_link\n\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                break;\r
-                }\r
-\r
-            while (irqRaised1 == 0)\r
-                {\r
-                /* Wait for the Completion ISR on Master Channel. */\r
-                Task_sleep(1u);\r
-                }\r
-\r
-            /* Check the status of the completed transfer */\r
-            if (irqRaised1 < 0)\r
-                {\r
-                /* Some error occured, break from the FOR loop. */\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_link: Event Miss Occured!!!\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-\r
-                /* Clear the error bits first */\r
-                result = EDMA3_DRV_clearErrorBits (hEdma, ch1Id);\r
-\r
-                break;\r
-                }\r
-            }\r
-        }\r
-\r
-\r
-    /**\r
-     * Now the transfer on Master channel is finished.\r
-     * Trigger next (LINK) param.\r
-     */\r
-    if (EDMA3_DRV_SOK == result)\r
-        {\r
-        for (i = 0; i < numenabled; i++)\r
-            {\r
-            irqRaised1 = 0;\r
-\r
-            /*\r
-             * Enable the transfer for LINK channel as many times\r
-             * as calculated above.\r
-             */\r
-            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,\r
-                                                EDMA3_DRV_TRIG_MODE_MANUAL);\r
-            if (result != EDMA3_DRV_SOK)\r
-                {\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("error from edma3_test_with_link\n\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                break;\r
-                }\r
-\r
-            while (irqRaised1 == 0)\r
-                {\r
-                /* Wait for the Completion ISR on the Link Channel. */\r
-                Task_sleep(1u);\r
-                }\r
-\r
-            /* Check the status of the completed transfer */\r
-            if (irqRaised1 < 0)\r
-                {\r
-                /* Some error occured, break from the FOR loop. */\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_link: Event Miss Occured!!!\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-\r
-                /* Clear the error bits first */\r
-                result = EDMA3_DRV_clearErrorBits (hEdma, ch2Id);\r
-\r
-                break;\r
-                }\r
-            }\r
-        }\r
-\r
-\r
-\r
-    /* Match the Source and Destination Buffers. */\r
-    if (EDMA3_DRV_SOK == result)\r
-        {\r
-        for (i = 0; i < (acnt*bcnt*ccnt); i++)\r
-            {\r
-            if (srcBuff1[i] != dstBuff1[i])\r
-                {\r
-                Istestpassed1 = 0u;\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF("edma3_test_with_link: Data write-read " \\r
-                                "matching FAILED at i = %d " \\r
-                                "(srcBuff1 -> dstBuff1)\r\n", i);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                break;\r
-                }\r
-            }\r
-        if (i == (acnt*bcnt*ccnt))\r
-            {\r
-            Istestpassed1 = 1u;\r
-            }\r
-\r
-\r
-        for (i = 0; i < (acnt*bcnt*ccnt); i++)\r
-            {\r
-            if (srcBuff2[i] != dstBuff2[i])\r
-                {\r
-                Istestpassed2 = 0;\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF("edma3_test_with_link: Data write-read " \\r
-                            "matching FAILED at i = %d " \\r
-                            "(srcBuff2 -> dstBuff2)\r\n", i);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                break;\r
-                }\r
-            }\r
-        if (i == (acnt*bcnt*ccnt))\r
-            {\r
-            Istestpassed2 = 1u;\r
-            }\r
-\r
-\r
-        /* Free the previously allocated channels. */\r
-        result = EDMA3_DRV_freeChannel (hEdma, ch1Id);\r
-        if (result != EDMA3_DRV_SOK)\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF("edma3_test_with_link: EDMA3_DRV_freeChannel() " \\r
-                                "for ch1 FAILED, error code: %d\r\n", result);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-            }\r
-        else\r
-            {\r
-            result = EDMA3_DRV_freeChannel (hEdma, ch2Id);\r
-            if (result != EDMA3_DRV_SOK)\r
-                {\r
-#ifdef EDMA3_DRV_DEBUG\r
-                EDMA3_DRV_PRINTF("edma3_test_with_link: " \\r
-                                "EDMA3_DRV_freeChannel() for ch 2 FAILED, " \\r
-                                "error code: %d\r\n", result);\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-                }\r
-            }\r
-        }\r
-\r
-\r
-    if((Istestpassed1 == 1u) && (Istestpassed2 == 1u))\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF("edma3_test_with_link PASSED\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-        }\r
-    else\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF("edma3_test_with_link FAILED\r\n");\r
-#endif  /* EDMA3_DRV_DEBUG */\r
-        result = ((EDMA3_DRV_SOK == result) ?\r
-                                EDMA3_DATA_MISMATCH_ERROR : result);\r
-        }\r
-\r
-\r
-    return result;\r
-}\r
-\r
-\r
+#include "sample.h"
+
+extern signed char   _srcBuff1[MAX_BUFFER_SIZE];
+extern signed char   _srcBuff2[MAX_BUFFER_SIZE];
+extern signed char   _dstBuff1[MAX_BUFFER_SIZE];
+extern signed char   _dstBuff2[MAX_BUFFER_SIZE];
+
+extern signed char *srcBuff1;
+extern signed char *srcBuff2;
+extern signed char *dstBuff1;
+extern signed char *dstBuff2;
+
+
+/**
+ *  \brief   EDMA3 mem-to-mem data copy test case, using two DMA
+ *              channels, linked to each other.
+ *
+ *  \param  acnt        [IN]      Number of bytes in an array
+ *  \param  bcnt        [IN]      Number of arrays in a frame
+ *  \param  ccnt        [IN]      Number of frames in a block
+ *  \param  syncType    [IN]      Synchronization type (A/AB Sync)
+ *
+ *  \return  EDMA3_DRV_SOK or EDMA3_DRV Error Code
+ */
+EDMA3_DRV_Result edma3_test_with_link(
+                                    unsigned int acnt,
+                                    unsigned int bcnt,
+                                    unsigned int ccnt,
+                                    EDMA3_DRV_SyncType syncType)
+    {
+    EDMA3_DRV_Result result = EDMA3_DRV_SOK;
+    EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};
+    unsigned int ch1Id = 0;
+    unsigned int ch2Id = 0;
+    unsigned int tcc1 = 0;
+    unsigned int tcc2 = 0;
+    int i;
+    unsigned int count;
+    unsigned int Istestpassed1 = 0u;
+    unsigned int Istestpassed2 = 0u;
+    unsigned int numenabled = 0;
+    unsigned int BRCnt = 0;
+    int srcbidx = 0, desbidx = 0;
+    int srccidx = 0, descidx = 0;
+
+
+    srcBuff1 = (signed char*) _srcBuff1;
+    dstBuff1 = (signed char*) _dstBuff1;
+    srcBuff2 = (signed char*) _srcBuff2;
+    dstBuff2 = (signed char*) _dstBuff2;
+
+
+    /* Initalize source and destination buffers */
+    for (count = 0u; count < (acnt*bcnt*ccnt); count++)
+        {
+        srcBuff1[count] = (int)count+1;
+        srcBuff2[count] = (int)count+1;
+        /**
+         * No need to initialize the destination buffer as it is being invalidated.
+        dstBuff1[count] = initval;
+        dstBuff2[count] = initval;
+        */
+        }
+
+
+#ifdef EDMA3_ENABLE_DCACHE
+    /*
+    * Note: These functions are required if the buffer is in DDR.
+    * For other cases, where buffer is NOT in DDR, user
+    * may or may not require the below functions.
+    */
+    /* Flush the Source Buffers */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheFlush((unsigned int)srcBuff1, (acnt*bcnt*ccnt));
+        }
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheFlush((unsigned int)srcBuff2, (acnt*bcnt*ccnt));
+        }
+
+    /* Invalidate the Destination Buffers */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheInvalidate((unsigned int)dstBuff1, (acnt*bcnt*ccnt));
+        }
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = Edma3_CacheInvalidate((unsigned int)dstBuff2, (acnt*bcnt*ccnt));
+        }
+#endif  /* EDMA3_ENABLE_DCACHE */
+
+
+    irqRaised1 = 0;
+    irqRaised2 = 0;
+
+    /* Set B count reload as B count. */
+    BRCnt = bcnt;
+
+    /* Setting up the SRC/DES Index */
+    srcbidx = (int)acnt;
+    desbidx = (int)acnt;
+    if (syncType == EDMA3_DRV_SYNC_A)
+        {
+        /* A Sync Transfer Mode */
+        srccidx = (int)acnt;
+        descidx = (int)acnt;
+        }
+    else
+        {
+        /* AB Sync Transfer Mode */
+        srccidx = ((int)acnt * (int)bcnt);
+        descidx = ((int)acnt * (int)bcnt);
+        }
+
+
+    /* Setup for Channel 1*/
+    tcc1 = EDMA3_DRV_TCC_ANY;
+    ch1Id = EDMA3_DRV_DMA_CHANNEL_ANY;
+
+    /* Request any DMA channel and any TCC */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_requestChannel (hEdma, &ch1Id, &tcc1,
+                                            (EDMA3_RM_EventQueue)0,
+                                            &callback1, NULL);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Fill the PaRAM Set with transfer specific information */
+        paramSet.srcAddr    = (unsigned int)(srcBuff1);
+        paramSet.destAddr   = (unsigned int)(dstBuff1);
+
+        /**
+         * Be Careful !!!
+         * Valid values for SRCBIDX/DSTBIDX are between \9632768 and 32767
+         * Valid values for SRCCIDX/DSTCIDX are between \9632768 and 32767
+         */
+        paramSet.srcBIdx    = srcbidx;
+        paramSet.destBIdx   = desbidx;
+        paramSet.srcCIdx    = srccidx;
+        paramSet.destCIdx   = descidx;
+
+        /**
+         * Be Careful !!!
+         * Valid values for ACNT/BCNT/CCNT are between 0 and 65535.
+         * ACNT/BCNT/CCNT must be greater than or equal to 1.
+         * Maximum number of bytes in an array (ACNT) is 65535 bytes
+         * Maximum number of arrays in a frame (BCNT) is 65535
+         * Maximum number of frames in a block (CCNT) is 65535
+         */
+        paramSet.aCnt       = acnt;
+        paramSet.bCnt       = bcnt;
+        paramSet.cCnt       = ccnt;
+
+        /* For AB-synchronized transfers, BCNTRLD is not used. */
+        paramSet.bCntReload = BRCnt;
+
+        paramSet.linkAddr   = 0xFFFFu;
+
+        /* Src & Dest are in INCR modes */
+        paramSet.opt &= 0xFFFFFFFCu;
+        /* Program the TCC */
+        paramSet.opt |= ((tcc1 << OPT_TCC_SHIFT) & OPT_TCC_MASK);
+
+        /* Enable Intermediate & Final transfer completion interrupt */
+        paramSet.opt |= (1 << OPT_ITCINTEN_SHIFT);
+        paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);
+
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            paramSet.opt &= 0xFFFFFFFBu;
+            }
+        else
+            {
+            /* AB Sync Transfer Mode */
+            paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);
+            }
+
+        /* Now, write the PaRAM Set. */
+        result = EDMA3_DRV_setPaRAM (hEdma, ch1Id, &paramSet);
+        }
+
+
+    /*
+     * There is another way to program the PaRAM Set using specific APIs
+     * for different PaRAM set entries. It gives user more control and easier
+     * to use interface. User can use any of the methods.
+     * Below is the alternative way to program the PaRAM Set.
+     */
+
+    /*
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcParams (hEdma, ch1Id, (unsigned int)(srcBuff1),
+                                        EDMA3_DRV_ADDR_MODE_INCR,
+                                        EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setDestParams (hEdma, ch1Id,
+                                            (unsigned int)(dstBuff1),
+                                            EDMA3_DRV_ADDR_MODE_INCR,
+                                            EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcIndex (hEdma, ch1Id, srcbidx, srccidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result =  EDMA3_DRV_setDestIndex (hEdma, ch1Id, desbidx, descidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,
+                                                ccnt, BRCnt,
+                                                EDMA3_DRV_SYNC_A);
+            }
+        else
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch1Id, acnt, bcnt,
+                                                ccnt, BRCnt,
+                                                EDMA3_DRV_SYNC_AB);
+            }
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setOptField (hEdma, ch1Id,
+                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setOptField (hEdma, ch1Id,
+                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);
+        }
+
+    */
+
+
+    /* Request any LINK channel and any TCC */
+    if (result == EDMA3_DRV_SOK)
+        {
+        /* Setup for Channel 2 */
+        ch2Id   = EDMA3_DRV_LINK_CHANNEL;
+        tcc2    = EDMA3_DRV_TCC_ANY;
+
+        result = EDMA3_DRV_requestChannel (hEdma, &ch2Id, &tcc2,
+                                            (EDMA3_RM_EventQueue)0,
+                                            &callback1, NULL);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        /*
+         * Fill the PaRAM Set for the LINK channel
+         * with transfer specific information.
+         */
+        paramSet.srcAddr    = (unsigned int)(srcBuff2);
+        paramSet.destAddr   = (unsigned int)(dstBuff2);
+
+        /**
+         * Be Careful !!!
+         * Valid values for SRCBIDX/DSTBIDX are between \9632768 and 32767
+         * Valid values for SRCCIDX/DSTCIDX are between \9632768 and 32767
+         */
+        paramSet.srcBIdx    = srcbidx;
+        paramSet.destBIdx   = desbidx;
+        paramSet.srcCIdx    = srccidx;
+        paramSet.destCIdx   = descidx;
+
+        /**
+         * Be Careful !!!
+         * Valid values for ACNT/BCNT/CCNT are between 0 and 65535.
+         * ACNT/BCNT/CCNT must be greater than or equal to 1.
+         * Maximum number of bytes in an array (ACNT) is 65535 bytes
+         * Maximum number of arrays in a frame (BCNT) is 65535
+         * Maximum number of frames in a block (CCNT) is 65535
+         */
+        paramSet.aCnt       = acnt;
+        paramSet.bCnt       = bcnt;
+        paramSet.cCnt       = ccnt;
+
+        /* For AB-synchronized transfers, BCNTRLD is not used. */
+        paramSet.bCntReload = BRCnt;
+
+        paramSet.linkAddr   = 0xFFFFu;
+
+        /* Reset opt field first */
+        paramSet.opt = 0x0u;
+        /* Src & Dest are in INCR modes */
+        paramSet.opt &= 0xFFFFFFFCu;
+
+        /* Enable Intermediate & Final transfer completion interrupt */
+        paramSet.opt |= (1 << OPT_ITCINTEN_SHIFT);
+        paramSet.opt |= (1 << OPT_TCINTEN_SHIFT);
+
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            paramSet.opt &= 0xFFFFFFFBu;
+            }
+        else
+            {
+            /* AB Sync Transfer Mode */
+            paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);
+            }
+
+        /* Now, write the PaRAM Set. */
+        result = EDMA3_DRV_setPaRAM(hEdma, ch2Id, &paramSet);
+        }
+
+
+    /*
+     * There is another way to program the PaRAM Set using specific APIs
+     * for different PaRAM set entries. It gives user more control and easier
+     * to use interface. User can use any of the methods.
+     * Below is the alternative way to program the PaRAM Set.
+     */
+
+    /*
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcParams (hEdma, ch2Id, (unsigned int)(srcBuff2),
+                                        EDMA3_DRV_ADDR_MODE_INCR,
+                                        EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setDestParams (hEdma, ch2Id,
+                                        (unsigned int)(dstBuff2),
+                                        EDMA3_DRV_ADDR_MODE_INCR,
+                                        EDMA3_DRV_W8BIT);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setSrcIndex (hEdma, ch2Id, srcbidx, srccidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result =  EDMA3_DRV_setDestIndex (hEdma, ch2Id, desbidx, descidx);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,
+                                                    ccnt,
+                                                    BRCnt,EDMA3_DRV_SYNC_A);
+            }
+        else
+            {
+            result = EDMA3_DRV_setTransferParams (hEdma, ch2Id, acnt, bcnt,
+                                                    ccnt,
+                                                    BRCnt,EDMA3_DRV_SYNC_AB);
+            }
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setOptField (hEdma, ch2Id,
+                                        EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);
+        }
+
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_setOptField (hEdma, ch2Id,
+                                        EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);
+        }
+
+    */
+
+
+    /* Link both the channels. */
+    if (result == EDMA3_DRV_SOK)
+        {
+        result = EDMA3_DRV_linkChannel (hEdma, ch1Id, ch2Id);
+        }
+
+
+    /*
+     * Since the transfer is going to happen in Manual mode of EDMA3
+     * operation, we have to 'Enable the Transfer' multiple times.
+     * Number of times depends upon the Mode (A/AB Sync)
+     * and the different counts.
+     */
+    if (result == EDMA3_DRV_SOK)
+        {
+        /*Need to activate next param*/
+        if (syncType == EDMA3_DRV_SYNC_A)
+            {
+            numenabled = bcnt * ccnt;
+            }
+        else
+            {
+            /* AB Sync Transfer Mode */
+            numenabled = ccnt;
+            }
+
+        for (i = 0; i < numenabled; i++)
+            {
+            irqRaised1 = 0;
+
+            /*
+             * Now enable the transfer for Master channel as many times
+             * as calculated above.
+             */
+            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,
+                                                EDMA3_DRV_TRIG_MODE_MANUAL);
+            if (result != EDMA3_DRV_SOK)
+                {
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("error from edma3_test_with_link\n\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+                break;
+                }
+
+            while (irqRaised1 == 0)
+                {
+                /* Wait for the Completion ISR on Master Channel. */
+                Task_sleep(1u);
+                }
+
+            /* Check the status of the completed transfer */
+            if (irqRaised1 < 0)
+                {
+                /* Some error occured, break from the FOR loop. */
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_link: Event Miss Occured!!!\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+
+                /* Clear the error bits first */
+                result = EDMA3_DRV_clearErrorBits (hEdma, ch1Id);
+
+                break;
+                }
+            }
+        }
+
+
+    /**
+     * Now the transfer on Master channel is finished.
+     * Trigger next (LINK) param.
+     */
+    if (EDMA3_DRV_SOK == result)
+        {
+        for (i = 0; i < numenabled; i++)
+            {
+            irqRaised1 = 0;
+
+            /*
+             * Enable the transfer for LINK channel as many times
+             * as calculated above.
+             */
+            result = EDMA3_DRV_enableTransfer (hEdma, ch1Id,
+                                                EDMA3_DRV_TRIG_MODE_MANUAL);
+            if (result != EDMA3_DRV_SOK)
+                {
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("error from edma3_test_with_link\n\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+                break;
+                }
+
+            while (irqRaised1 == 0)
+                {
+                /* Wait for the Completion ISR on the Link Channel. */
+                Task_sleep(1u);
+                }
+
+            /* Check the status of the completed transfer */
+            if (irqRaised1 < 0)
+                {
+                /* Some error occured, break from the FOR loop. */
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF ("\r\nedma3_test_with_link: Event Miss Occured!!!\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+
+                /* Clear the error bits first */
+                result = EDMA3_DRV_clearErrorBits (hEdma, ch2Id);
+
+                break;
+                }
+            }
+        }
+
+
+
+    /* Match the Source and Destination Buffers. */
+    if (EDMA3_DRV_SOK == result)
+        {
+        for (i = 0; i < (acnt*bcnt*ccnt); i++)
+            {
+            if (srcBuff1[i] != dstBuff1[i])
+                {
+                Istestpassed1 = 0u;
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF("edma3_test_with_link: Data write-read " \
+                                "matching FAILED at i = %d " \
+                                "(srcBuff1 -> dstBuff1)\r\n", i);
+#endif  /* EDMA3_DRV_DEBUG */
+                break;
+                }
+            }
+        if (i == (acnt*bcnt*ccnt))
+            {
+            Istestpassed1 = 1u;
+            }
+
+
+        for (i = 0; i < (acnt*bcnt*ccnt); i++)
+            {
+            if (srcBuff2[i] != dstBuff2[i])
+                {
+                Istestpassed2 = 0;
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF("edma3_test_with_link: Data write-read " \
+                            "matching FAILED at i = %d " \
+                            "(srcBuff2 -> dstBuff2)\r\n", i);
+#endif  /* EDMA3_DRV_DEBUG */
+                break;
+                }
+            }
+        if (i == (acnt*bcnt*ccnt))
+            {
+            Istestpassed2 = 1u;
+            }
+
+
+        /* Free the previously allocated channels. */
+        result = EDMA3_DRV_freeChannel (hEdma, ch1Id);
+        if (result != EDMA3_DRV_SOK)
+            {
+#ifdef EDMA3_DRV_DEBUG
+            EDMA3_DRV_PRINTF("edma3_test_with_link: EDMA3_DRV_freeChannel() " \
+                                "for ch1 FAILED, error code: %d\r\n", result);
+#endif  /* EDMA3_DRV_DEBUG */
+            }
+        else
+            {
+            result = EDMA3_DRV_freeChannel (hEdma, ch2Id);
+            if (result != EDMA3_DRV_SOK)
+                {
+#ifdef EDMA3_DRV_DEBUG
+                EDMA3_DRV_PRINTF("edma3_test_with_link: " \
+                                "EDMA3_DRV_freeChannel() for ch 2 FAILED, " \
+                                "error code: %d\r\n", result);
+#endif  /* EDMA3_DRV_DEBUG */
+                }
+            }
+        }
+
+
+    if((Istestpassed1 == 1u) && (Istestpassed2 == 1u))
+        {
+#ifdef EDMA3_DRV_DEBUG
+        EDMA3_DRV_PRINTF("edma3_test_with_link PASSED\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+        }
+    else
+        {
+#ifdef EDMA3_DRV_DEBUG
+        EDMA3_DRV_PRINTF("edma3_test_with_link FAILED\r\n");
+#endif  /* EDMA3_DRV_DEBUG */
+        result = ((EDMA3_DRV_SOK == result) ?
+                                EDMA3_DATA_MISMATCH_ERROR : result);
+        }
+
+
+    return result;
+}
+
+
index 4c3159f9e0c7b9b5efedb6c391727b8e3b940f12..5fa77b2eeef4c9edc901545f786bef7c12c3a0c6 100644 (file)
-#include "sample.h"\r
-\r
-/**\r
- *  \brief   EDMA3 misc test cases.\r
- *              This test case will read/write to some CC registers.\r
- *\r
- *  \return  EDMA3_DRV_SOK or EDMA3_DRV Error Code\r
- */\r
-EDMA3_DRV_Result edma3_misc_test()\r
-    {\r
-    EDMA3_DRV_Result drvResult = EDMA3_DRV_SOK;\r
-    unsigned int ccRegOffset = 0u;\r
-    unsigned int ccRegVal = 0u;\r
-    unsigned int newRegVal = 0u;\r
-    unsigned int origRegVal = 0u;\r
-\r
-\r
-    /**\r
-     *1. Try fetching some CC registers value.\r
-     * It should PASS.\r
-     */\r
-    /* PID Register */\r
-    ccRegOffset = 0x0u;\r
-    ccRegVal = 0;\r
-    drvResult = EDMA3_DRV_getCCRegister(hEdma, ccRegOffset, &ccRegVal);\r
-\r
-    if (drvResult != EDMA3_DRV_SOK)\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Failed, test FAILED\r\n", ccRegOffset);\r
-#endif\r
-        }\r
-    else\r
-        {\r
-#ifdef EDMA3_DRV_DEBUG\r
-        EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Passed, test PASSED\r\n", ccRegOffset);\r
-#endif\r
-\r
-#ifdef EDMA3_DEBUG_PRINT\r
-        EDMA3_DEBUG_PRINTF ("Fetched CC Register at Offset 0X%x, Value = 0X%x\r\n", ccRegOffset, ccRegVal);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-        }\r
-\r
-\r
-    if (drvResult == EDMA3_DRV_SOK)\r
-        {\r
-        /* Fetch DRAE1 Register */\r
-        ccRegOffset = 0x0348u;\r
-        ccRegVal = 0;\r
-        drvResult = EDMA3_DRV_getCCRegister(hEdma, ccRegOffset, &ccRegVal);\r
-\r
-        if (drvResult != EDMA3_DRV_SOK)\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Failed, test FAILED\r\n", ccRegOffset);\r
-#endif\r
-            }\r
-        else\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Passed, test PASSED\r\n", ccRegOffset);\r
-#endif\r
-\r
-#ifdef EDMA3_DEBUG_PRINT\r
-            EDMA3_DEBUG_PRINTF ("Fetched CC Register at Offset 0X%x, Value = 0X%x\r\n", ccRegOffset, ccRegVal);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-            }\r
-        }\r
-\r
-\r
-    if (drvResult == EDMA3_DRV_SOK)\r
-        {\r
-        /* Fetch QWMTHRA Register */\r
-        ccRegOffset = 0x0620u;\r
-        ccRegVal = 0;\r
-        drvResult = EDMA3_DRV_getCCRegister(hEdma, ccRegOffset, &ccRegVal);\r
-\r
-        if (drvResult != EDMA3_DRV_SOK)\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Failed, test FAILED\r\n", ccRegOffset);\r
-#endif\r
-            return drvResult;\r
-            }\r
-        else\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Passed, test PASSED\r\n", ccRegOffset);\r
-#endif\r
-\r
-#ifdef EDMA3_DEBUG_PRINT\r
-            EDMA3_DEBUG_PRINTF ("Fetched CC Register at Offset 0X%x, Value = 0X%x\r\n", ccRegOffset, ccRegVal);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-            }\r
-        }\r
-\r
-\r
-\r
-    /**\r
-     * 2. Try fetching some CC registers value, whose offset is not 4-bytes\r
-     * aligned. It should FAIL.\r
-     */\r
-    if (drvResult == EDMA3_DRV_SOK)\r
-        {\r
-        ccRegOffset = 0x1002u;\r
-        ccRegVal = 0x0u;\r
-        drvResult = EDMA3_DRV_getCCRegister(hEdma, ccRegOffset, &ccRegVal);\r
-\r
-        if (drvResult == EDMA3_DRV_E_INVALID_PARAM)\r
-            {\r
-#ifdef EDMA3_DEBUG_PRINT\r
-            EDMA3_DEBUG_PRINTF ("Fetching Invalid CC Register (offset 0X%x) Failed, test PASSED\r\n", ccRegOffset);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-            drvResult = EDMA3_DRV_SOK;\r
-            }\r
-        else\r
-            {\r
-#ifdef EDMA3_DEBUG_PRINT\r
-            EDMA3_DEBUG_PRINTF ("Fetching Invalid CC Register (offset 0X%x) Passed, test FAILED\r\n", ccRegOffset);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-            }\r
-        }\r
-\r
-\r
-\r
-    /**\r
-     * 3. Read CC Register QWMTHRA. Store the current value. Write a different\r
-     * value on it. Read it back. Write the original value again. Read it back to\r
-     * cross-check. It should PASS.\r
-     */\r
-    if (drvResult == EDMA3_DRV_SOK)\r
-        {\r
-        ccRegOffset = 0x0620u;\r
-        origRegVal = 0x0u;\r
-        drvResult = EDMA3_DRV_getCCRegister(hEdma, ccRegOffset, &origRegVal);\r
-\r
-        if (drvResult != EDMA3_DRV_SOK)\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Failed, test FAILED\r\n", ccRegOffset);\r
-#endif\r
-            }\r
-        else\r
-            {\r
-#ifdef EDMA3_DRV_DEBUG\r
-            EDMA3_DRV_PRINTF ("Fetching CC Register (offset 0X%x) Passed, test PASSED\r\n", ccRegOffset);\r
-#endif\r
-\r
-#ifdef EDMA3_DEBUG_PRINT\r
-            EDMA3_DEBUG_PRINTF ("Fetched CC Register at Offset 0X%x, Value = 0X%x\r\n", ccRegOffset, origRegVal);\r
-#endif  /* EDMA3_DEBUG_PRINT */\r
-\r
-            /* Find the new value to be written, it depends on the no of event queues */\r
-            switch (origRegVal)\r
-                {\r
-                /* Write a new value on the same register */\r
-                case 0x10:\r
-                    /* 1 TC */\r
-                    newRegVal = 0x0Fu;\r
-                    break;\r
-\r
-                case 0x1010:\r
-                    /* 2 TC */\r
-                    newRegVal = 0x0F0Fu;\r
-                    break;\r
-\r
-                case 0x101010:\r
-                    /* 3 TC */\r
-                    newRegVal = 0x0F0F0Fu;\r
-                    break;\r
-\r
-                case 0x10101010:\r
-                    /* 4 TC */\r
-                    newRegVal = 0x0F0F0F0Fu;\r
-                    break;\r
-\r
-                default:\r
-                    newRegVal = origRegVal;\r
-                    break;\r
-                }\r
-\r
-            drvResult = EDMA3_DRV_setCCRegister (hEdma, ccRegOffset, newRegVal);\r
-            if (drvResult == EDMA3_DRV_SOK)\r
-