author | Pradeep Venkatasubbarao <pradeepv@ti.com> | |
Mon, 18 Nov 2013 05:10:06 +0000 (10:40 +0530) | ||
committer | Pradeep Venkatasubbarao <pradeepv@ti.com> | |
Mon, 18 Nov 2013 05:10:06 +0000 (10:40 +0530) |
This is the first draft of the DCE code on DSP.
It contains a sample Universal Copy codec below the
VIDEC2 interface.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
It contains a sample Universal Copy codec below the
VIDEC2 interface.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
65 files changed:
diff --git a/Makefile b/Makefile
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,211 @@
+#
+# =====================================================================
+# Copyright (C) 2012 Texas Instruments Incorporated
+#
+# All rights reserved. Property of Texas Instruments Incorporated.
+# Restricted rights to use, duplicate or disclose this code are
+# granted through contract.
+#
+# The program may not be used without the written permission
+# of Texas Instruments Incorporated or against the terms and conditions
+# stipulated in the agreement under which this program has been
+# supplied.
+# =====================================================================
+#
+
+# Repo
+BIOSTOOLSROOT ?= /opt/ti
+REPO := $(BIOSTOOLSROOT)
+
+# Different tool versions can easily be programmed by defining below variables
+# in your environment.
+XDCVERSION ?= xdctools_3_25_02_70
+BIOSVERSION ?= bios_6_35_02_45
+IPCVERSION ?= ipc_3_10_00_08
+CEVERSION ?= codec_engine_3_24_00_08
+#FCVERSION ?= framework_components_3_24_00_09
+FCVERSION ?= framework_components_3_24_02_14_eng
+XDAISVERSION ?= xdais_7_24_00_04
+OSALVERSION ?= osal_1_24_00_09
+
+# TI Compiler Settings
+export CGT_C66X_ELF_INSTALL_DIR ?= /opt/ti/TI_CGT_TI_C66X_7.2.3
+
+# Define where the sources are
+DSPDCEMMSRC = $(shell pwd)
+TIVIDEOTOOLSROOT ?= $(BIOSTOOLSROOT)
+
+# Generate the full package paths for tools
+BIOSPROD = $(REPO)/$(BIOSVERSION)
+CEPROD = $(TIVIDEOTOOLSROOT)/$(CEVERSION)
+FCPROD = $(TIVIDEOTOOLSROOT)/$(FCVERSION)
+XDAISPROD = $(REPO)/$(XDAISVERSION)
+OSALPROD = $(REPO)/$(OSALVERSION)
+
+# XDC settings
+export XDCBUILDCFG = $(DSPDCEMMSRC)/build/config.bld
+
+XDCDIST_TREE = $(REPO)/$(XDCVERSION)
+export XDCROOT = $(XDCDIST_TREE)
+
+export XDCPATH = $(BIOSPROD)/packages;$(IPCSRC)/packages;$(CEPROD)/packages;$(FCPROD)/packages;$(XDAISPROD)/packages;$(OSALPROD)/packages;$(DSPDCEMMSRC)/extrel/ti/dsp_codecs/packages;$(DSPDCEMMSRC)/src;
+
+# Custom settings for build
+JOBS ?= 1
+# Set profile, always set as release version. Alternate option is "debug"
+PROFILE ?= release
+# Set debug/trace level from 0 to 4
+TRACELEVEL ?= 0
+# Offloads core to sysm3 code
+OFFLOAD ?= 1
+# Set to Non-SMP by default
+FORSMP ?= 0
+# Set Instrumentation to be allowed (ENABLE to enable it)
+SETINST ?= ENABLE
+# Set HW revision type- OMAP5:ES20, VAYU:ES10
+HWVERSION ?= ES10
+
+all: dspbin
+
+# Include platform build configuration
+config:
+ifeq (bldcfg.mk,$(wildcard bldcfg.mk))
+include bldcfg.mk
+else
+ @echo "No config selected. Please configure the build first and then try to build."
+ @echo "For more info, use 'make help'"
+ @exit 1
+endif
+
+unconfig:
+ @echo "Removed existing configuration"
+ @rm -f bldcfg.mk
+
+vayu_config: unconfig
+ @echo "Creating new config\c"
+ @echo DSP_CONFIG = vayu_config > bldcfg.mk
+ @echo ".\c"
+ @echo MYXDCARGS=\"profile=$(PROFILE) trace_level=$(TRACELEVEL) hw_type=VAYU hw_version=$(HWVERSION) BIOS_type=non-SMP\" >> bldcfg.mk
+ @echo ".\c"
+ @echo CHIP = VAYU >> bldcfg.mk
+ @echo ".\c"
+ @echo FORSMP = 0 >> bldcfg.mk
+ @echo ".\c"
+ @echo DSPBINNAME = "dra7xx-c66x-dsp.xe66" >> bldcfg.mk
+ @echo INTBINNAME = "dsp.xe66" >> bldcfg.mk
+ @echo ".\c"
+ @echo "done"
+
+omap5_config: unconfig
+ @echo "Creating new config\c"
+ @echo DSP_CONFIG = omap5_smp_config > bldcfg.mk
+ @echo ".\c"
+ @echo MYXDCARGS=\"profile=$(PROFILE) trace_level=$(TRACELEVEL) hw_type=OMAP5 hw_version=$(HWVERSION) BIOS_type=non-SMP\" >> bldcfg.mk
+ @echo ".\c"
+ @echo CHIP = OMAP5 >> bldcfg.mk
+ @echo ".\c"
+ @echo FORSMP = 0 >> bldcfg.mk
+ @echo ".\c"
+ @echo DSPBINNAME = "omap5-dsp.xe66x" >> bldcfg.mk
+ @echo INTBINNAME = "dsp.xe66x" >> bldcfg.mk
+ @echo ".\c"
+ @echo "done"
+
+clean: config
+ export XDCARGS=$(MYXDCARGS); \
+ $(XDCROOT)/xdc --jobs=$(JOBS) clean -PD $(DSPDCEMMSRC)/platform/ti/dce/baseimage/.
+
+build: config
+ifeq ($(IPCSRC),)
+ @echo "ERROR: IPCSRC not set. Exiting..."
+ @echo "For more info, use 'make help'"
+ @exit 1
+else ifeq ($(CGT_C66X_ELF_INSTALL_DIR),)
+ @echo "ERROR: CGT_C66X_ELF_INSTALL_DIR not set. Exiting..."
+ @echo "For more info, use 'make help'"
+ @exit 1
+endif
+ export XDCARGS=$(MYXDCARGS); \
+ $(XDCROOT)/xdc --jobs=$(JOBS) -PD $(DSPDCEMMSRC)/platform/ti/dce/baseimage/.
+
+dspbin: build
+ifeq ($(FORSMP),0)
+ $(CGT_C66X_ELF_INSTALL_DIR)/bin/strip6x $(DSPDCEMMSRC)/platform/ti/dce/baseimage/out/dsp/$(PROFILE)/$(INTBINNAME) -o=$(DSPBINNAME)
+else
+ @echo "***********Not yet implemented************"
+endif
+
+info: tools sources custom
+tools:
+ @echo "REPO := $(REPO)"
+ @echo "XDC := $(XDCDIST_TREE)"
+ @echo "BIOS := $(BIOSPROD)"
+ @echo "OSAL := $(OSALPROD)"
+ @echo "FC := $(FCPROD)"
+ @echo "CE := $(CEPROD)"
+ @echo "XDAIS := $(XDAISPROD)"
+ @echo "CGT_C66X_ELF_INSTALL_DIR := $(CGT_C66X_ELF_INSTALL_DIR)"
+ @echo " "
+
+sources:
+ @echo "IPC := $(IPCSRC)"
+ @echo " "
+
+ @echo "DSPDCEMMSRC := $(DSPDCEMMSRC)"
+ @echo "DSPDCEMMSRC info: $(shell git --git-dir=$(DSPDCEMMSRC)/.git --work-tree=$(DSPDCEMMSRC)/ log --pretty=format:'%ad %h %d' --oneline --date=short -1 )"
+ @echo "DUCATIMMSRC describe: $(shell git --git-dir=$(DSPDCEMMSRC)/.git --work-tree=$(DSPDCEMMSRC)/ describe --dirty)"
+ @echo " "
+
+custom:
+ @echo "JOBS := $(JOBS)"
+ @echo "PROFILE := $(PROFILE)"
+ @echo "TRACELEVEL := $(TRACELEVEL)"
+ @echo "OFFLOAD := $(OFFLOAD)"
+ @echo "FORSMP := $(FORSMP)"
+ @echo "SETINST := $(SETINST)"
+ @echo "HWVERSION := $(HWVERSION)"
+ @echo " "
+ @echo "Ducati configuration used: $(DSP_CONFIG)"
+ @echo "Ducati binary name: $(DSPBINNAME)"
+ @echo " "
+
+help:
+ @echo " "
+ @echo "Please export the following variables: "
+ @echo " 1. BIOSTOOLSROOT - Directory where all the BIOS tools are installed."
+ @echo " If not mentioned, picks up the default, /opt/ti"
+ @echo " 2. CGT_C66X_ELF_INSTALL_DIR - DSP Code Generation Tools installation path"
+ @echo " If not mentioned, tries the default install location, /opt/ti/TI_CGT_TI_ARM_5.0.1"
+ @echo " 3. IPCSRC - Absolute path of the $(IPCVERSION)"
+ @echo " 4. [Optional] - Any of the following variables can be defined to customize your build."
+ @echo " JOBS - To specify the number of parallel build jobs (default is 1)"
+ @echo " PROFILE - 'release' or 'debug' profile for the libraries and binaries (default is release)"
+ @echo " TRACELEVEL - From 0 to 4. Higher the value, more the traces. 0 implies no traces (default is 0)"
+ @echo " OFFLOAD - Enable offloading support (default is 1, set to 0 to disable)"
+ @echo " 5. [Optional] - Any of the following variables can be defined to change the default tool versions."
+ @echo " XDCVERSION = $(XDCDIST_TREE)"
+ @echo " BIOSVERSION = $(BIOSPROD)"
+ @echo " IPCVERSION = $(IPCSRC)"
+ @echo " CEVERSION = $(CEPROD)"
+ @echo " FCVERSION = $(FCPROD)"
+ @echo " XDAISVERSION = $(XDAISPROD)"
+ @echo " OSALVERSION = $(OSALPROD)"
+ @echo " CGT_C66X_ELF_INSTALL_DIR = $(CGT_C66X_ELF_INSTALL_DIR)"
+ @echo " "
+ @echo "Use the appropriate make targets from the following: "
+ @echo " Configure Platform: "
+ @echo " OMAP5 (SMP) - export HWVERSION=ES20 && make omap5_smp_config"
+ @echo " VAYU/J6 (SMP) - export HWVERSION=ES10 && make vayu_smp_config"
+ @echo " Build: - make"
+ @echo " Clean: - make clean"
+ @echo " Generate Binary: "
+ @echo " Firmware - make dspbin"
+ @echo " Information: "
+ @echo " Tools - make tools"
+ @echo " Sources - make sources"
+ @echo " Custom - make custom"
+ @echo " all 3 - make info"
+ @echo " Others: "
+ @echo " Check config - make config"
+ @echo " Clean config - make unconfig"
+ @echo " "
diff --git a/bldcfg.mk b/bldcfg.mk
--- /dev/null
+++ b/bldcfg.mk
@@ -0,0 +1,6 @@
+DSP_CONFIG = vayu_config
+MYXDCARGS="profile=release trace_level=0 hw_type=VAYU hw_version=ES10 BIOS_type=non-SMP"
+CHIP = VAYU
+FORSMP = 0
+DSPBINNAME = dra7xx-c66x-dsp.xe66
+INTBINNAME = dsp.xe66
diff --git a/build/common.bld b/build/common.bld
--- /dev/null
+++ b/build/common.bld
@@ -0,0 +1,422 @@
+/*
+ * Copyright 2013 by Texas Instruments Incorporated.
+ *
+ * All rights reserved. Property of Texas Instruments Incorporated.
+ * Restricted rights to use, duplicate or disclose this code are
+ * granted through contract.
+ *
+ */
+
+/*
+ * ======== common.bld ========
+ *
+ */
+
+
+/*
+ * ======== getCores ========
+ * Determines which cores to build for.
+ *
+ * Any argument in XDCARGS which does not contain core= is treated
+ * as a core name. This way build for multiple cores can be specified by
+ * separating them with a space.
+ */
+function getCores(xdcArgs)
+{
+ var coreNames = new Array();
+
+ /* Check for any XDCARGS with core=; these are the corenames */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/core=/)) {
+ coreNames.push(xdcArgs[i].substr(5));
+ }
+ }
+
+ return coreNames;
+}
+
+
+/*
+ * ======== getProfiles ========
+ * Determines which profiles to build for.
+ *
+ * Any argument in XDCARGS which does not contain platform= is treated
+ * as a profile. This way multiple build profiles can be specified by
+ * separating them with a space.
+ */
+function getProfiles(xdcArgs)
+{
+ var profiles = new Array();
+
+ /* Check for any XDCARGS with profile=; these are profiles. */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/profile=/)) {
+ profiles.push(xdcArgs[i].substr(8));
+ }
+ }
+
+ return profiles;
+}
+
+function getBuildModes(xdcArgs)
+{
+ var buildModes = new Array();
+
+ /* Check for any XDCARGS with buildMode=; these are specific
+ build configuration */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/buildMode=/)) {
+ buildModes.push(xdcArgs[i].substr(10));
+ }
+ }
+ return buildModes;
+}
+
+
+/*
+ * ======== getTraceType ========
+ * Determines which trace type to build for.
+ *
+ * Any argument in XDCARGS which does not contain trace_type= is treated
+ * as a trace type name. This way build for different trace type can be specified by
+ * separating them with a space.
+ * XDCARGS="profile=debug core=app_m3 target_build=BUILD_OMAP4 trace_type=UIA_SW_ON"
+ */
+function getTraceType(xdcArgs)
+{
+ var trace_type = new Array();
+
+ /* Check for any XDCARGS with trace_type=; these are the corenames */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/trace_type=/)) {
+ trace_type.push(xdcArgs[i].substr(11));
+ }
+ }
+
+ return trace_type;
+}
+
+/*
+ * ======== getTargetBuild ========
+ * Determines which build to use.
+ *
+ */
+function getTargetBuild(xdcArgs)
+{
+ var build = "";
+
+ /* Check for any XDCARGS with target_build= */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/target_build=/)) {
+ build = xdcArgs[i].substr(13);
+ }
+ }
+
+ return build;
+}
+
+/*
+ * ======== getGitTag ========
+ * Determines TAG.
+ *
+ */
+function getGitTag(xdcArgs)
+{
+ var git_tag = "";
+ /* Check for any XDCARGS with git_tag= */
+ for (var i = 0; i < xdcArgs.length; i++) {
+
+ if (xdcArgs[i].match(/git_tag=/)) {
+ git_tag = xdcArgs[i].substr(8);
+ print("i " + i + "\n");
+ }
+ }
+ return git_tag;
+}
+
+/*
+ * ======== getGitCommitID ========
+ * Determines commit ID.
+ *
+ */
+function getGitCommitID(xdcArgs)
+{
+ var commit_id = "";
+
+ /* Check for any XDCARGS with git_commit_id= */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/git_commit_id=/)) {
+ commit_id = xdcArgs[i].substr(14);
+ }
+ }
+ print ("commit_id::: " + commit_id +"\n");
+ return commit_id;
+}
+
+/*
+ * ======== getGitBranch ========
+ * Determines commit ID.
+ *
+ */
+function getGitBranch(xdcArgs)
+{
+ var branch = "";
+ /* Check for any XDCARGS with git_branch= */
+ for (var i = 0; i < xdcArgs.length; i++) {
+ if (xdcArgs[i].match(/git_branch=/)) {
+ branch = xdcArgs[i].substr(11);
+ }
+ }
+ return branch;
+}
+
+
+/*
+ * ======== commonGetVersion ========
+ * Common commonGetVersion function
+ */
+function GetVersionTag()
+{
+ var exitCode = 1;
+ var verFlags = "";
+ status = {};
+ var verInfo;
+ var git_cmd = "git ";
+
+
+ var type_cmd = "type ";
+ var flush_cmd = "echo "
+
+ Program.global.ver_commit_id = ""
+ Program.global.ver_branch = ""
+ Program.global.ver_tag = ""
+
+
+
+ /*Check the target environment */
+ var host_env =environment["user.dir"];
+ if(host_env[1] == ':')
+ {
+ git_cmd = "git.exe "
+ echo_cmd = "c:/windows/system32/cmd /c echo "
+ }
+
+ //branch
+
+ exitCode = xdc.exec(git_cmd + "branch -a", {}, status)
+ if (exitCode == -1)
+ {
+ print("Version Information not Generated \n");
+ return;
+ }
+
+ var lines = status.output.split('\n')
+ for (var i = 0; i < lines.length - 1; i++) {
+ var line = lines[i];
+
+ if(line.indexOf('*')!=-1){
+ var GitBranch = line.substr(2)
+ if (GitBranch.length) {
+ Program.global.ver_branch = GitBranch;
+ }
+ }
+ }
+
+ //commit-id
+ exitCode = xdc.exec(git_cmd + "log --oneline", {}, status)
+ if (exitCode == -1) return verFlags;
+ var lines = status.output.split('\n')
+ var GitCommitId = lines[0].substr(0,7)
+ if (GitCommitId.length)
+ {
+ Program.global.ver_commit_id = GitCommitId;
+ }
+
+ //tag
+ exitcode = xdc.exec(git_cmd + "describe", {}, status)
+ if (exitCode == -1) return verFlags;
+ var lines = status.output.split('\n')
+ var tail_pos = lines.length
+ var GitTag = lines[0]
+ if (GitTag.length) {
+
+ Program.global.ver_tag=GitTag;
+ print ("gittag" + GitTag + Program.global.ver_tag);
+
+ }
+ //return verFlags;
+}
+
+
+
+
+function buildOptions(xdcArgs, aCompileOpts, coreName)
+{
+ var buildMode = new Array();
+
+ var buildMode = getBuildModes(xdcArgs);
+
+ var compileOpts = "";
+
+ if (aCompileOpts != null){
+ compileOpts += aCompileOpts;
+ }
+ return compileOpts;
+}
+
+
+
+/*
+ * ======== buildLibs ========
+ * This function generates the makefile goals for the libraries taking
+ * into account the profile variants, specific ducati cores and build modes
+ *
+ */
+function buildLibs(objList, trgList, xdcArgs, libCompileOpts, coreName)
+{
+ var compileOpts = buildOptions(xdcArgs, libCompileOpts, coreName);
+ var profiles = getProfiles(xdcArgs);
+ //print ("profile length" + profiles.length +"\t" + "profile0" + profiles[0] +"\n");
+ /* If no profiles were assigned, build for whole program debug */
+ if (profiles.length == 0) {
+ profiles[0] = "whole_program_debug";
+ }
+
+ for (var i = 0; i < Build.targets.length; i++) {
+
+ var targ = Build.targets[i];
+
+ for (var j = 0; j < profiles.length; j++) {
+
+ var profile = profiles[j];
+ var profileOpts = compileOpts;
+
+ if (profile.match(/release/)) {
+ profileOpts += " -O3";
+ }
+
+ if (coreName == null) {
+ var lib_name = 'lib/' + profile + '/' + Pkg.name ;
+ }
+ else {
+ var lib_name = 'lib/' + coreName + '/' + profile + '/' + Pkg.name ;
+ }
+
+ var lib = Pkg.addLibrary(lib_name, targ, {profile: profile, copts: profileOpts});
+
+ lib.addObjects(objList);
+ }
+ }
+}
+
+/*
+ * ======== buildLibsByName ========
+ * This function generates the makefile goals for the libraries taking
+ * into account the profile variants, specific ducati cores and build
+ * modes. The output library name can be specified by user.
+ *
+ */
+function buildLibsByName(objList, trgList, xdcArgs, libCompileOpts, coreName, name)
+{
+ var compileOpts = buildOptions(xdcArgs, libCompileOpts, coreName);
+ var profiles = getProfiles(xdcArgs);
+ //print ("profile length" + profiles.length +"\t" + "profile0" + profiles[0] +"\n");
+ /* If no profiles were assigned, build for whole program debug */
+ if (profiles.length == 0) {
+ profiles[0] = "whole_program_debug";
+ }
+
+ for (var i = 0; i < Build.targets.length; i++) {
+
+ var targ = Build.targets[i];
+
+ for (var j = 0; j < profiles.length; j++) {
+
+ var profile = profiles[j];
+ var profileOpts = compileOpts;
+
+ if (profile.match(/release/)) {
+ profileOpts += " -O3";
+ }
+
+ if (coreName == null) {
+ var lib_name = 'lib/' + profile + '/' + name ;
+ }
+ else {
+ var lib_name = 'lib/' + coreName + '/' + profile + '/' + name ;
+ }
+
+ var lib = Pkg.addLibrary(lib_name, targ, {profile: profile, copts: profileOpts});
+
+ lib.addObjects(objList);
+ }
+ }
+}
+
+/*
+ * ======== supportsCore ========
+ * Returns true if coreName is in the supported core list. If coreNameList
+ * is null or empty, that's taken to mean all targets are supported.
+ */
+function supportsCore(coreName, coreNameList)
+{
+ if ((coreNameList == null) || (coreNameList.length == 0)) {
+ return true;
+ }
+
+ for (var j = 0; j < coreNameList.length; j++) {
+ if(coreName.match(coreNameList[j])){
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/*
+ * ======== commonGetLibs ========
+ * Common getLibs function
+ */
+
+function commonGetLibs(prog, bCoreFlag, pkg, dir)
+{
+ var suffix;
+
+ /* find a compatible suffix */
+ if ("findSuffix" in prog.build.target) {
+ suffix = prog.build.target.findSuffix(pkg);
+ }
+ else {
+ suffix = prog.build.target.suffix;
+ }
+
+ var name = pkg.$name + ".a" + suffix;
+ var lib = "";
+
+ if (bCoreFlag == true) {
+ lib = "lib/" + prog.global.coreName + "/" + pkg.profile + "/" + name;
+ }
+ else {
+ lib = "lib/" + "/" + pkg.profile + "/" + name;
+ }
+
+ if (java.io.File(dir + lib).exists()) {
+ return lib;
+ }
+ else {
+ print("Default lib not found: " + lib +"\nlooking for release lib");
+ if (bCoreFlag == true) {
+ lib = "lib/" + prog.global.coreName + "/" + "release/" + name;
+ }
+ else {
+ lib = "lib/" + "/" + "release/" + name;
+ }
+ if (java.io.File(dir + lib).exists()) {
+ return lib;
+ }
+ }
+
+ /* could not find any library, throw exception */
+ throw Error("Library not found: " + lib);
+}
+
diff --git a/build/config.bld b/build/config.bld
--- /dev/null
+++ b/build/config.bld
@@ -0,0 +1,132 @@
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+var commonBld = xdc.loadCapsule("../build/common.bld");
+var commonOpts = "-g";
+var hw_VAYU = 2;
+var ES10 = 1;
+
+for (x = 0; x < arguments.length; x++)
+{
+ if (arguments[x].match(/^trace_level=/) )
+ {
+ // [1] operation is used on the return value of split(), which is an
+ // array.
+ var trace_level = arguments[x].split("=")[1];
+ }
+
+}
+
+/************************************
+* Memory Map Information
+************************************/
+/* Memory Map for ti.platforms.evmDRA7XX:dsp1
+ *
+ * --- External Memory ---
+ * Virtual Physical Size Comment
+ * ------------------------------------------------------------------------
+ * 9500_0000 ????_???? 10_0000 ( ~1 MB) EXT_CODE
+ * 9510_0000 ????_???? 10_0000 ( 1 MB) EXT_DATA
+ * 9520_0000 ????_???? 30_0000 ( 3 MB) EXT_HEAP
+ * 9F00_0000 9F00_0000 6_0000 ( 384 kB) TRACE_BUF
+ * 9F06_0000 9F06_0000 1_0000 ( 64 kB) EXC_DATA
+ * 9F07_0000 9F07_0000 2_0000 ( 128 kB) PM_DATA (Power mgmt)
+ */
+var evmDRA7XX_ExtMemMapDsp1 = {
+ EXT_CODE: { name: "EXT_CODE", base: 0x95000000, len: 0x100000, space: "code", access: "RWX" },
+ EXT_DATA: { name: "EXT_DATA", base: 0x95100000, len: 0x00100000, space: "data", access: "RW" },
+ EXT_HEAP: { name: "EXT_HEAP", base: 0x95200000, len: 0x0300000, space: "data", access: "RW" },
+ TRACE_BUF: { name: "TRACE_BUF", base: 0x9F000000, len: 0x00060000, space: "data", access: "RW" },
+ EXC_DATA: { name: "EXC_DATA", base: 0x9F060000, len: 0x00010000, space: "data", access: "RW" },
+ PM_DATA: { name: "PM_DATA", base: 0x9F070000, len: 0x00020000, space: "data", access: "RWX" }
+};
+
+Build.platformTable["ti.platforms.evmDRA7XX:dsp1"] = {
+ externalMemoryMap: [
+ [ "EXT_CODE", evmDRA7XX_ExtMemMapDsp1.EXT_CODE ],
+ [ "EXT_DATA", evmDRA7XX_ExtMemMapDsp1.EXT_DATA ],
+ [ "EXT_HEAP", evmDRA7XX_ExtMemMapDsp1.EXT_HEAP ],
+ [ "TRACE_BUF", evmDRA7XX_ExtMemMapDsp1.TRACE_BUF ],
+ [ "EXC_DATA", evmDRA7XX_ExtMemMapDsp1.EXC_DATA ],
+ [ "PM_DATA", evmDRA7XX_ExtMemMapDsp1.PM_DATA ]
+ ],
+ codeMemory: "EXT_CODE",
+ dataMemory: "EXT_DATA",
+ stackMemory: "EXT_DATA",
+};
+
+
+var TargetBuild = commonBld.getTargetBuild(arguments);
+ commonOpts += " -DHOST_TYPE=HOST_UNKNOWN "
+
+/************************************
+* Setup for dsp target
+************************************/
+var dsp_tgt = xdc.useModule('ti.targets.elf.C66');
+dsp_tgt.rootDir = java.lang.System.getenv("CGT_C66X_ELF_INSTALL_DIR");
+dsp_tgt.ccOpts.suffix += " --gcc -D___DSPBIOS___ -DDSP";
+dsp_tgt.ccOpts.suffix += " -ms ";
+//dsp_tgt.ccOpts.suffix += " -pden -pds=48 ";
+//dsp_tgt.ccOpts.suffix += " -pdew "; //Convert warn to err; Supported in 4.9 version
+dsp_tgt.ccOpts.suffix += commonOpts;
+dsp_tgt.lnkOpts.suffix += " -x ";
+dsp_tgt.lnkOpts.prefix += " --retain=.resource_table";
+//dsp_tgt.lnkOpts.prefix += " --zero_init=off ";
+//dsp_tgt.lnkOpts.prefix += " --cinit_compression=off";
+
+dsp_tgt.platforms = [
+ "ti.platforms.evmDRA7XX:dsp1", //0
+ ];
+
+/***************** Tracing ********************/
+if(trace_level == 0) {
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_LEVEL=0";
+} else if(trace_level == 1) {
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_ENABLE";
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_LEVEL=1";
+} else if(trace_level == 2) {
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_ENABLE";
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_LEVEL=2";
+} else if(trace_level == 3) {
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_ENABLE";
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_LEVEL=3";
+} else if(trace_level >= 4) {
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_ENABLE";
+ dsp_tgt.ccOpts.suffix += " -DDCE_DEBUG_LEVEL=4";
+}
+/***************** Tracing ********************/
+{
+ HwType = hw_VAYU;
+ HwVer = ES10;
+ var build_vayu = true;
+ print("Selected Vayu for ES10");
+
+ dsp_tgt.ccOpts.suffix += " -DBUILD_FOR_VAYU";
+ dsp_tgt.ccOpts.suffix += " -DVAYU_ES10";
+ dsp_tgt.platform = dsp_tgt.platforms[0];
+
+}
+
+/************************************
+* Setup for WIN target
+************************************/
+var WIN = xdc.useModule('microsoft.targets.Win32');
+WIN.rootDir = "C:/Program Files/Microsoft Visual Studio 9.0";
+WIN.vcPath = [
+ ["VC8",
+ {
+ compilerDir: "VC",
+ dllPath: "Common7/IDE",
+ sdkPath: "C:/Progra~1/MI2578~1/Windows/v6.0A",
+ libs: " msvcrt.lib setargv.obj oldnames.lib ole32.lib oleaut32.lib olepro32.lib uuid.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib comctl32.lib"
+ }
+ ],
+];
+
+WIN.ccOpts.suffix += "-D___DSPBIOS___";
+
+Build.targets = [
+ dsp_tgt,
+ ];
+
+var Pkg = xdc.module("xdc.bld.PackageContents");
+
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/UNIVERSAL.version.01.00.00.00.wizardversion.0.5.3 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/UNIVERSAL.version.01.00.00.00.wizardversion.0.5.3
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/UNIVERSAL.xdc b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/UNIVERSAL.xdc
--- /dev/null
@@ -0,0 +1,29 @@
+/*!
+ * ======== UNIVERSAL ========
+ */
+
+metaonly module UNIVERSAL
+{
+ /*!
+ * ======== watermark ========
+ * This config param allows the user to indicate whether to include
+ * a watermark or not.
+ */
+ config Bool watermark = false;
+
+ /*!
+ * ======== Code Section ========
+ */
+ config String codeSection;
+
+ /*!
+ * ======== Uninitialized Data Section ========
+ */
+ config String udataSection;
+
+ /*!
+ * ======== Initialized Data Section ========
+ */
+ config String dataSection;
+
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/UNIVERSAL.xdc b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/UNIVERSAL.xdc
--- /dev/null
@@ -0,0 +1,24 @@
+/*!
+ * ======== UNIVERSAL========
+ * UNIVERSAL codec specification
+ *
+ * This file specifies information necessary to integrate with the Codec
+ * Engine.
+ *
+ * By inheriting ti.sdo.ce.universal.IUNIVERSAL, UNIVERSAL declares that it "is
+ * a" universal algorithm. This allows the codec engine to automatically
+ * supply simple stubs and skeletons for transparent execution of DSP
+ * codecs by the GPP.
+ *
+ * In addition to declaring the type of the UNIVERSAL algorithm, we
+ * declare the external symbol required by xDAIS that identifies the
+ * algorithms implementation functions.
+ */
+metaonly module UNIVERSAL inherits ti.sdo.ce.universal.IUNIVERSAL
+{
+ readonly config ti.sdo.codecs.universal.UNIVERSAL.Module alg =
+ ti.sdo.codecs.universal.UNIVERSAL;
+
+ override readonly config String ialgFxns = "UNIVERSALCOPY_TI_IUNIVERSALCOPY";
+
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/UNIVERSAL.xs b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/UNIVERSAL.xs
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * ======== UNIVERSAL.xs ========
+ * This file implements the functions specified in the ti.sdo.ce.ICodec
+ * interface. These functions enable the configuration tool to validate
+ * user supplied configuration parameters (e.g., stack size for the
+ * thread running this codec).
+ */
+
+var verbose = false; /* set to true to enable verbose output during config */
+
+
+/*
+ * ======== getSaramScratchSize ========
+ */
+function getSaramScratchSize(prog)
+{
+ if (verbose) {
+ print("getting SARAM scratch size for " + this.$name
+ + " built for the target " + prog.build.target.$name
+ + ", running onplatform " + prog.platformName);
+ }
+
+ return (4096);
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package.bld b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package.bld
--- /dev/null
@@ -0,0 +1,6 @@
+/*
+ * ======== package.bld ========
+ */
+
+
+Pkg.attrs.exportAll = true;
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package.xdc b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package.xdc
--- /dev/null
@@ -0,0 +1,11 @@
+requires ti.sdo.ce.universal;
+requires ti.sdo.codecs.universal;
+
+/*!
+ * ======== package.xdc ========
+ * Provides ICodec interface adapter for ti.sdo.codecs.universal codec.
+ */
+
+package ti.sdo.codecs.universal.ce [1, 0, 0] {
+ module UNIVERSAL;
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_b150 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_b150
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_c150 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_c150
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_g180 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_g180
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_r170 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.vers_r170
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.xdc-v49 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/.xdc-v49
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/build.cfg b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/build.cfg
--- /dev/null
@@ -0,0 +1,12 @@
+if (pkg.$vers.length >= 3) {\r
+ pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\r
+}\r
+\r
+pkg.build.libraries = [\r
+];\r
+\r
+pkg.build.libDesc = [\r
+];\r
+if ('suffix' in xdc.om['xdc.IPackage$$LibDesc']) {\r
+}\r
+\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.bld.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.bld.xml
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!-- This file conforms to the DTD xdc/bld/build.dtd -->\r
+<package name="ti.sdo.codecs.universal.ce" version="1, 0, 0" producerId="undefined">\r
+ <units>\r
+ <module name="UNIVERSAL"/>\r
+ </units>\r
+ <sources>\r
+ </sources>\r
+ <configurations>\r
+ </configurations>\r
+ <makefiles>\r
+ <srcFile name="package.mak" src="package.bld"/>\r
+ <srcFile name="package/package.xdc.dep" src="package.xdc"/>\r
+ <srcFile name="package/package.cfg.dep" src="package.xdc"/>\r
+ <srcFile name="package/rel/ti_sdo_codecs_universal_ce.tar.dep" src="package/rel/ti_sdo_codecs_universal_ce.xdc.inc"/>\r
+ </makefiles>\r
+ <targets>\r
+ </targets>\r
+ <libraries>\r
+ </libraries>\r
+ <executables>\r
+ </executables>\r
+ <tests>\r
+ </tests>\r
+ <releases relDir="package/rel/">\r
+ <release name="ti_sdo_codecs_universal_ce"\r
+ pname="ti_sdo_codecs_universal_ce.tar"\r
+ label="default"\r
+ >\r
+ <file name="package/build.cfg"/>\r
+ <file name="package/package.cfg.xdc.inc"/>\r
+ <file name="package/package.ext.xml"/>\r
+ <file name="package/package.xdc.inc"/>\r
+ <file name="package/package.bld.xml"/>\r
+ <file name="package/package.rel.dot"/>\r
+ </release>\r
+ </releases>\r
+ <repositories>\r
+ </repositories>\r
+</package>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.defs.h b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.defs.h
--- /dev/null
@@ -0,0 +1,13 @@
+/*\r
+ * Do not modify this file; it is automatically \r
+ * generated and any modifications will be overwritten.\r
+ *\r
+ * @(#) xdc-v49\r
+ */\r
+\r
+#ifndef ti_sdo_codecs_universal_ce__\r
+#define ti_sdo_codecs_universal_ce__\r
+\r
+\r
+\r
+#endif /* ti_sdo_codecs_universal_ce__ */ \r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.doc.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.doc.xml
--- /dev/null
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<package kind='package' name='ti.sdo.codecs.universal.ce' nodoc='0' root='../../../../../' summary='Provides+ICodec+interface+adapter+for+ti.sdo.codecs.universal+codec'>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Erequires%3C%2Fspan%3E+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2Fpackage.html%22+title%3D%22ti.sdo.ce.universal%22%3Eti.sdo.ce.universal%3C%2Fa%3E%3B'/>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Erequires%3C%2Fspan%3E+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fcodecs%2Funiversal%2Fpackage.html%22+title%3D%22ti.sdo.codecs.universal%22%3Eti.sdo.codecs.universal%3C%2Fa%3E%3B'/>\r
+ <line blank='1' always='0'/>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Epackage%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eti.sdo.codecs.universal.ce%3C%2Fspan%3E%3C%2Fgo%3E+%5B1%2C+0%2C+0%5D+%7B'/>\r
+ <line tab='0' content='%7D'/>\r
+ <unit name='UNIVERSAL' kind='module' nodoc='0' metaonly='1' summary='UNIVERSAL+codec+specification' inherits='ti.sdo.ce.universal.IUNIVERSAL'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Epackage%3C%2Fspan%3E+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fcodecs%2Funiversal%2Fce%2Fpackage.html%22+title%3D%22ti.sdo.codecs.universal.ce%22%3Eti.sdo.codecs.universal.ce%3C%2Fa%3E%3B'/>\r
+ <line blank='1' always='0'/>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Emetaonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Emodule%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EUNIVERSAL%3C%2Fspan%3E%3C%2Fgo%3E%3Cspan+class%3D%22xdoc-kw1%22%3E+inherits+%3C%2Fspan%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL%22%3EIUNIVERSAL%3C%2Fa%3E+%7B'/>\r
+ <line tab='0' content='%7D'/>\r
+ </synopSpec>\r
+ <specInfo>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Emetaonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Emodule%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EUNIVERSAL%3C%2Fspan%3E%3C%2Fgo%3E+%7B%3Cb%3E%26nbsp%3B%26nbsp%3B...%3C%2Fb%3E'/>\r
+ <line tab='0' comment='inherits+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL%22%3Eti.sdo.ce.universal.IUNIVERSAL%3C%2Fa%3E'/>\r
+ <line tab='1' comment='inherits+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%22+title%3D%22ti.sdo.ce.ICodec%22%3Eti.sdo.ce.ICodec%3C%2Fa%3E'/>\r
+ </specInfo>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Evar%3C%2Fspan%3E+UNIVERSAL+%3D+%3Cspan+class%3D%22xdoc-kw3%22%3Exdc.useModule%3C%2Fspan%3E%28%3Cspan+class%3D%22xdoc-id%22%3E%27ti.sdo.codecs.universal.ce.UNIVERSAL%27%3C%2Fspan%3E%29%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+file+specifies+information+necessary+to+integrate+with+the+Codec%0A++Engine.'/>\r
+ <docPara content='By+inheriting+ti.sdo.ce.universal.IUNIVERSAL%2C+UNIVERSAL+declares+that+it+%22is%0A++a%22+universal+algorithm.++This+allows+the+codec+engine+to+automatically%0A++supply+simple+stubs+and+skeletons+for+transparent+execution+of+DSP%0A++codecs+by+the+GPP.'/>\r
+ <docPara content='In+addition+to+declaring+the+type+of+the+UNIVERSAL+algorithm%2C+we%0A++declare+the+external+symbol+required+by+xDAIS+that+identifies+the%0A++algorithms+implementation+functions.'/>\r
+ </docSect>\r
+ <group name='module-wide constants & types'>\r
+ <decl spacer='1'/>\r
+ </group>\r
+ <group name='module-wide config parameters'>\r
+ <decl spacer='1'/>\r
+ <decl kind='config' name='alg' anchor='alg' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.alg' nodoc='0' external='1' overrides='0' readonly='1' instance='0' summary=''>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fcodecs%2Funiversal%2FUNIVERSAL.html%23.Module%22+title%3D%22ti.sdo.codecs.universal.UNIVERSAL.Module%22%3EUNIVERSAL.Module%3C%2Fa%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Ealg%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%253Ca%2Bclass%253D%2522xdoc-link%2522%2Bhref%253D%2522..%252F..%252F..%252F..%252F..%252Fti%252Fsdo%252Fcodecs%252Funiversal%252FUNIVERSAL.html%2523module%2522%2Btitle%253D%2522ti.sdo.codecs.universal.UNIVERSAL.module%2522%253EUNIVERSAL.module%253C%252Fa%253E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3Ealg%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fcodecs%2Funiversal%2FUNIVERSAL.html%23.Module%22+title%3D%22ti.sdo.codecs.universal.UNIVERSAL.Module%22%3EUNIVERSAL.Module%3C%2Fa%3E%3C%2Fi%3E+%253Ca%2Bclass%253D%2522xdoc-link%2522%2Bhref%253D%2522..%252F..%252F..%252F..%252F..%252Fti%252Fsdo%252Fcodecs%252Funiversal%252FUNIVERSAL.html%2523module%2522%2Btitle%253D%2522ti.sdo.codecs.universal.UNIVERSAL.module%2522%253EUNIVERSAL.module%253C%252Fa%253E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ <decl kind='config' name='codecClassConfigurable' anchor='codec.Class.Configurable' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.codecClassConfigurable' nodoc='1' external='1' overrides='1' readonly='1' instance='0' summary='' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23codec.Class.Configurable%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.codecClassConfigurable%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Eoverride+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EcodecClassConfigurable%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EcodecClassConfigurable%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%3C%2Fi%3E+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ <decl kind='config' name='frameRate' anchor='frame.Rate' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.frameRate' nodoc='1' external='1' overrides='0' readonly='1' instance='0' summary='Smallest+supported+frame+rate+%28frames+%2F+second%29' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23frame.Rate%22+title%3D%22ti.sdo.ce.ICodec.frameRate%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EframeRate%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EframeRate%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E+%3Ci%3Ecomputed+value%3C%2Fi%3E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+is+used+to+compute+a+default+priority+assignment+for+algorithm%0A++threads+in+a+DSP+Server.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='ialgFxns' anchor='ialg.Fxns' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.ialgFxns' nodoc='0' external='1' overrides='1' readonly='1' instance='0' summary='Name+of+xDAIS+alg+function+table' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23ialg.Fxns%22+title%3D%22ti.sdo.ce.ICodec.ialgFxns%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Eoverride+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EialgFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%2522UNIVERSALCOPY_TI_IUNIVERSALCOPY%2522%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EialgFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%2522UNIVERSALCOPY_TI_IUNIVERSALCOPY%2522%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='All+xDAIS+algorithms+must+define+an+IALG_Fxns+structure+that%0A++contains+implementations+of+the+IALG+methods.++This+configuration%0A++parameter+is+simply+the+extern+name+of+this+structure.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='idma3Fxns' anchor='idma3.Fxns' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.idma3Fxns' nodoc='0' external='1' overrides='0' readonly='1' instance='0' summary='Name+of+xDAIS+alg+IDMA3+Interface+function+table' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23idma3.Fxns%22+title%3D%22ti.sdo.ce.ICodec.idma3Fxns%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eidma3Fxns%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3Eidma3Fxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%3Ci%3Ecomputed+value%3C%2Fi%3E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='All+xDAIS+algorithms+that+use+DMA+must+define+an+IDMA3_Fxns+structure%0A++containing+the+pointers+to+functions+implementatng+the+IDMA3+interface.%0A++If+algorithm+does+not+use+DMA+this+structure+does+not+have+to+be%0A++defined.'/>\r
+ <docPara content='This+configuration+parameter+is+simply+the+extern+name+of+this%0A++structure+when+defined%2C+null+otherwise.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='iresFxns' anchor='ires.Fxns' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.iresFxns' nodoc='0' external='1' overrides='0' readonly='1' instance='0' summary='Name+of+xDAIS+alg+IRES+Interface+function+table' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23ires.Fxns%22+title%3D%22ti.sdo.ce.ICodec.iresFxns%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EiresFxns%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EiresFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%3Ci%3Ecomputed+value%3C%2Fi%3E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='All+xDAIS+algorithms+that+use+an+IRES+resource+must+define+an%0A++IRES_Fxns+structure+containing+the+pointers+to+functions%0A++implementatng+the+IRES+interface.%0A++If+algorithm+does+not+use+an+IRES+resource+this+structure+does+not%0A++have+to+be+defined.'/>\r
+ <docPara content='This+configuration+parameter+is+simply+the+extern+name+of+this%0A++structure+when+defined%2C+null+otherwise.'/>\r
+ </docSect>\r
+ <docSect name='see'>\r
+ <docPara content='%3Ca+class%3D%22xdoc-link%22+href%3D%22UNIVERSAL.html%23ialg.Fxns%22+title%3D%22ialgFxns%22%3EialgFxns%3C%2Fa%3E%2C+%3Ca+class%3D%22xdoc-link%22+href%3D%22UNIVERSAL.html%23idma3.Fxns%22+title%3D%22idma3Fxns%22%3Eidma3Fxns%3C%2Fa%3E'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='rpcProtocolVersion' anchor='rpc.Protocol.Version' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.rpcProtocolVersion' nodoc='0' external='1' overrides='1' readonly='1' instance='0' summary='Version+of+the+Protocol+used+between+the+stubFxns+and+the+serverFxns' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23rpc.Protocol.Version%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.rpcProtocolVersion%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Eoverride+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Ereadonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3ErpcProtocolVersion%3C%2Fspan%3E%3C%2Fgo%3E+%3D+1%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econst%3C%2Fspan%3E+%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3ErpcProtocolVersion%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E+1%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+is+set+by+a+particular+implementation+of+a+stub%2Fskeleton+RPC+pair%2C%0A++and+is+used+at+runtime+to+ensure+the+protocol+matches.++This+is%0A++important%2C+for+example%2C+to+ensure+that+the+protocol+used+by+skeletons%0A++built+into+a+server+matches+that+used+by+the+stubs+built+into+the%0A++application.++Specifically%2C+this+is+typically+changed+when+the%0A++marshalling%2Funmarshalling+message+format+changes.'/>\r
+ <docPara content='This+is+generally+not+configured+by+application+or+server+config%0A++scripts%2C+but+rather+by+developers+of+VISA-like+API+class+extensions.'/>\r
+ <docPara content='This+rpcProtocolVersion+is+built+into+the+local+application+executable%2C%0A++as+well+as+the+remote+server%27s+executable.'/>\r
+ <docPara content='Developers+of+class+extensions+should+ensure+this+config+parameter+is%0A++set+appropriately+by+each+release+of+their+stubs%2Fskeletons.++If+a+new%0A++protocol+is+introduced%2C+implying+that+updating+both+would+result+in%0A++error%2C+the+number+should+be+incremented.'/>\r
+ <docPara content='There+is+no+%22backward-compatibility%22+requirement+in+rpcProtocolVersion.%0A++If+the+version+is+different%2C+regardless+of+whether+it%27s+larger+or%0A++smaller%2C+the+creation+of+algorithms+of+this+class+will+fail.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl spacer='1'/>\r
+ <decl spacer='1'/>\r
+ <decl kind='config' name='isLocal' anchor='is.Local' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.isLocal' nodoc='1' external='1' overrides='0' readonly='0' instance='0' summary='Require+this+codec+to+run+%22locally%22' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23is.Local%22+title%3D%22ti.sdo.ce.ICodec.isLocal%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EisLocal%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EisLocal%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%3C%2Fi%3E+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+configuration+parameter+determines+whether+or+not+the%0A++application+requires+the+codec%27s+library+in+order+to+link.%0A++For+example%2C+this+parameter+is+set+to+false+in+the+case+that%0A++the+application+is+running+on+a+different+CPU+than+the+codec.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='manageInBufsCache' anchor='manage.In.Bufs.Cache' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.manageInBufsCache' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Codec+Class+configuration+param' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23manage.In.Bufs.Cache%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.manageInBufsCache%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EmanageInBufsCache%3C%2Fspan%3E%3C%2Fgo%3E%5B16%5D+%3D+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EmanageInBufsCache%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%5B16%5D%3C%2Fi%3E+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='Determines+whether+cache+will+be+managed+on+the+DSP+for+each+of+the%0A++%28up+to+16%29+input+buffers+given+to+the+codec%27s+%22process%28%29%22+call.'/>\r
+ <docPara content='If+this+flag+is+set+to+%22false%22+for+one+or+more%0A++elements%2C+the+cache+for+the+corresponding+input+buffer+will+not+be%0A++invalidated+before+the+process%28%29+call.+Skipping+unnecessary+cache%0A++invalidation+improves+performance%2C+especially+if+a+buffer+is+large.'/>\r
+ <docPara content='%28If+element+%22i%22+in+this+array+is+set+to+true%2C+cache+for+inBufs%5Bi%5D+will%0A++be+invalidated+only+if+the+buffer+is+supplied%2C+of+course.%29'/>\r
+ <docPara content='For+example%2C+if+you+know+that+a+particular+codec+of+this+class+always%0A++reads+the+data+from+its+inBufs%5B1%5D+buffer+only+via+DMA%2C+you+can+set%0A++manageInBufsCache%5B1%5D+%3D+false%3B'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='manageInOutBufsCache' anchor='manage.In.Out.Bufs.Cache' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.manageInOutBufsCache' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Codec+Class+configuration+param' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23manage.In.Out.Bufs.Cache%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.manageInOutBufsCache%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EmanageInOutBufsCache%3C%2Fspan%3E%3C%2Fgo%3E%5B16%5D+%3D+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EmanageInOutBufsCache%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%5B16%5D%3C%2Fi%3E+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='Determines+whether+cache+will+be+managed+on+the+DSP+for+each+of+the%0A++%28up+to+16%29+InOut+buffers+given+to+the+codec%27s+%22process%28%29%22+call.'/>\r
+ <docPara content='If+this+flag+is+set+to+%22false%22+for+one+or+more%0A++elements%2C+the+cache+for+the+corresponding+input+buffer+will+not+be%0A++invalidated+before+the+process%28%29+call.+Skipping+unnecessary+cache%0A++invalidation+improves+performance%2C+especially+if+a+buffer+is+large.'/>\r
+ <docPara content='%28If+element+%22i%22+in+this+array+is+set+to+true%2C+cache+for+inOutBufs%5Bi%5D%0A++will+be+invalidated+only+if+the+buffer+is+supplied%2C+of+course.%29'/>\r
+ <docPara content='For+example%2C+if+you+know+that+a+particular+codec+of+this+class+always%0A++reads+and+writes+the+data+in+its+inOutBufs%5Bi%5D+buffer+only+via+DMA%2C+you%0A++can+set+manageInOutBufsCache%5Bi%5D+%3D+false%3B'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='manageOutBufsCache' anchor='manage.Out.Bufs.Cache' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.manageOutBufsCache' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Codec+Class+configuration+param' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23manage.Out.Bufs.Cache%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.manageOutBufsCache%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EmanageOutBufsCache%3C%2Fspan%3E%3C%2Fgo%3E%5B16%5D+%3D+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EmanageOutBufsCache%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%5B16%5D%3C%2Fi%3E+%255B'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E%252C'/>\r
+ <line tab='1' content='%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Etrue%253C%252Fspan%253E'/>\r
+ <line tab='0' content='%255D%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='Determines+whether+cache+will+be+managed+on+the+DSP+for+each+of+the%0A++%28up+to+16%29+output+buffers+given+to+the+codec%27s+%22process%28%29%22+call.'/>\r
+ <docPara content='If+this+flag+is+set+to+%22false%22+for+one+or+more%0A++elements%2C+the+cache+for+the+corresponding+output+buffer+will+not+be%0A++invalidated+before+the+process%28%29+call.%0A++Skipping+unnecessary+cache+invalidation+improves%0A++performance.+Whether+the+buffer+will+be+written+back+after+the+process%28%29%0A++call+depends+on+the+algorithm+and+cannot+be+controlled+here.'/>\r
+ <docPara content='For+example%2C+if+you+know+that+a+particular+codec+of+this+class+always%0A++writes+the+data+to+its+outBufs%5B2%5D+buffer+only+via+DMA%2C+you+can+set%0A++manageOutBufsCache%5B2%5D+%3D+false%3B'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='serverFxns' anchor='server.Fxns' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.serverFxns' nodoc='0' external='1' overrides='1' readonly='0' instance='0' summary='Name+of+skeleton+fxn+table' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23server.Fxns%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.serverFxns%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Eoverride+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EserverFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%2522UNIVERSAL_SKEL%2522%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EserverFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%2522UNIVERSAL_SKEL%2522%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='All+algorithm%27s+that+can+run+on+a+remote+processor+must+specify+a+set%0A++of+%22stub%22+functions+that+marshall+arguments+to+send+to+the+remote%0A++process+that+runs+corresponding+%22skeletons%22+to+do+the+actual%0A++processing.++This+configuration+parameter+defines+the+entry+point+for%0A++this+algorithm%27s+the+skeletons+%28which+run+on+the+remote+processor%29.'/>\r
+ <docPara content='This+is+generally+not+configured+by+application+or+server+config%0A++scripts%2C+but+rather+by+developers+of+VISA-like+API+class+extensions.%0A++However%2C+an+application+or+server+integrator+could+use+this+config%0A++param+to+configure+in+custom+serverFxns.'/>\r
+ </docSect>\r
+ <docSect name='see'>\r
+ <docPara content='%3Ca+class%3D%22xdoc-link%22+href%3D%22UNIVERSAL.html%23stub.Fxns%22+title%3D%22stubFxns%22%3EstubFxns%3C%2Fa%3E'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='stubFxns' anchor='stub.Fxns' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.stubFxns' nodoc='0' external='1' overrides='1' readonly='0' instance='0' summary='Name+of+stubs+fxn+table' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2Funiversal%2FIUNIVERSAL.html%23stub.Fxns%22+title%3D%22ti.sdo.ce.universal.IUNIVERSAL.stubFxns%22%3EIUNIVERSAL%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Eoverride+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EstubFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%2522UNIVERSAL_STUBS%2522%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EstubFxns%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%2522UNIVERSAL_STUBS%2522%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='All+algorithm%27s+that+can+run+on+a+remote+processor+must+specify+a+set%0A++of+%22stub%22+functions+that+marshall+arguments+to+send+to+the+remote%0A++process+that+runs+corresponding+%22skeletons%22+to+do+the+actual%0A++processing.++This+configuration+parameter+defines+the+entry+point+for%0A++this+algorithm%27s+the+stubs+%28which+run+on+the+local+processor%29.'/>\r
+ <docPara content='This+is+generally+not+configured+by+application+or+server+config%0A++scripts%2C+but+rather+by+developers+of+VISA-like+API+class+extensions.%0A++However%2C+an+application+or+server+integrator+could+use+this+config%0A++param+to+configure+in+custom+stubFxns.'/>\r
+ </docSect>\r
+ <docSect name='see'>\r
+ <docPara content='%3Ca+class%3D%22xdoc-link%22+href%3D%22UNIVERSAL.html%23server.Fxns%22+title%3D%22serverFxns%22%3EserverFxns%3C%2Fa%3E'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='useCache' anchor='use.Cache' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.useCache' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Flag+indicating+whether+the+framework+should+provide+cached+memory' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23use.Cache%22+title%3D%22ti.sdo.ce.ICodec.useCache%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EuseCache%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EuseCache%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%3C%2Fi%3E+%3Cspan+class%3D%22xdoc-kw2%22%3Eundefined%3C%2Fspan%3E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='If+set+to+true%2C+the+alg%27s+memory+requests+will+be+allocated+from%0A++cacheable+memory.++If+set+to+false%2C+the+memory+will+be+allocated+from%0A++non-cached+memory.+If+left+unset%2C+the%0A++ti.sdo.ce.alg.Algorithm.useCache+flag+will+determine+whether+the%0A++alg%27s+memory+will+be+allocated+from+cached+or+non-cached+memory.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='config' name='uuid' anchor='uuid' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.uuid' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Unique+algorithm+implementation+ID' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23uuid%22+title%3D%22ti.sdo.ce.ICodec.uuid%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Euuid%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3Euuid%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E+%3Cspan+class%3D%22xdoc-kw2%22%3Eundefined%3C%2Fspan%3E%3B'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+integer+must+be+a+unique+ID+for+every+algorithm+in+a+%22system%22%2C%0A++where+the+%22system%22+includes+all+possible+DSP+Servers.'/>\r
+ <docPara content='This+id+is+used+by+the+Codec+Engine+APIs+to+identify+the+algorithm%0A++implementation+that+will+create+an+instance+on+a+DSP+Server.'/>\r
+ <docPara content='If+a+codec+doesn%27t+explicitly+configure+this+parameter%2C+a+%22very+likely%0A++unique%22+ID+will+be+generated.++It+is+recommended+that+codecs+not%0A++explicitly+configure+this+parameter%2C+and+leave+it+to+the+system.'/>\r
+ </docSect>\r
+ </decl>\r
+ </group>\r
+ <group name='module-wide functions'>\r
+ <decl spacer='1'/>\r
+ <decl kind='fxn' name='getCreationStackSize' anchor='get.Creation.Stack.Size' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.getCreationStackSize' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Get+the+maximum+required+stack+size+%28in+octets%29+for+this+algorithm%0A++during+algorithm+instance+creation' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23get.Creation.Stack.Size%22+title%3D%22ti.sdo.ce.ICodec.getCreationStackSize%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EgetCreationStackSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EgetCreationStackSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ci%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%3C%2Fi%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29+%3Ci%3Ereturns%3C%2Fi%3E+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+method+is+called+during+DSP+Server+configuration+and+is+used+to%0A++ensure+that+the+instance+creation+thread+on+the+server+has+sufficient%0A++stackspace+to+instantiate+the+algorithm.++This+stack+size+is+typically%0A++the+greater+of+the+stack+sizes+required+by+the+algorithm%27s%0A++algNumAlloc%28%29%2C+algAlloc%28%29%2C+or+algInit%28%29+methods.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='fxn' name='getDaramScratchSize' anchor='get.Daram.Scratch.Size' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.getDaramScratchSize' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Get+the+maximum+scratch+size+%28in+octets%29+required+for+this+algorithm%0A++from+DARAM+space' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23get.Daram.Scratch.Size%22+title%3D%22ti.sdo.ce.ICodec.getDaramScratchSize%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EgetDaramScratchSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EgetDaramScratchSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ci%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%3C%2Fi%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29+%3Ci%3Ereturns%3C%2Fi%3E+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+method+is+called+during+DSP+Server+configuration+and+is+used+to%0A++ensure+that+sufficient+scratch+space+is+configured+for+the+specified%0A++set+of+algorithms.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='fxn' name='getSaramScratchSize' anchor='get.Saram.Scratch.Size' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.getSaramScratchSize' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Get+the+maximum+scratch+size+%28in+octets%29+required+for+this+algorithm%0A++from+SARAM+space' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23get.Saram.Scratch.Size%22+title%3D%22ti.sdo.ce.ICodec.getSaramScratchSize%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EgetSaramScratchSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EgetSaramScratchSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ci%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%3C%2Fi%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29+%3Ci%3Ereturns%3C%2Fi%3E+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+method+is+called+during+DSP+Server+configuration+and+is+used+to%0A++ensure+that+sufficient+scratch+space+is+configured+for+the+specified%0A++set+of+algorithms.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='fxn' name='getStackSize' anchor='get.Stack.Size' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.getStackSize' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='Get+the+maximum+stack+size+%28in+octets%29+required+for+this+algorithm%0A++during+its+execution+phase' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23get.Stack.Size%22+title%3D%22ti.sdo.ce.ICodec.getStackSize%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EgetStackSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EgetStackSize%3C%2Fspan%3E%3C%2Fgo%3E%28+%3Ci%3E%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fxdc%2Fcfg%2FProgram.html%23.Module%22+title%3D%22xdc.cfg.Program.Module%22%3EProgram.Module%3C%2Fa%3E%3C%2Fi%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eprog%3C%2Fspan%3E%3C%2Fgo%3E+%29+%3Ci%3Ereturns%3C%2Fi%3E+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+method+is+called+during+DSP+Server+configuration+and+is+used+to%0A++ensure+that+threads+on+the+server+have+sufficient+stackspace+to+run%0A++the+algorithm.'/>\r
+ </docSect>\r
+ </decl>\r
+ <decl kind='fxn' name='getUUID' anchor='get.U.U.I.D' altext='ti.sdo.codecs.universal.ce.UNIVERSAL.getUUID' nodoc='1' external='1' overrides='0' readonly='0' instance='0' summary='Get+a+uuid+for+this+codec' origin='%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2F..%2Fti%2Fsdo%2Fce%2FICodec.html%23get.U.U.I.D%22+title%3D%22ti.sdo.ce.ICodec.getUUID%22%3EICodec%3C%2Fa%3E'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EgetUUID%3C%2Fspan%3E%3C%2Fgo%3E%28++%29%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EgetUUID%3C%2Fspan%3E%3C%2Fgo%3E%28++%29+%3Ci%3Ereturns%3C%2Fi%3E+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EInt%3C%2Fspan%3E%3C%2Fi%3E'/>\r
+ </synopMeta>\r
+ <docSect name='details'>\r
+ <docPara content='This+method+is+used+to+get+the+uuid+rather+than+reading+the+uuid%0A++config+parameter%3B+this+allows+the+algorithm+producer+to+let+the%0A++system+generate+a+uuid+from+the+algorithm%27s+name.'/>\r
+ <docPara content='Individual+algorithm%27s+should+not+implement+this+methods%3B+the+default%0A++%28base%29+implementation+provided+in+the+ti.sdo.ce+package+should+be%0A++sufficient.'/>\r
+ </docSect>\r
+ </decl>\r
+ </group>\r
+ </unit>\r
+</package>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.ext.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.ext.xml
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="windows-1252"?>\r
+<!-- This file conforms to the DTD xdc/bld/release.dtd -->\r
+<release name="" label="" date="" buildCount="" producerId="">\r
+<package name="ti.sdo.codecs.universal.ce"\r
+ version="1, 0, 0"/>\r
+<imports>\r
+ <package name="ti.sdo.ce.universal"\r
+ version=""/>\r
+ <package name="ti.sdo.codecs.universal"\r
+ version=""/>\r
+</imports>\r
+<references>\r
+ <package name="xdc.services.intern.gen"\r
+ version="1, 0, 0, 0, 1284507405214"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.shelf"\r
+ version="1, 0, 0, 1284507424737"\r
+ providerId="xdccore">\r
+ <file name="java\antlr.jar"/>\r
+ <file name="java\ecj.jar"/>\r
+ <file name="java\js.jar"/>\r
+ <file name="java\jsr173_api.jar"/>\r
+ <file name="java\tar.jar"/>\r
+ <file name="java\xbean.jar"/>\r
+ </package>\r
+ <package name="ti.sdo.ce"\r
+ version="1, 0, 6, 1313607868501"\r
+ providerId="codec_engine_3_21_00_19">\r
+ <file name="ICodec.xdc"/>\r
+ </package>\r
+ <package name="xdc.bld"\r
+ version="1, 0, 2, 1284507372516"\r
+ providerId="xdccore">\r
+ <file name="BuildEnvironment.xs"/>\r
+ <file name="Executable.xs"/>\r
+ <file name="ITarget.xs"/>\r
+ <file name="ITargetFilter.xs"/>\r
+ <file name="Library.xs"/>\r
+ <file name="Manifest.xs"/>\r
+ <file name="PackageContents.xs"/>\r
+ <file name="Repository.xs"/>\r
+ <file name="Script.xs"/>\r
+ <file name="Utils.xs"/>\r
+ <file name="_gen.xs"/>\r
+ <file name="bld.js"/>\r
+ <file name="package.xs"/>\r
+ </package>\r
+ <package name="xdc"\r
+ version="1, 1, 1, 1284507365742"\r
+ providerId="xdccore">\r
+ <file name="IPackage.xdc"/>\r
+ <file name="IPackage.xs"/>\r
+ <file name="om2.xs"/>\r
+ <file name="package.xs"/>\r
+ <file name="template.xs"/>\r
+ <file name="xdc.tci"/>\r
+ <file name="xmlgen.xs"/>\r
+ <file name="xmlgen2.xs"/>\r
+ </package>\r
+ <package name="ti.sdo.codecs.universal"\r
+ version="1, 0, 0, 1384185676281"\r
+ providerId="G:/from_sayanna/RTSC_Release">\r
+ <file name="UNIVERSAL.xdc"/>\r
+ </package>\r
+ <package name="ti.sdo.ce.universal"\r
+ version="1, 0, 0, 1313608056406"\r
+ providerId="codec_engine_3_21_00_19">\r
+ <file name="IUNIVERSAL.xdc"/>\r
+ </package>\r
+ <package name="xdc.services.global"\r
+ version="1, 0, 0, 1284507401675"\r
+ providerId="xdccore">\r
+ <file name="Clock.xs"/>\r
+ <file name="Trace.xs"/>\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.platform"\r
+ version="1, 0, 1, 0, 1284507379983"\r
+ providerId="xdccore">\r
+ <file name="ICpuDataSheet.xdc"/>\r
+ <file name="IExeContext.xdc"/>\r
+ <file name="IPeripheral.xdc"/>\r
+ <file name="IPlatform.xdc"/>\r
+ </package>\r
+ <package name="xdc.services.spec"\r
+ version="1, 0, 0, 0, 1284507414889"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.cmd"\r
+ version="1, 0, 0, 0, 1284507405123"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.xsr"\r
+ version="1, 0, 0, 1284507408194"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.cfg"\r
+ version="1, 0, 2, 0, 1284507375537"\r
+ providerId="xdccore">\r
+ <file name="Program.xdc"/>\r
+ </package>\r
+ <xdcRoot base="E:/WriteHere/xdctools_3_20_04_68/">\r
+ <file name="/packages/xdc/package.xdc"/>\r
+ <file name="etc\config.bld"/>\r
+ <file name="include\utils.tci"/>\r
+ <xdcCorePkg version="16, 0, 2, 0, 1284507377139" producerId="undefined" buildCount="279" releaseName="xdc_corevers" label="default" date="1284507377139"/>\r
+ </xdcRoot>\r
+</references>\r
+<orphans>\r
+</orphans>\r
+</release>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.rel.dot b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.rel.dot
--- /dev/null
@@ -0,0 +1,2141 @@
+digraph dependencies {
+ label="\nPackage ti.sdo.codecs.universal.ce Dependency Graph";
+ size="7.5,10";
+ rankdir=LR;
+ ranksep=".75";
+ concentrate="true";
+ node [fixedsize=true, width=1.5, style=filled, color=black];
+ node [font=Helvetica, fontsize=12, fillcolor=lightgrey];
+ ti_sdo_codecs_universal_ce [shape=record,label="ti.sdo.codecs.universal.ce|1, 0, 0", URL="package.rel.xml"];
+ node [fontsize=10, fillcolor=white];
+
+ edge [style=solid, color=blue]
+ ti_sdo_ce_universal [shape=record,label="ti.sdo.ce.universal|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\universal\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> ti_sdo_ce_universal;
+ ti_sdo_codecs_universal [shape=record,label="ti.sdo.codecs.universal|1, 0, 0", URL="../G:\from_sayanna\RTSC_Release\ti\sdo\codecs\universal\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> ti_sdo_codecs_universal;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_gen [shape=record,label="xdc.services.intern.gen|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\gen\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_services_intern_gen;
+ xdc_shelf [shape=record,label="xdc.shelf|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\shelf\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_shelf;
+ ti_sdo_ce [shape=record,label="ti.sdo.ce|1, 0, 6", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> ti_sdo_ce;
+ xdc_bld [shape=record,label="xdc.bld|1, 0, 2", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\bld\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_bld;
+ xdc [shape=record,label="xdc|1, 1, 1", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc;
+ ti_sdo_codecs_universal_ce -> ti_sdo_codecs_universal;
+ ti_sdo_codecs_universal_ce -> ti_sdo_ce_universal;
+ xdc_services_global [shape=record,label="xdc.services.global|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\global\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_services_global;
+ xdc_platform [shape=record,label="xdc.platform|1, 0, 1, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\platform\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_platform;
+ xdc_services_spec [shape=record,label="xdc.services.spec|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\spec\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_services_spec;
+ xdc_services_intern_cmd [shape=record,label="xdc.services.intern.cmd|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\cmd\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_services_intern_cmd;
+ xdc_services_intern_xsr [shape=record,label="xdc.services.intern.xsr|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\xsr\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_services_intern_xsr;
+ xdc_cfg [shape=record,label="xdc.cfg|1, 0, 2, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\cfg\package/package.rel.svg"];
+ ti_sdo_codecs_universal_ce -> xdc_cfg;
+
+ edge [style=solid, color=blue]
+ xdc_cfg -> xdc_services_global;
+
+ edge [style=solid, color=lightgrey]
+ xdc_cfg -> xdc_services_spec;
+ xdc_cfg -> xdc_services_intern_cmd;
+ xdc_utils_tconf [shape=record,label="xdc.utils.tconf|not found"style=rounded, ];
+ xdc_cfg -> xdc_utils_tconf;
+ xdc_cfg -> xdc_services_intern_xsr;
+ xdc_cfg -> xdc_platform;
+ xdc_cfg -> xdc_shelf;
+ xdc_cfg -> xdc_services_intern_gen;
+ xdc_cfg -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_xsr -> xdc_services_global;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_xsr -> xdc_services_spec;
+ xdc_services_intern_xsr -> xdc_services_intern_cmd;
+ xdc_services_intern_xsr -> xdc_utils_tconf;
+ xdc_services_intern_xsr -> xdc_shelf;
+ xdc_services_intern_xsr -> xdc_services_intern_gen;
+ xdc_services_intern_xsr -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_cmd -> xdc_shelf;
+ xdc_services_intern_cmd -> xdc_services_spec;
+ xdc_services_intern_cmd -> xdc_services_global;
+ xdc_services_intern_cmd -> xdc_services_intern_gen;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_cmd -> xdc_services_spec;
+ xdc_services_intern_cmd -> xdc_utils_tconf;
+ xdc_services_intern_cmd -> xdc_services_intern_xsr;
+ xdc_services_intern_cmd -> xdc_shelf;
+ xdc_services_intern_cmd -> xdc_services_intern_gen;
+ xdc_services_intern_cmd -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ xdc_services_spec -> xdc_shelf;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_spec -> xdc_services_intern_cmd;
+ xdc_services_spec -> xdc_utils_tconf;
+ xdc_services_spec -> xdc_services_intern_xsr;
+ xdc_services_spec -> xdc_shelf;
+ xdc_services_spec -> xdc_services_intern_gen;
+ xdc_services_spec -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_platform -> xdc_services_spec;
+ xdc_platform -> xdc_services_intern_cmd;
+ xdc_platform -> xdc_utils_tconf;
+ xdc_platform -> xdc_services_intern_xsr;
+ xdc_platform -> xdc_shelf;
+ xdc_platform -> xdc_services_intern_gen;
+ xdc_platform -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_global -> xdc_services_spec;
+ xdc_services_global -> xdc_services_intern_cmd;
+ xdc_services_global -> xdc_utils_tconf;
+ xdc_services_global -> xdc_services_intern_xsr;
+ xdc_services_global -> xdc_shelf;
+ xdc_services_global -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc -> xdc_services_global;
+ xdc -> xdc_utils_tconf;
+
+ edge [style=solid, color=blue]
+ xdc_bld -> xdc_services_global;
+ xdc_bld -> xdc_services_intern_cmd;
+
+ edge [style=solid, color=lightgrey]
+ xdc_bld -> xdc_services_spec;
+ xdc_bld -> xdc_services_intern_cmd;
+ xdc_bld -> xdc_utils_tconf;
+ xdc_bld -> xdc;
+ xdc_bld -> xdc_services_intern_xsr;
+ xdc_bld -> xdc_shelf;
+ xdc_bld -> xdc_services_intern_gen;
+ xdc_bld -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce -> xdc_services_global;
+ ti_targets [shape=record,label="ti.targets|1, 0, 3", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\package/package.rel.svg"];
+ ti_sdo_ce -> ti_targets;
+ ti_targets_elf [shape=record,label="ti.targets.elf|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\elf\package/package.rel.svg"];
+ ti_sdo_ce -> ti_targets_elf;
+ gnu_targets [shape=record,label="gnu.targets|1, 0, 1", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\gnu\targets\package/package.rel.svg"];
+ ti_sdo_ce -> gnu_targets;
+ gnu_targets_arm [shape=record,label="gnu.targets.arm|1, 0, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\gnu\targets\arm\package/package.rel.svg"];
+ ti_sdo_ce -> gnu_targets_arm;
+ ti_targets_arm [shape=record,label="ti.targets.arm|2, 0, 1, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\arm\package/package.rel.svg"];
+ ti_sdo_ce -> ti_targets_arm;
+ ti_targets_arm_elf [shape=record,label="ti.targets.arm.elf|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\arm\elf\package/package.rel.svg"];
+ ti_sdo_ce -> ti_targets_arm_elf;
+ build_filter [shape=record,label="build.filter|not found"style=rounded, ];
+ ti_sdo_ce -> build_filter;
+ ti_sdo_ce -> xdc_cfg;
+ ti_sdo_ce -> xdc_platform;
+ ti_sdo_ce_ipc [shape=record,label="ti.sdo.ce.ipc|2, 0, 1", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\ipc\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_ce_ipc;
+ ti_sdo_ce -> xdc_services_intern_cmd;
+ ti_sdo_ce -> xdc_services_intern_gen;
+ ti_sdo_ce -> xdc_services_intern_xsr;
+ ti_sdo_ce -> xdc_shelf;
+ ti_sdo_ce -> xdc_services_spec;
+ xdc_runtime [shape=record,label="xdc.runtime|2, 1, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\xdc\runtime\package/package.rel.svg"];
+ ti_sdo_ce -> xdc_runtime;
+ xdc_runtime_knl [shape=record,label="xdc.runtime.knl|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\xdc\runtime\knl\package/package.rel.svg"];
+ ti_sdo_ce -> xdc_runtime_knl;
+ ti_xdais [shape=record,label="ti.xdais|1, 2.0, 1", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\xdais\package/package.rel.svg"];
+ ti_sdo_ce -> ti_xdais;
+ ti_sdo_utils_loggers [shape=record,label="ti.sdo.utils.loggers|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\utils\loggers\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_utils_loggers;
+ ti_sdo_utils_trace [shape=record,label="ti.sdo.utils.trace|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\utils\trace\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_utils_trace;
+ ti_sdo_ce_osal [shape=record,label="ti.sdo.ce.osal|2, 0, 2", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\osal\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_ce_osal;
+ ti_sdo_ce_global [shape=record,label="ti.sdo.ce.global|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\global\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_ce_global;
+ ti_sdo_ce_alg [shape=record,label="ti.sdo.ce.alg|1, 0, 1", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\alg\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_ce_alg;
+ ti_sdo_ce_node [shape=record,label="ti.sdo.ce.node|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\packages\ti\sdo\ce\node\package/package.rel.svg"];
+ ti_sdo_ce -> ti_sdo_ce_node;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_node -> xdc_services_global;
+ ti_sdo_ce_node -> ti_targets;
+ ti_sdo_ce_node -> ti_targets_elf;
+ ti_sdo_ce_node -> gnu_targets;
+ ti_sdo_ce_node -> gnu_targets_arm;
+ ti_sdo_ce_node -> ti_targets_arm;
+ ti_sdo_ce_node -> ti_targets_arm_elf;
+ ti_sdo_ce_node -> build_filter;
+ ti_sdo_ce_node -> xdc_services_intern_cmd;
+ ti_sdo_ce_node -> xdc_services_intern_gen;
+ ti_sdo_ce_node -> xdc_services_intern_xsr;
+ ti_sdo_ce_node -> xdc_shelf;
+ ti_sdo_ce_node -> xdc_services_spec;
+ ti_sdo_ce_node -> xdc_runtime;
+ ti_sdo_ce_node -> ti_sdo_ce_global;
+ ti_sdo_ce_node -> ti_sdo_ce_ipc;
+ ti_sdo_ce_node -> xdc_runtime_knl;
+ ti_sdo_ce_node -> ti_sdo_ce;
+ ti_sdo_ce_node -> ti_xdais;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_alg -> xdc_services_global;
+ ti_sdo_ce_alg -> ti_targets;
+ ti_sdo_ce_alg -> ti_targets_elf;
+ ti_sdo_ce_alg -> gnu_targets;
+ ti_sdo_ce_alg -> gnu_targets_arm;
+ ti_sdo_ce_alg -> ti_targets_arm;
+ ti_sdo_ce_alg -> ti_targets_arm_elf;
+ ti_sdo_ce_alg -> build_filter;
+ ti_sdo_ce_alg -> xdc_services_intern_cmd;
+ ti_sdo_ce_alg -> xdc_services_intern_gen;
+ ti_sdo_ce_alg -> xdc_services_intern_xsr;
+ ti_sdo_ce_alg -> xdc_shelf;
+ ti_sdo_ce_alg -> xdc_services_spec;
+ ti_sdo_ce_alg -> xdc_runtime;
+ ti_sdo_fc_dskt2 [shape=record,label="ti.sdo.fc.dskt2|1, 0, 4", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\dskt2\package/package.rel.svg"];
+ ti_sdo_ce_alg -> ti_sdo_fc_dskt2;
+ ti_sdo_fc_dman3 [shape=record,label="ti.sdo.fc.dman3|1, 0, 4", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\dman3\package/package.rel.svg"];
+ ti_sdo_ce_alg -> ti_sdo_fc_dman3;
+ ti_sdo_fc_rman [shape=record,label="ti.sdo.fc.rman|2, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\rman\package/package.rel.svg"];
+ ti_sdo_ce_alg -> ti_sdo_fc_rman;
+ ti_sdo_ce_alg -> ti_xdais;
+ ti_sdo_ce_alg -> ti_sdo_ce_osal;
+ ti_sdo_ce_alg -> ti_sdo_ce_global;
+ ti_sdo_fc_ires [shape=record,label="ti.sdo.fc.ires|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\ires\package/package.rel.svg"];
+ ti_sdo_ce_alg -> ti_sdo_fc_ires;
+ ti_sdo_ce_alg -> xdc_runtime_knl;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_ires -> xdc_services_global;
+ ti_sdo_fc_ires -> ti_targets;
+ ti_sdo_fc_ires -> ti_targets_elf;
+ ti_targets_elf_arp32 [shape=record,label="ti.targets.elf.arp32|not found"style=rounded, ];
+ ti_sdo_fc_ires -> ti_targets_elf_arp32;
+ ti_sdo_fc_ires -> gnu_targets;
+ ti_sdo_fc_ires -> gnu_targets_arm;
+ ti_sdo_fc_ires -> ti_targets_arm;
+ ti_sdo_fc_ires -> ti_targets_arm_elf;
+ ti_sdo_fc_ires -> build_filter;
+ ti_sdo_fc_ires -> xdc_services_intern_cmd;
+ ti_sdo_fc_ires -> xdc_services_intern_gen;
+ ti_sdo_fc_ires -> xdc_services_intern_xsr;
+ ti_sdo_fc_ires -> xdc_shelf;
+ ti_sdo_fc_ires -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_rman -> xdc_services_global;
+ ti_sdo_fc_rman -> ti_targets;
+ ti_sdo_fc_rman -> ti_targets_elf;
+ ti_sdo_fc_rman -> ti_targets_elf_arp32;
+ ti_sdo_fc_rman -> gnu_targets;
+ ti_sdo_fc_rman -> gnu_targets_arm;
+ ti_sdo_fc_rman -> ti_targets_arm;
+ ti_sdo_fc_rman -> ti_targets_arm_elf;
+ ti_sdo_fc_rman -> build_filter;
+ ti_sdo_fc_rman -> xdc_services_intern_cmd;
+ ti_sdo_fc_rman -> xdc_services_intern_gen;
+ ti_sdo_fc_rman -> xdc_services_intern_xsr;
+ ti_sdo_fc_rman -> xdc_shelf;
+ ti_sdo_fc_rman -> xdc_services_spec;
+ ti_sdo_fc_rman -> xdc_runtime;
+ ti_sdo_fc_rman -> ti_sdo_fc_dskt2;
+ ti_sdo_fc_memutils [shape=record,label="ti.sdo.fc.memutils|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\memutils\package/package.rel.svg"];
+ ti_sdo_fc_rman -> ti_sdo_fc_memutils;
+ ti_sdo_fc_utils_osalsupport [shape=record,label="ti.sdo.fc.utils.osalsupport|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\utils\osalsupport\package/package.rel.svg"];
+ ti_sdo_fc_rman -> ti_sdo_fc_utils_osalsupport;
+ ti_sdo_fc_global [shape=record,label="ti.sdo.fc.global|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\global\package/package.rel.svg"];
+ ti_sdo_fc_rman -> ti_sdo_fc_global;
+ ti_sdo_fc_utils [shape=record,label="ti.sdo.fc.utils|1, 0, 3", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\utils\package/package.rel.svg"];
+ ti_sdo_fc_rman -> ti_sdo_fc_utils;
+ ti_sdo_fc_ires_nullresource [shape=record,label="ti.sdo.fc.ires.nullresource|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\ires\nullresource\package/package.rel.svg"];
+ ti_sdo_fc_rman -> ti_sdo_fc_ires_nullresource;
+ ti_sdo_fc_rman -> ti_xdais;
+ ti_sdo_fc_rman -> xdc_runtime_knl;
+ ti_sdo_fc_rman -> ti_sdo_fc_ires;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_ires_nullresource -> xdc_services_global;
+ ti_sdo_fc_ires_nullresource -> ti_targets;
+ ti_sdo_fc_ires_nullresource -> ti_targets_elf;
+ ti_sdo_fc_ires_nullresource -> ti_targets_elf_arp32;
+ ti_sdo_fc_ires_nullresource -> gnu_targets;
+ ti_sdo_fc_ires_nullresource -> gnu_targets_arm;
+ ti_sdo_fc_ires_nullresource -> ti_targets_arm;
+ ti_sdo_fc_ires_nullresource -> ti_targets_arm_elf;
+ ti_sdo_fc_ires_nullresource -> build_filter;
+ ti_sdo_fc_ires_nullresource -> ti_sdo_fc_ires;
+ ti_sdo_fc_ires_nullresource -> xdc_services_intern_cmd;
+ ti_sdo_fc_ires_nullresource -> xdc_services_intern_gen;
+ ti_sdo_fc_ires_nullresource -> xdc_services_intern_xsr;
+ ti_sdo_fc_ires_nullresource -> xdc_shelf;
+ ti_sdo_fc_ires_nullresource -> xdc_services_spec;
+ ti_sdo_fc_ires_nullresource -> xdc_runtime;
+ ti_sdo_fc_ires_nullresource -> ti_sdo_fc_global;
+ ti_sdo_fc_ires_nullresource -> ti_xdais;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_utils -> xdc_services_global;
+ ti_sdo_fc_utils -> ti_targets;
+ ti_sdo_fc_utils -> ti_targets_elf;
+ ti_sdo_fc_utils -> ti_targets_elf_arp32;
+ ti_sdo_fc_utils -> gnu_targets;
+ ti_sdo_fc_utils -> gnu_targets_arm;
+ ti_sdo_fc_utils -> ti_targets_arm;
+ ti_sdo_fc_utils -> ti_targets_arm_elf;
+ ti_sdo_fc_utils -> build_filter;
+ ti_sdo_fc_utils -> xdc_services_intern_cmd;
+ ti_sdo_fc_utils -> xdc_services_intern_gen;
+ ti_sdo_fc_utils -> xdc_services_intern_xsr;
+ ti_sdo_fc_utils -> xdc_shelf;
+ ti_sdo_fc_utils -> xdc_services_spec;
+ ti_sdo_fc_utils -> xdc_runtime;
+ ti_sdo_fc_utils -> ti_sdo_fc_global;
+ ti_sdo_fc_utils -> ti_xdais;
+ ti_sdo_fc_utils -> xdc_runtime_knl;
+ ti_sdo_fc_utils -> ti_sdo_fc_memutils;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_global -> xdc_services_global;
+ ti_sdo_fc_global -> ti_targets;
+ ti_sdo_fc_global -> ti_targets_elf;
+ ti_sdo_fc_global -> ti_targets_elf_arp32;
+ ti_sdo_fc_global -> gnu_targets;
+ ti_sdo_fc_global -> gnu_targets_arm;
+ ti_sdo_fc_global -> ti_targets_arm;
+ ti_sdo_fc_global -> ti_targets_arm_elf;
+ ti_sdo_fc_global -> build_filter;
+ ti_sdo_tools_build [shape=record,label="ti.sdo.tools.build|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\tools\build\package/package.rel.svg"];
+ ti_sdo_fc_global -> ti_sdo_tools_build;
+ ti_sdo_fc_global -> xdc_services_intern_cmd;
+ ti_sdo_fc_global -> xdc_services_intern_gen;
+ ti_sdo_fc_global -> xdc_services_intern_xsr;
+ ti_sdo_fc_global -> xdc_shelf;
+ ti_sdo_fc_global -> xdc_services_spec;
+ ti_sdo_fc_global -> xdc_runtime;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_tools_build -> xdc_services_global;
+ ti_sdo_tools_build -> ti_targets;
+ ti_sdo_tools_build -> ti_targets_elf;
+ ti_sdo_tools_build -> ti_targets_arm;
+ ti_sdo_tools_build -> ti_targets_arm_elf;
+ ti_sdo_tools_build -> gnu_targets;
+ ti_sdo_tools_build -> gnu_targets_arm;
+ ti_sdo_tools_build -> xdc_services_intern_cmd;
+ ti_sdo_tools_build -> xdc_services_intern_gen;
+ ti_sdo_tools_build -> xdc_services_intern_xsr;
+ ti_sdo_tools_build -> xdc_shelf;
+ ti_sdo_tools_build -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_utils_osalsupport -> xdc_services_global;
+ ti_sdo_fc_utils_osalsupport -> ti_targets;
+ ti_sdo_fc_utils_osalsupport -> ti_targets_elf;
+ ti_sdo_fc_utils_osalsupport -> ti_targets_elf_arp32;
+ ti_sdo_fc_utils_osalsupport -> gnu_targets;
+ ti_sdo_fc_utils_osalsupport -> gnu_targets_arm;
+ ti_sdo_fc_utils_osalsupport -> ti_targets_arm;
+ ti_sdo_fc_utils_osalsupport -> ti_targets_arm_elf;
+ ti_sdo_fc_utils_osalsupport -> build_filter;
+ ti_sdo_fc_utils_osalsupport -> xdc_services_intern_cmd;
+ ti_sdo_fc_utils_osalsupport -> xdc_services_intern_gen;
+ ti_sdo_fc_utils_osalsupport -> xdc_services_intern_xsr;
+ ti_sdo_fc_utils_osalsupport -> xdc_shelf;
+ ti_sdo_fc_utils_osalsupport -> xdc_services_spec;
+ ti_sdo_fc_utils_osalsupport -> xdc_runtime;
+ ti_sdo_fc_utils_osalsupport -> xdc_runtime_knl;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_memutils -> xdc_services_global;
+ ti_sdo_fc_memutils -> ti_targets;
+ ti_sdo_fc_memutils -> ti_targets_elf;
+ ti_sdo_fc_memutils -> ti_targets_elf_arp32;
+ ti_sdo_fc_memutils -> gnu_targets;
+ ti_sdo_fc_memutils -> gnu_targets_arm;
+ ti_sdo_fc_memutils -> ti_targets_arm;
+ ti_sdo_fc_memutils -> ti_targets_arm_elf;
+ ti_sdo_fc_memutils -> build_filter;
+ ti_sdo_fc_memutils -> xdc_services_intern_cmd;
+ ti_sdo_fc_memutils -> xdc_services_intern_gen;
+ ti_sdo_fc_memutils -> xdc_services_intern_xsr;
+ ti_sdo_fc_memutils -> xdc_shelf;
+ ti_sdo_fc_memutils -> xdc_services_spec;
+ ti_sdo_fc_memutils -> xdc_runtime;
+ ti_sdo_fc_memutils -> ti_sdo_fc_global;
+ ti_sysbios_hal [shape=record,label="ti.sysbios.hal|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\hal\package/package.rel.svg"];
+ ti_sdo_fc_memutils -> ti_sysbios_hal;
+ ti_sysbios_interfaces [shape=record,label="ti.sysbios.interfaces|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\interfaces\package/package.rel.svg"];
+ ti_sdo_fc_memutils -> ti_sysbios_interfaces;
+ ti_sdo_linuxutils_cmem [shape=record,label="ti.sdo.linuxutils.cmem|2, 2, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\linuxutils\cmem\package/package.rel.svg"];
+ ti_sdo_fc_memutils -> ti_sdo_linuxutils_cmem;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_linuxutils_cmem -> xdc_services_global;
+ ti_sdo_linuxutils_cmem -> ti_targets;
+ ti_sdo_linuxutils_cmem -> ti_targets_elf;
+ ti_sdo_linuxutils_cmem -> gnu_targets;
+ ti_sdo_linuxutils_cmem -> gnu_targets_arm;
+ ti_sdo_linuxutils_cmem -> ti_targets_arm;
+ ti_sdo_linuxutils_cmem -> ti_targets_arm_elf;
+ ti_sdo_linuxutils_cmem -> xdc_services_intern_cmd;
+ ti_sdo_linuxutils_cmem -> xdc_services_intern_gen;
+ ti_sdo_linuxutils_cmem -> xdc_services_intern_xsr;
+ ti_sdo_linuxutils_cmem -> xdc_shelf;
+ ti_sdo_linuxutils_cmem -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_interfaces -> xdc_services_global;
+ ti_sysbios_interfaces -> ti_targets;
+ ti_targets_msp430 [shape=record,label="ti.targets.msp430|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\msp430\package/package.rel.svg"];
+ ti_sysbios_interfaces -> ti_targets_msp430;
+ ti_sysbios_interfaces -> ti_targets_elf_arp32;
+ ti_sysbios_interfaces -> ti_targets_elf;
+ ti_sysbios_interfaces -> ti_targets_arm;
+ ti_sysbios_interfaces -> ti_targets_arm_elf;
+ ti_sysbios_interfaces -> gnu_targets;
+ microsoft_targets [shape=record,label="microsoft.targets|1, 0, 2, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\microsoft\targets\package/package.rel.svg"];
+ ti_sysbios_interfaces -> microsoft_targets;
+ ti_sysbios_interfaces -> xdc_runtime;
+ ti_sysbios_interfaces -> xdc_shelf;
+ ti_sysbios_interfaces -> xdc_services_intern_gen;
+ ti_sysbios_interfaces -> xdc_services_intern_cmd;
+ ti_sysbios_interfaces -> xdc_services_intern_xsr;
+ ti_sysbios_interfaces -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ microsoft_targets -> xdc_services_global;
+ microsoft_targets -> xdc_services_intern_cmd;
+ microsoft_targets -> xdc_services_intern_xsr;
+ microsoft_targets -> xdc_shelf;
+ microsoft_targets -> xdc_services_spec;
+ microsoft_targets -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_msp430 -> xdc_services_intern_gen;
+ ti_targets_msp430 -> xdc_services_spec;
+ ti_targets_msp430 -> xdc_shelf;
+ ti_targets_msp430 -> xdc_services_global;
+ ti_targets_msp430 -> xdc_services_intern_cmd;
+ ti_targets_msp430 -> xdc_services_intern_xsr;
+ ti_targets_msp430 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_hal -> ti_sysbios_interfaces;
+ ti_sysbios_family [shape=record,label="ti.sysbios.family|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\package/package.rel.svg"];
+ ti_sysbios_hal -> ti_sysbios_family;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_hal -> xdc_services_global;
+ ti_sysbios_hal -> ti_targets;
+ ti_sysbios_hal -> ti_targets_msp430;
+ ti_sysbios_hal -> ti_targets_elf_arp32;
+ ti_sysbios_hal -> ti_targets_elf;
+ ti_sysbios_hal -> ti_targets_arm;
+ ti_sysbios_hal -> ti_targets_arm_elf;
+ ti_sysbios_hal -> gnu_targets;
+ ti_sysbios_hal -> microsoft_targets;
+ ti_sysbios_build [shape=record,label="ti.sysbios.build|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\build\package/package.rel.svg"];
+ ti_sysbios_hal -> ti_sysbios_build;
+ tisb_release_filters [shape=record,label="tisb.release.filters|not found"style=rounded, ];
+ ti_sysbios_hal -> tisb_release_filters;
+ ti_sysbios_hal -> ti_sysbios_interfaces;
+ ti_sysbios_hal -> xdc_shelf;
+ ti_sysbios_hal -> xdc_services_intern_gen;
+ ti_sysbios_hal -> xdc_services_intern_cmd;
+ ti_sysbios_hal -> xdc_services_intern_xsr;
+ ti_sysbios_hal -> xdc_services_spec;
+ ti_sysbios_hal -> xdc_runtime;
+ ti_sysbios_family_arm_m3 [shape=record,label="ti.sysbios.family.arm.m3|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\arm\m3\package/package.rel.svg"];
+ ti_sysbios_hal -> ti_sysbios_family_arm_m3;
+ ti_sysbios_family_c28 [shape=record,label="ti.sysbios.family.c28|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\c28\package/package.rel.svg"];
+ ti_sysbios_hal -> ti_sysbios_family_c28;
+ ti_sysbios [shape=record,label="ti.sysbios|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\package/package.rel.svg"];
+ ti_sysbios_hal -> ti_sysbios;
+
+ edge [style=solid, color=blue]
+ ti_sysbios -> ti_sysbios_family;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios -> xdc_services_global;
+ ti_sysbios -> ti_targets;
+ ti_sysbios -> ti_targets_msp430;
+ ti_sysbios -> ti_targets_elf_arp32;
+ ti_sysbios -> ti_targets_elf;
+ ti_sysbios -> ti_targets_arm;
+ ti_sysbios -> ti_targets_arm_elf;
+ ti_sysbios -> gnu_targets;
+ ti_sysbios -> microsoft_targets;
+ ti_sysbios -> ti_sysbios_build;
+ ti_sysbios -> tisb_release_filters;
+ ti_sysbios -> xdc_shelf;
+ ti_sysbios -> xdc_services_intern_gen;
+ ti_sysbios -> xdc_services_intern_cmd;
+ ti_sysbios -> xdc_services_intern_xsr;
+ ti_sysbios -> xdc_services_spec;
+ ti_sysbios -> xdc_runtime;
+ ti_catalog_c2800 [shape=record,label="ti.catalog.c2800|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\c2800\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_c2800;
+ ti_catalog_c2800_init [shape=record,label="ti.catalog.c2800.init|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\c2800\init\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_c2800_init;
+ ti_platforms_ezdsp28235 [shape=record,label="ti.platforms.ezdsp28235|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\ezdsp28235\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_ezdsp28235;
+ ti_targets_rts2800 [shape=record,label="ti.targets.rts2800|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\rts2800\package/package.rel.svg"];
+ ti_sysbios -> ti_targets_rts2800;
+ ti_sysbios -> xdc_cfg;
+ ti_sysbios -> xdc_platform;
+ xdc_rov [shape=record,label="xdc.rov|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\rov\package/package.rel.svg"];
+ ti_sysbios -> xdc_rov;
+ ti_sysbios -> xdc_runtime_knl;
+ xdc_services_getset [shape=record,label="xdc.services.getset|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\getset\package/package.rel.svg"];
+ ti_sysbios -> xdc_services_getset;
+ xdc_services_io [shape=record,label="xdc.services.io|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\io\package/package.rel.svg"];
+ ti_sysbios -> xdc_services_io;
+ ti_platforms_ezdsp28335 [shape=record,label="ti.platforms.ezdsp28335|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\ezdsp28335\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_ezdsp28335;
+ ti_catalog_c6000 [shape=record,label="ti.catalog.c6000|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\c6000\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_c6000;
+ ti_platforms_dsk6416 [shape=record,label="ti.platforms.dsk6416|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\dsk6416\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_dsk6416;
+ ti_targets_rts6000 [shape=record,label="ti.targets.rts6000|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\rts6000\package/package.rel.svg"];
+ ti_sysbios -> ti_targets_rts6000;
+ ti_platforms_evmDM6446 [shape=record,label="ti.platforms.evmDM6446|1, 0, 0, 1", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evmDM6446\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evmDM6446;
+ ti_platforms_evmDM6437 [shape=record,label="ti.platforms.evmDM6437|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evmDM6437\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evmDM6437;
+ ti_platforms_evmDA830 [shape=record,label="ti.platforms.evmDA830|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evmDA830\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evmDA830;
+ ti_catalog_msp430 [shape=record,label="ti.catalog.msp430|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430;
+ ti_catalog_msp430_init [shape=record,label="ti.catalog.msp430.init|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\init\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_init;
+ ti_catalog_msp430_peripherals_adc [shape=record,label="ti.catalog.msp430.peripherals.adc|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\adc\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_adc;
+ ti_catalog_msp430_peripherals_clock [shape=record,label="ti.catalog.msp430.peripherals.clock|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\clock\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_communication [shape=record,label="ti.catalog.msp430.peripherals.communication|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\communication\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_communication;
+ ti_catalog_msp430_peripherals_comparator [shape=record,label="ti.catalog.msp430.peripherals.comparator|not found"style=rounded, ];
+ ti_sysbios -> ti_catalog_msp430_peripherals_comparator;
+ ti_catalog_msp430_peripherals_dac [shape=record,label="ti.catalog.msp430.peripherals.dac|not found"style=rounded, ];
+ ti_sysbios -> ti_catalog_msp430_peripherals_dac;
+ ti_catalog_msp430_peripherals_gpio [shape=record,label="ti.catalog.msp430.peripherals.gpio|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\gpio\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_gpio;
+ ti_catalog_msp430_peripherals_memory [shape=record,label="ti.catalog.msp430.peripherals.memory|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\memory\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_memory;
+ ti_catalog_msp430_peripherals_oa [shape=record,label="ti.catalog.msp430.peripherals.oa|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\oa\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_oa;
+ ti_catalog_msp430_peripherals_special_function [shape=record,label="ti.catalog.msp430.peripherals.special_function|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\special_function\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_special_function;
+ ti_catalog_msp430_peripherals_svs [shape=record,label="ti.catalog.msp430.peripherals.svs|not found"style=rounded, ];
+ ti_sysbios -> ti_catalog_msp430_peripherals_svs;
+ ti_catalog_msp430_peripherals_timer [shape=record,label="ti.catalog.msp430.peripherals.timer|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\timer\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_timer;
+ ti_catalog_msp430_peripherals_watchdog [shape=record,label="ti.catalog.msp430.peripherals.watchdog|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\watchdog\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_msp430_peripherals_watchdog;
+ ti_platforms_exp430F5438 [shape=record,label="ti.platforms.exp430F5438|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\exp430F5438\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_exp430F5438;
+ ti_targets_msp430_rts430 [shape=record,label="ti.targets.msp430.rts430|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\msp430\rts430\package/package.rel.svg"];
+ ti_sysbios -> ti_targets_msp430_rts430;
+ ti_platforms_evm6472 [shape=record,label="ti.platforms.evm6472|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evm6472\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evm6472;
+ ti_platforms_padk6727 [shape=record,label="ti.platforms.padk6727|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\padk6727\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_padk6727;
+ ti_catalog_arm_cortexm3 [shape=record,label="ti.catalog.arm.cortexm3|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\cortexm3\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_arm_cortexm3;
+ ti_platforms_sdp4430 [shape=record,label="ti.platforms.sdp4430|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\sdp4430\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_sdp4430;
+ ti_platforms_evm6670 [shape=record,label="ti.platforms.evm6670|not found"style=rounded, ];
+ ti_sysbios -> ti_platforms_evm6670;
+ ti_catalog_arp32 [shape=record,label="ti.catalog.arp32|not found"style=rounded, ];
+ ti_sysbios -> ti_catalog_arp32;
+ ti_platforms_simArctic [shape=record,label="ti.platforms.simArctic|not found"style=rounded, ];
+ ti_sysbios -> ti_platforms_simArctic;
+ ti_targets_elf_arp32_rts [shape=record,label="ti.targets.elf.arp32.rts|not found"style=rounded, ];
+ ti_sysbios -> ti_targets_elf_arp32_rts;
+ ti_catalog_arm [shape=record,label="ti.catalog.arm|1, 0, 1", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_arm;
+ ti_platforms_expOMAPL138 [shape=record,label="ti.platforms.expOMAPL138|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\expOMAPL138\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_expOMAPL138;
+ ti_targets_arm_rtsarm [shape=record,label="ti.targets.arm.rtsarm|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\targets\arm\rtsarm\package/package.rel.svg"];
+ ti_sysbios -> ti_targets_arm_rtsarm;
+ ti_catalog_arm_cortexa8 [shape=record,label="ti.catalog.arm.cortexa8|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\cortexa8\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_arm_cortexa8;
+ ti_platforms_sdp3430 [shape=record,label="ti.platforms.sdp3430|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\sdp3430\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_sdp3430;
+ ti_catalog_arm_cortexm3_lm3init [shape=record,label="ti.catalog.arm.cortexm3.lm3init|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\cortexm3\lm3init\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_arm_cortexm3_lm3init;
+ ti_platforms_evmLM3S8962 [shape=record,label="ti.platforms.evmLM3S8962|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evmLM3S8962\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evmLM3S8962;
+ ti_catalog_arm_cortexr4 [shape=record,label="ti.catalog.arm.cortexr4|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\cortexr4\package/package.rel.svg"];
+ ti_sysbios -> ti_catalog_arm_cortexr4;
+ ti_platforms_evmTMS570LS20216 [shape=record,label="ti.platforms.evmTMS570LS20216|1, 0, 1, 1", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\platforms\evmTMS570LS20216\package/package.rel.svg"];
+ ti_sysbios -> ti_platforms_evmTMS570LS20216;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evmTMS570LS20216 -> ti_catalog_arm_cortexr4;
+ ti_platforms_evmTMS570LS20216 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evmTMS570LS20216 -> xdc_services_intern_cmd;
+ ti_platforms_evmTMS570LS20216 -> ti_catalog_arm_cortexr4;
+ ti_platforms_evmTMS570LS20216 -> xdc_platform;
+ ti_platforms_evmTMS570LS20216 -> gnu_targets;
+ ti_platforms_evmTMS570LS20216 -> ti_targets_arm;
+ ti_platforms_evmTMS570LS20216 -> gnu_targets_arm;
+ ti_platforms_evmTMS570LS20216 -> xdc_services_intern_gen;
+ ti_platforms_evmTMS570LS20216 -> ti_targets_elf;
+ ti_platforms_evmTMS570LS20216 -> xdc_shelf;
+ ti_platforms_evmTMS570LS20216 -> xdc_services_spec;
+ ti_platforms_evmTMS570LS20216 -> microsoft_targets;
+ ti_platforms_evmTMS570LS20216 -> xdc_services_intern_xsr;
+ ti_platforms_evmTMS570LS20216 -> ti_targets_arm_elf;
+ ti_platforms_evmTMS570LS20216 -> xdc_services_global;
+ ti_platforms_evmTMS570LS20216 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_arm_cortexr4 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_cortexr4 -> xdc_services_intern_cmd;
+ ti_catalog_arm_cortexr4 -> xdc_platform;
+ ti_catalog_arm_cortexr4 -> gnu_targets;
+ ti_catalog_arm_cortexr4 -> ti_targets_arm;
+ ti_catalog_arm_cortexr4 -> gnu_targets_arm;
+ ti_catalog_arm_cortexr4 -> xdc_services_intern_gen;
+ ti_catalog_arm_cortexr4 -> ti_targets_elf;
+ ti_catalog_arm_cortexr4 -> xdc_shelf;
+ ti_catalog_arm_cortexr4 -> xdc_services_spec;
+ ti_catalog_arm_cortexr4 -> microsoft_targets;
+ ti_catalog [shape=record,label="ti.catalog|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\package/package.rel.svg"];
+ ti_catalog_arm_cortexr4 -> ti_catalog;
+ ti_catalog_arm_cortexr4 -> xdc_services_intern_xsr;
+ ti_catalog_arm_cortexr4 -> ti_targets_arm_elf;
+ ti_catalog_arm_cortexr4 -> xdc_services_global;
+ ti_catalog_arm_cortexr4 -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog -> xdc_services_intern_gen;
+ ti_catalog -> ti_targets;
+ ti_catalog -> xdc_services_spec;
+ ti_catalog -> microsoft_targets;
+ ti_catalog -> ti_targets_elf;
+ ti_catalog -> ti_targets_arm_elf;
+ ti_catalog -> gnu_targets_arm;
+ ti_catalog -> xdc_shelf;
+ ti_catalog -> ti_targets_arm;
+ ti_catalog -> xdc_services_global;
+ ti_catalog -> xdc_services_intern_cmd;
+ ti_catalog -> xdc_services_intern_xsr;
+ ti_catalog -> xdc_platform;
+ ti_catalog -> gnu_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evmLM3S8962 -> ti_catalog_c6000;
+ ti_platforms_evmLM3S8962 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evmLM3S8962 -> xdc_services_intern_cmd;
+ ti_platforms_evmLM3S8962 -> ti_catalog_c6000;
+ ti_platforms_evmLM3S8962 -> xdc_platform;
+ ti_platforms_evmLM3S8962 -> gnu_targets;
+ ti_platforms_evmLM3S8962 -> ti_targets_arm;
+ ti_platforms_evmLM3S8962 -> gnu_targets_arm;
+ ti_platforms_evmLM3S8962 -> xdc_services_intern_gen;
+ ti_platforms_evmLM3S8962 -> ti_targets_elf;
+ ti_platforms_evmLM3S8962 -> ti_catalog_arm_cortexm3_lm3init;
+ ti_platforms_evmLM3S8962 -> xdc_shelf;
+ ti_platforms_evmLM3S8962 -> xdc_services_spec;
+ ti_platforms_evmLM3S8962 -> microsoft_targets;
+ ti_platforms_evmLM3S8962 -> xdc_services_intern_xsr;
+ ti_platforms_evmLM3S8962 -> ti_targets_arm_elf;
+ ti_platforms_evmLM3S8962 -> xdc_services_global;
+ ti_platforms_evmLM3S8962 -> xdc_rov;
+ ti_platforms_evmLM3S8962 -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_cortexm3_lm3init -> xdc_services_intern_cmd;
+ ti_catalog_arm_cortexm3_lm3init -> gnu_targets;
+ ti_catalog_arm_cortexm3_lm3init -> ti_targets_arm;
+ ti_catalog_arm_cortexm3_lm3init -> gnu_targets_arm;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_services_intern_gen;
+ ti_catalog_arm_cortexm3_lm3init -> ti_targets_elf;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_shelf;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_services_spec;
+ ti_catalog_arm_cortexm3_lm3init -> microsoft_targets;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_services_intern_xsr;
+ ti_catalog_arm_cortexm3_lm3init -> ti_targets_arm_elf;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_services_global;
+ ti_catalog_arm_cortexm3_lm3init -> xdc_rov;
+ ti_catalog_arm_cortexm3_lm3init -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_sdp3430 -> ti_catalog_c6000;
+ ti_platforms_sdp3430 -> ti_catalog_arm_cortexa8;
+ ti_platforms_sdp3430 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_sdp3430 -> xdc_services_intern_cmd;
+ ti_platforms_sdp3430 -> ti_catalog_arm_cortexa8;
+ ti_platforms_sdp3430 -> ti_catalog_c6000;
+ ti_platforms_sdp3430 -> xdc_platform;
+ ti_platforms_sdp3430 -> gnu_targets;
+ ti_platforms_sdp3430 -> ti_targets_arm;
+ ti_platforms_sdp3430 -> gnu_targets_arm;
+ ti_platforms_sdp3430 -> xdc_services_intern_gen;
+ ti_platforms_sdp3430 -> ti_targets_elf;
+ ti_platforms_sdp3430 -> xdc_shelf;
+ ti_platforms_sdp3430 -> xdc_services_spec;
+ ti_platforms_sdp3430 -> microsoft_targets;
+ ti_platforms_sdp3430 -> xdc_services_intern_xsr;
+ ti_platforms_sdp3430 -> ti_targets_arm_elf;
+ ti_platforms_sdp3430 -> xdc_services_global;
+ ti_platforms_sdp3430 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_arm_cortexa8 -> xdc_platform;
+ ti_catalog_peripherals_hdvicp2 [shape=record,label="ti.catalog.peripherals.hdvicp2|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\peripherals\hdvicp2\package/package.rel.svg"];
+ ti_catalog_arm_cortexa8 -> ti_catalog_peripherals_hdvicp2;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_cortexa8 -> xdc_services_intern_cmd;
+ ti_catalog_arm_cortexa8 -> xdc_platform;
+ ti_catalog_arm_cortexa8 -> gnu_targets;
+ ti_catalog_arm_cortexa8 -> ti_targets_arm;
+ ti_catalog_arm_cortexa8 -> gnu_targets_arm;
+ ti_catalog_arm_cortexa8 -> xdc_services_intern_gen;
+ ti_catalog_arm_cortexa8 -> ti_catalog_peripherals_hdvicp2;
+ ti_catalog_arm_cortexa8 -> ti_targets_elf;
+ ti_catalog_arm_cortexa8 -> xdc_shelf;
+ ti_catalog_arm_cortexa8 -> xdc_services_spec;
+ ti_catalog_arm_cortexa8 -> microsoft_targets;
+ ti_catalog_arm_cortexa8 -> ti_catalog;
+ ti_catalog_arm_cortexa8 -> xdc_services_intern_xsr;
+ ti_catalog_arm_cortexa8 -> ti_targets_arm_elf;
+ ti_catalog_arm_cortexa8 -> xdc_services_global;
+ ti_catalog_arm_cortexa8 -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_peripherals_hdvicp2 -> xdc_services_intern_gen;
+ ti_catalog_peripherals_hdvicp2 -> ti_targets;
+ ti_catalog_peripherals_hdvicp2 -> xdc_services_spec;
+ ti_catalog_peripherals_hdvicp2 -> microsoft_targets;
+ ti_catalog_peripherals_hdvicp2 -> ti_targets_elf;
+ ti_catalog_peripherals_hdvicp2 -> ti_targets_arm_elf;
+ ti_catalog_peripherals_hdvicp2 -> gnu_targets_arm;
+ ti_catalog_peripherals_hdvicp2 -> xdc_shelf;
+ ti_catalog_peripherals_hdvicp2 -> ti_targets_arm;
+ ti_catalog_peripherals_hdvicp2 -> xdc_services_global;
+ ti_catalog_peripherals_hdvicp2 -> xdc_services_intern_cmd;
+ ti_catalog_peripherals_hdvicp2 -> xdc_services_intern_xsr;
+ ti_catalog_peripherals_hdvicp2 -> xdc_platform;
+ ti_catalog_peripherals_hdvicp2 -> gnu_targets;
+
+ edge [style=solid, color=blue]
+ ti_targets_arm_rtsarm -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_arm_rtsarm -> xdc_services_intern_gen;
+ ti_targets_arm_rtsarm -> gnu_targets_arm;
+ ti_targets_arm_rtsarm -> xdc_shelf;
+ ti_targets_arm_rtsarm -> xdc_services_intern_xsr;
+ microsoft_targets_arm [shape=record,label="microsoft.targets.arm|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\microsoft\targets\arm\package/package.rel.svg"];
+ ti_targets_arm_rtsarm -> microsoft_targets_arm;
+ ti_targets_arm_rtsarm -> gnu_targets;
+ ti_targets_arm_rtsarm -> ti_targets;
+ ti_targets_arm_rtsarm -> xdc_services_global;
+ ti_targets_arm_rtsarm -> xdc_services_intern_cmd;
+ ti_targets_arm_rtsarm -> ti_targets_arm;
+ ti_targets_arm_rtsarm -> xdc_runtime;
+ ti_targets_arm_rtsarm -> ti_targets_elf;
+ ti_targets_arm_rtsarm -> microsoft_targets;
+ ti_targets_arm_rtsarm -> xdc_runtime_knl;
+ ti_targets_arm_rtsarm -> ti_targets_arm_elf;
+ ti_targets_arm_rtsarm -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+ microsoft_targets_arm -> microsoft_targets;
+
+ edge [style=solid, color=lightgrey]
+ microsoft_targets_arm -> xdc_services_global;
+ microsoft_targets_arm -> xdc_services_intern_cmd;
+ microsoft_targets_arm -> xdc_services_intern_xsr;
+ microsoft_targets_arm -> xdc_services_spec;
+ microsoft_targets_arm -> xdc_shelf;
+ microsoft_targets_arm -> xdc_services_intern_gen;
+ microsoft_targets_arm -> microsoft_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_expOMAPL138 -> ti_catalog_c6000;
+ ti_platforms_expOMAPL138 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_expOMAPL138 -> xdc_services_intern_cmd;
+ ti_platforms_expOMAPL138 -> ti_catalog_c6000;
+ ti_platforms_expOMAPL138 -> xdc_platform;
+ ti_platforms_expOMAPL138 -> gnu_targets;
+ ti_platforms_expOMAPL138 -> ti_targets_arm;
+ ti_platforms_expOMAPL138 -> gnu_targets_arm;
+ ti_platforms_expOMAPL138 -> xdc_services_intern_gen;
+ ti_platforms_expOMAPL138 -> ti_targets_elf;
+ ti_platforms_expOMAPL138 -> xdc_shelf;
+ ti_platforms_expOMAPL138 -> xdc_services_spec;
+ ti_platforms_expOMAPL138 -> microsoft_targets;
+ ti_platforms_expOMAPL138 -> xdc_services_intern_xsr;
+ ti_platforms_expOMAPL138 -> ti_targets_arm_elf;
+ ti_platforms_expOMAPL138 -> xdc_services_global;
+ ti_platforms_expOMAPL138 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_arm -> xdc_platform;
+ ti_catalog_arm_peripherals_timers [shape=record,label="ti.catalog.arm.peripherals.timers|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\peripherals\timers\package/package.rel.svg"];
+ ti_catalog_arm -> ti_catalog_arm_peripherals_timers;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm -> xdc_services_intern_cmd;
+ ti_catalog_arm -> xdc_platform;
+ ti_catalog_arm -> ti_catalog_arm_peripherals_timers;
+ ti_catalog_arm -> gnu_targets;
+ ti_catalog_arm -> ti_targets_arm;
+ ti_catalog_arm -> gnu_targets_arm;
+ ti_catalog_arm -> xdc_services_intern_gen;
+ ti_catalog_arm -> ti_targets_elf;
+ ti_catalog_arm -> xdc_shelf;
+ ti_catalog_arm -> xdc_services_spec;
+ ti_catalog_arm -> microsoft_targets;
+ ti_catalog_arm -> ti_catalog;
+ ti_catalog_arm -> xdc_services_intern_xsr;
+ ti_catalog_arm -> ti_targets_arm_elf;
+ ti_catalog_arm -> xdc_services_global;
+ ti_catalog_arm -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_peripherals_timers -> xdc_services_intern_gen;
+ ti_catalog_arm_peripherals_timers -> ti_targets;
+ ti_catalog_arm_peripherals_timers -> xdc_services_spec;
+ ti_catalog_arm_peripherals_timers -> microsoft_targets;
+ ti_catalog_arm_peripherals_timers -> ti_targets_elf;
+ ti_catalog_arm_peripherals_timers -> ti_targets_arm_elf;
+ ti_catalog_arm_peripherals_timers -> gnu_targets_arm;
+ ti_catalog_arm_peripherals_timers -> xdc_shelf;
+ ti_catalog_arm_peripherals_timers -> ti_targets_arm;
+ ti_catalog_arm_peripherals_timers -> xdc_services_global;
+ ti_catalog_arm_peripherals_timers -> xdc_services_intern_cmd;
+ ti_catalog_arm_peripherals_timers -> xdc_services_intern_xsr;
+ ti_catalog_arm_peripherals_timers -> xdc_platform;
+ ti_catalog_arm_peripherals_timers -> gnu_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+ ti_platforms_sdp4430 -> ti_catalog_c6000;
+ ti_platforms_sdp4430 -> ti_catalog_arm_cortexm3;
+ ti_platforms_sdp4430 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_sdp4430 -> xdc_services_intern_cmd;
+ ti_platforms_sdp4430 -> ti_catalog_c6000;
+ ti_platforms_sdp4430 -> ti_catalog_arm_cortexm3;
+ ti_platforms_sdp4430 -> xdc_platform;
+ ti_platforms_sdp4430 -> gnu_targets;
+ ti_platforms_sdp4430 -> ti_targets_arm;
+ ti_platforms_sdp4430 -> gnu_targets_arm;
+ ti_platforms_sdp4430 -> xdc_services_intern_gen;
+ ti_platforms_sdp4430 -> ti_targets_elf;
+ ti_platforms_sdp4430 -> xdc_shelf;
+ ti_platforms_sdp4430 -> xdc_services_spec;
+ ti_platforms_sdp4430 -> microsoft_targets;
+ ti_platforms_sdp4430 -> xdc_services_intern_xsr;
+ ti_platforms_sdp4430 -> ti_targets_arm_elf;
+ ti_platforms_sdp4430 -> xdc_services_global;
+ ti_platforms_sdp4430 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_arm_cortexm3 -> xdc_platform;
+ ti_catalog_arm_cortexm3 -> ti_catalog_peripherals_hdvicp2;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_cortexm3 -> xdc_services_intern_cmd;
+ ti_catalog_arm_cortexm3 -> xdc_platform;
+ ti_catalog_arm_cortexm3 -> ti_catalog_arm_peripherals_timers;
+ ti_catalog_arm_cortexm3 -> gnu_targets;
+ ti_catalog_arm_cortexm3 -> ti_targets_arm;
+ ti_catalog_arm_cortexm3 -> gnu_targets_arm;
+ ti_catalog_arm_cortexm3 -> xdc_services_intern_gen;
+ ti_catalog_arm_cortexm3 -> ti_catalog_peripherals_hdvicp2;
+ ti_catalog_arm_cortexm3 -> ti_targets_elf;
+ ti_catalog_arm_cortexm3 -> xdc_shelf;
+ ti_catalog_arm_cortexm3 -> xdc_services_spec;
+ ti_catalog_arm_cortexm3 -> microsoft_targets;
+ ti_catalog_arm_cortexm3 -> ti_catalog;
+ ti_catalog_arm_cortexm3 -> xdc_services_intern_xsr;
+ ti_catalog_arm_cortexm3 -> ti_targets_arm_elf;
+ ti_catalog_arm_cortexm3 -> xdc_services_global;
+ ti_catalog_arm_cortexm3 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_padk6727 -> ti_catalog_c6000;
+ ti_platforms_padk6727 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_padk6727 -> xdc_services_intern_cmd;
+ ti_platforms_padk6727 -> ti_catalog_c6000;
+ ti_platforms_padk6727 -> xdc_platform;
+ ti_platforms_padk6727 -> gnu_targets;
+ ti_platforms_padk6727 -> ti_targets_arm;
+ ti_platforms_padk6727 -> gnu_targets_arm;
+ ti_platforms_padk6727 -> xdc_services_intern_gen;
+ ti_platforms_padk6727 -> ti_targets_elf;
+ ti_platforms_padk6727 -> xdc_shelf;
+ ti_platforms_padk6727 -> xdc_services_spec;
+ ti_platforms_padk6727 -> microsoft_targets;
+ ti_platforms_padk6727 -> xdc_services_intern_xsr;
+ ti_platforms_padk6727 -> ti_targets_arm_elf;
+ ti_platforms_padk6727 -> xdc_services_global;
+ ti_platforms_padk6727 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evm6472 -> ti_catalog_c6000;
+ ti_platforms_evm6472 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evm6472 -> xdc_services_intern_cmd;
+ ti_platforms_evm6472 -> ti_catalog_c6000;
+ ti_platforms_evm6472 -> xdc_platform;
+ ti_platforms_evm6472 -> gnu_targets;
+ ti_platforms_evm6472 -> ti_targets_arm;
+ ti_platforms_evm6472 -> gnu_targets_arm;
+ ti_platforms_evm6472 -> xdc_services_intern_gen;
+ ti_platforms_evm6472 -> ti_targets_elf;
+ ti_platforms_evm6472 -> xdc_shelf;
+ ti_platforms_evm6472 -> xdc_services_spec;
+ ti_platforms_evm6472 -> microsoft_targets;
+ ti_platforms_evm6472 -> xdc_services_intern_xsr;
+ ti_platforms_evm6472 -> ti_targets_arm_elf;
+ ti_platforms_evm6472 -> xdc_services_global;
+ ti_platforms_evm6472 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_targets_msp430_rts430 -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_msp430_rts430 -> xdc_services_intern_gen;
+ ti_targets_msp430_rts430 -> ti_targets_msp430;
+ ti_targets_msp430_rts430 -> xdc_services_spec;
+ ti_targets_msp430_rts430 -> xdc_shelf;
+ ti_targets_msp430_rts430 -> xdc_services_global;
+ ti_targets_msp430_rts430 -> xdc_services_intern_cmd;
+ ti_targets_msp430_rts430 -> xdc_services_intern_xsr;
+ ti_targets_msp430_rts430 -> xdc_runtime_knl;
+ ti_targets_msp430_rts430 -> xdc_runtime;
+ ti_targets_msp430_rts430 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_exp430F5438 -> ti_catalog_msp430;
+ ti_platforms_exp430F5438 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_exp430F5438 -> xdc_services_intern_gen;
+ ti_platforms_exp430F5438 -> xdc_services_spec;
+ ti_platforms_exp430F5438 -> xdc_shelf;
+ ti_platforms_exp430F5438 -> xdc_platform;
+ ti_platforms_exp430F5438 -> xdc_services_global;
+ ti_platforms_exp430F5438 -> xdc_services_intern_cmd;
+ ti_platforms_exp430F5438 -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430_peripherals_watchdog -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_watchdog -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_watchdog -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_shelf;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_platform;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_services_global;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_watchdog -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_watchdog -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_watchdog -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430_peripherals_timer -> ti_catalog_msp430_peripherals_clock;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_timer -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_timer -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_timer -> xdc_shelf;
+ ti_catalog_msp430_peripherals_timer -> xdc_platform;
+ ti_catalog_msp430_peripherals_timer -> xdc_services_global;
+ ti_catalog_msp430_peripherals_timer -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_timer -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_timer -> ti_catalog_msp430_peripherals_clock;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_special_function -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_special_function -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_special_function -> xdc_shelf;
+ ti_catalog_msp430_peripherals_special_function -> xdc_platform;
+ ti_catalog_msp430_peripherals_special_function -> xdc_services_global;
+ ti_catalog_msp430_peripherals_special_function -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_special_function -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_oa -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_oa -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_oa -> xdc_shelf;
+ ti_catalog_msp430_peripherals_oa -> xdc_platform;
+ ti_catalog_msp430_peripherals_oa -> xdc_services_global;
+ ti_catalog_msp430_peripherals_oa -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_oa -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_memory -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_memory -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_memory -> xdc_shelf;
+ ti_catalog_msp430_peripherals_memory -> xdc_platform;
+ ti_catalog_msp430_peripherals_memory -> xdc_services_global;
+ ti_catalog_msp430_peripherals_memory -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_memory -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_memory -> ti_catalog_msp430_peripherals_clock;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_gpio -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_gpio -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_gpio -> xdc_shelf;
+ ti_catalog_msp430_peripherals_gpio -> xdc_platform;
+ ti_catalog_msp430_peripherals_gpio -> xdc_services_global;
+ ti_catalog_msp430_peripherals_gpio -> ti_catalog_msp430_peripherals_adc;
+ ti_catalog_msp430_peripherals_gpio -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_gpio -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_gpio -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_gpio -> ti_catalog_msp430_peripherals_timer;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430_peripherals_communication -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_communication -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_communication -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_communication -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_communication -> xdc_shelf;
+ ti_catalog_msp430_peripherals_communication -> xdc_platform;
+ ti_catalog_msp430_peripherals_communication -> xdc_services_global;
+ ti_catalog_msp430_peripherals_communication -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_communication -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_communication -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_communication -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430_peripherals_clock -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_clock -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_clock -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_clock -> xdc_shelf;
+ ti_catalog_msp430_peripherals_clock -> xdc_platform;
+ ti_catalog_msp430_peripherals_clock -> xdc_services_global;
+ ti_catalog_msp430_peripherals_clock -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_clock -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_clock -> ti_catalog_msp430_peripherals_special_function;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_adc -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_adc -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_adc -> xdc_shelf;
+ ti_catalog_msp430_peripherals_adc -> xdc_platform;
+ ti_catalog_msp430_peripherals_adc -> xdc_services_global;
+ ti_catalog_msp430_peripherals_adc -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_adc -> xdc_services_intern_xsr;
+ ti_catalog_msp430_peripherals_adc -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430_peripherals_adc -> ti_catalog_msp430_peripherals_timer;
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430_init -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_init -> xdc_services_intern_gen;
+ ti_catalog_msp430_init -> ti_targets_msp430;
+ ti_catalog_msp430_init -> xdc_services_spec;
+ ti_catalog_msp430_init -> xdc_shelf;
+ ti_catalog_msp430_init -> xdc_services_global;
+ ti_catalog_msp430_init -> xdc_services_intern_cmd;
+ ti_catalog_msp430_init -> xdc_services_intern_xsr;
+ ti_catalog_msp430_init -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_msp430 -> xdc_platform;
+ ti_catalog_msp430 -> ti_catalog;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_timer;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_adc;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_communication;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_gpio;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_oa;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_special_function;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_watchdog;
+ ti_catalog_msp430_peripherals_interrupt [shape=record,label="ti.catalog.msp430.peripherals.interrupt|", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\msp430\peripherals\interrupt\package/package.rel.svg"];
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_interrupt;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_special_function;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_memory;
+ ti_catalog_msp430 -> xdc_platform;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_clock;
+ ti_catalog_msp430 -> xdc_services_intern_xsr;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_interrupt;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_adc;
+ ti_catalog_msp430 -> xdc_services_intern_cmd;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_communication;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_watchdog;
+ ti_catalog_msp430 -> xdc_services_spec;
+ ti_catalog_msp430 -> xdc_services_global;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_gpio;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_timer;
+ ti_catalog_msp430 -> ti_catalog;
+ ti_catalog_msp430 -> xdc_services_intern_gen;
+ ti_catalog_msp430 -> ti_catalog_msp430_peripherals_oa;
+ ti_catalog_msp430 -> xdc_shelf;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_msp430_peripherals_interrupt -> xdc_services_intern_gen;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_services_spec;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_shelf;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_platform;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_services_global;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_services_intern_cmd;
+ ti_catalog_msp430_peripherals_interrupt -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evmDA830 -> ti_catalog_c6000;
+ ti_platforms_evmDA830 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evmDA830 -> xdc_services_intern_cmd;
+ ti_platforms_evmDA830 -> ti_catalog_c6000;
+ ti_platforms_evmDA830 -> xdc_platform;
+ ti_platforms_evmDA830 -> gnu_targets;
+ ti_platforms_evmDA830 -> ti_targets_arm;
+ ti_platforms_evmDA830 -> gnu_targets_arm;
+ ti_platforms_evmDA830 -> xdc_services_intern_gen;
+ ti_platforms_evmDA830 -> ti_targets_elf;
+ ti_platforms_evmDA830 -> xdc_shelf;
+ ti_platforms_evmDA830 -> xdc_services_spec;
+ ti_platforms_evmDA830 -> microsoft_targets;
+ ti_platforms_evmDA830 -> xdc_services_intern_xsr;
+ ti_platforms_evmDA830 -> ti_targets_arm_elf;
+ ti_platforms_evmDA830 -> xdc_services_global;
+ ti_platforms_evmDA830 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evmDM6437 -> ti_catalog_c6000;
+ ti_platforms_evmDM6437 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evmDM6437 -> xdc_services_intern_cmd;
+ ti_platforms_evmDM6437 -> ti_catalog_c6000;
+ ti_platforms_evmDM6437 -> xdc_platform;
+ ti_platforms_evmDM6437 -> gnu_targets;
+ ti_platforms_evmDM6437 -> ti_targets_arm;
+ ti_platforms_evmDM6437 -> gnu_targets_arm;
+ ti_platforms_evmDM6437 -> xdc_services_intern_gen;
+ ti_platforms_evmDM6437 -> ti_targets_elf;
+ ti_platforms_evmDM6437 -> xdc_shelf;
+ ti_platforms_evmDM6437 -> xdc_services_spec;
+ ti_platforms_evmDM6437 -> microsoft_targets;
+ ti_platforms_evmDM6437 -> xdc_services_intern_xsr;
+ ti_platforms_evmDM6437 -> ti_targets_arm_elf;
+ ti_platforms_evmDM6437 -> xdc_services_global;
+ ti_platforms_evmDM6437 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_evmDM6446 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_evmDM6446 -> xdc_services_intern_gen;
+ ti_platforms_evmDM6446 -> ti_targets;
+ ti_platforms_evmDM6446 -> xdc_services_spec;
+ ti_platforms_evmDM6446 -> microsoft_targets;
+ ti_platforms_evmDM6446 -> ti_targets_elf;
+ ti_platforms_evmDM6446 -> ti_targets_arm_elf;
+ ti_platforms_evmDM6446 -> gnu_targets_arm;
+ ti_platforms_evmDM6446 -> xdc_shelf;
+ ti_platforms_evmDM6446 -> ti_targets_arm;
+ ti_platforms_evmDM6446 -> xdc_services_global;
+ ti_platforms_evmDM6446 -> xdc_services_intern_cmd;
+ ti_platforms_evmDM6446 -> xdc_services_intern_xsr;
+ ti_platforms_evmDM6446 -> xdc_platform;
+ ti_platforms_evmDM6446 -> gnu_targets;
+
+ edge [style=solid, color=blue]
+ ti_targets_rts6000 -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_rts6000 -> xdc_services_intern_gen;
+ ti_targets_rts6000 -> gnu_targets_arm;
+ ti_targets_rts6000 -> xdc_shelf;
+ ti_targets_rts6000 -> xdc_services_intern_xsr;
+ ti_targets_rts6000 -> microsoft_targets_arm;
+ ti_targets_rts6000 -> gnu_targets;
+ ti_targets_rts6000 -> ti_targets;
+ ti_targets_rts6000 -> xdc_services_global;
+ ti_targets_rts6000 -> xdc_services_intern_cmd;
+ ti_targets_rts6000 -> ti_targets_arm;
+ ti_targets_rts6000 -> xdc_runtime;
+ ti_targets_rts6000 -> ti_targets_elf;
+ ti_targets_rts6000 -> microsoft_targets;
+ ti_targets_rts6000 -> xdc_runtime_knl;
+ ti_targets_rts6000 -> ti_targets_arm_elf;
+ ti_targets_rts6000 -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+ ti_platforms_dsk6416 -> ti_catalog_c6000;
+ ti_platforms_dsk6416 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_dsk6416 -> xdc_services_intern_cmd;
+ ti_platforms_dsk6416 -> ti_catalog_c6000;
+ ti_platforms_dsk6416 -> xdc_platform;
+ ti_platforms_dsk6416 -> gnu_targets;
+ ti_platforms_dsk6416 -> ti_targets_arm;
+ ti_platforms_dsk6416 -> gnu_targets_arm;
+ ti_platforms_dsk6416 -> xdc_services_intern_gen;
+ ti_platforms_dsk6416 -> ti_targets_elf;
+ ti_platforms_dsk6416 -> xdc_shelf;
+ ti_platforms_dsk6416 -> xdc_services_spec;
+ ti_platforms_dsk6416 -> microsoft_targets;
+ ti_platforms_dsk6416 -> xdc_services_intern_xsr;
+ ti_platforms_dsk6416 -> ti_targets_arm_elf;
+ ti_platforms_dsk6416 -> xdc_services_global;
+ ti_platforms_dsk6416 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_c6000 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_c6000 -> xdc_services_intern_cmd;
+ ti_catalog_c6000 -> xdc_platform;
+ ti_catalog_c6000 -> gnu_targets;
+ ti_catalog_c6000 -> ti_targets_arm;
+ ti_catalog_c6000 -> gnu_targets_arm;
+ ti_catalog_c6000 -> xdc_services_intern_gen;
+ ti_catalog_c6000 -> ti_catalog_peripherals_hdvicp2;
+ ti_catalog_c6000 -> ti_targets_elf;
+ ti_catalog_c6000 -> xdc_shelf;
+ ti_catalog_c6000 -> xdc_services_spec;
+ ti_catalog_c6000 -> microsoft_targets;
+ ti_catalog_c6000 -> ti_catalog;
+ ti_catalog_c6000 -> xdc_services_intern_xsr;
+ ti_catalog_c6000 -> ti_targets_arm_elf;
+ ti_catalog_c6000 -> xdc_services_global;
+ ti_catalog_c6000 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_platforms_ezdsp28335 -> ti_catalog_c2800;
+ ti_platforms_ezdsp28335 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_ezdsp28335 -> xdc_services_intern_cmd;
+ ti_platforms_ezdsp28335 -> ti_catalog_c2800_init;
+ ti_platforms_ezdsp28335 -> xdc_platform;
+ ti_platforms_ezdsp28335 -> ti_catalog_c2800;
+ ti_platforms_ezdsp28335 -> gnu_targets;
+ ti_platforms_ezdsp28335 -> ti_targets_arm;
+ ti_platforms_ezdsp28335 -> gnu_targets_arm;
+ ti_platforms_ezdsp28335 -> xdc_services_intern_gen;
+ ti_platforms_ezdsp28335 -> ti_targets_elf;
+ ti_platforms_ezdsp28335 -> xdc_shelf;
+ ti_platforms_ezdsp28335 -> xdc_services_spec;
+ ti_platforms_ezdsp28335 -> microsoft_targets;
+ ti_platforms_ezdsp28335 -> xdc_services_intern_xsr;
+ ti_platforms_ezdsp28335 -> ti_targets_arm_elf;
+ ti_platforms_ezdsp28335 -> xdc_services_global;
+ ti_platforms_ezdsp28335 -> xdc_rov;
+ ti_platforms_ezdsp28335 -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_io -> xdc_runtime;
+ xdc_services_io -> xdc_utils_tconf;
+ microsoft_targets_rts [shape=record,label="microsoft.targets.rts|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\microsoft\targets\rts\package/package.rel.svg"];
+ xdc_services_io -> microsoft_targets_rts;
+ xdc_services_io -> microsoft_targets;
+ xdc_services_io -> xdc_services_global;
+ xdc_services_io -> xdc_rov;
+ xdc_services_io -> xdc_shelf;
+ xdc_services_io -> xdc_services_intern_gen;
+ xdc_services_io -> xdc_services_spec;
+ xdc_services_io -> xdc_platform;
+ xdc_services_io -> xdc_cfg;
+ xdc_services_io -> gnu_targets;
+ xdc_services_io -> xdc_services_intern_xsr;
+ xdc_corevers [shape=record,label="xdc.corevers|16, 0, 2, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\corevers\package/package.rel.svg"];
+ xdc_services_io -> xdc_corevers;
+ host_platforms_PC [shape=record,label="host.platforms.PC|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\host\platforms\PC\package/package.rel.svg"];
+ xdc_services_io -> host_platforms_PC;
+ xdc_services_io -> xdc_services_intern_cmd;
+
+ edge [style=solid, color=blue]
+ host_platforms_PC -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ host_platforms_PC -> xdc_services_spec;
+ host_platforms_PC -> gnu_targets;
+ host_platforms_PC -> xdc_services_intern_cmd;
+ host_platforms_PC -> xdc_utils_tconf;
+ host_platforms_PC -> xdc_services_intern_xsr;
+ host_platforms_PC -> xdc_platform;
+ host_platforms_PC -> xdc_shelf;
+ host_platforms_PC -> xdc_services_intern_gen;
+ host_platforms_PC -> xdc_services_global;
+ host_platforms_PC -> microsoft_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_corevers -> xdc_services_spec;
+ xdc_corevers -> xdc_services_intern_cmd;
+ xdc_corevers -> xdc_utils_tconf;
+ xdc_corevers -> xdc_services_intern_xsr;
+ xdc_corevers -> xdc_shelf;
+ xdc_corevers -> xdc_services_intern_gen;
+ xdc_corevers -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ microsoft_targets_rts -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ microsoft_targets_rts -> xdc_services_intern_gen;
+ microsoft_targets_rts -> gnu_targets_arm;
+ microsoft_targets_rts -> xdc_shelf;
+ microsoft_targets_rts -> xdc_services_intern_xsr;
+ microsoft_targets_rts -> microsoft_targets_arm;
+ microsoft_targets_rts -> gnu_targets;
+ microsoft_targets_rts -> ti_targets;
+ microsoft_targets_rts -> xdc_services_global;
+ microsoft_targets_rts -> xdc_services_intern_cmd;
+ microsoft_targets_rts -> ti_targets_arm;
+ microsoft_targets_rts -> xdc_runtime;
+ microsoft_targets_rts -> ti_targets_elf;
+ microsoft_targets_rts -> microsoft_targets;
+ microsoft_targets_rts -> xdc_runtime_knl;
+ microsoft_targets_rts -> ti_targets_arm_elf;
+ microsoft_targets_rts -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_getset -> xdc_services_spec;
+ xdc_services_getset -> xdc_services_intern_cmd;
+ xdc_services_getset -> xdc_utils_tconf;
+ xdc_services_getset -> xdc_services_intern_xsr;
+ xdc_services_getset -> xdc_shelf;
+ xdc_services_getset -> xdc_services_intern_gen;
+ xdc_services_getset -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_rov -> xdc_services_spec;
+ xdc_rov -> gnu_targets;
+ xdc_rov -> xdc_services_intern_cmd;
+ xdc_rov -> xdc_utils_tconf;
+ xdc_rov -> xdc_services_intern_xsr;
+ xdc_rov -> xdc_shelf;
+ xdc_rov -> xdc_services_intern_gen;
+ xdc_rov -> xdc_services_global;
+ xdc_rov -> microsoft_targets;
+
+ edge [style=solid, color=blue]
+ ti_targets_rts2800 -> xdc_runtime;
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_rts2800 -> xdc_services_intern_gen;
+ ti_targets_rts2800 -> gnu_targets_arm;
+ ti_targets_rts2800 -> xdc_shelf;
+ ti_targets_rts2800 -> xdc_services_intern_xsr;
+ ti_targets_rts2800 -> microsoft_targets_arm;
+ ti_targets_rts2800 -> gnu_targets;
+ ti_targets_rts2800 -> ti_targets;
+ ti_targets_rts2800 -> xdc_services_global;
+ ti_targets_rts2800 -> xdc_services_intern_cmd;
+ ti_targets_rts2800 -> ti_targets_arm;
+ ti_targets_rts2800 -> xdc_runtime;
+ ti_targets_rts2800 -> ti_targets_elf;
+ ti_targets_rts2800 -> microsoft_targets;
+ ti_targets_rts2800 -> xdc_runtime_knl;
+ ti_targets_rts2800 -> ti_targets_arm_elf;
+ ti_targets_rts2800 -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+ ti_platforms_ezdsp28235 -> ti_catalog_c2800;
+ ti_platforms_ezdsp28235 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_platforms_ezdsp28235 -> xdc_services_intern_cmd;
+ ti_platforms_ezdsp28235 -> ti_catalog_c2800_init;
+ ti_platforms_ezdsp28235 -> xdc_platform;
+ ti_platforms_ezdsp28235 -> ti_catalog_c2800;
+ ti_platforms_ezdsp28235 -> gnu_targets;
+ ti_platforms_ezdsp28235 -> ti_targets_arm;
+ ti_platforms_ezdsp28235 -> gnu_targets_arm;
+ ti_platforms_ezdsp28235 -> xdc_services_intern_gen;
+ ti_platforms_ezdsp28235 -> ti_targets_elf;
+ ti_platforms_ezdsp28235 -> xdc_shelf;
+ ti_platforms_ezdsp28235 -> xdc_services_spec;
+ ti_platforms_ezdsp28235 -> microsoft_targets;
+ ti_platforms_ezdsp28235 -> xdc_services_intern_xsr;
+ ti_platforms_ezdsp28235 -> ti_targets_arm_elf;
+ ti_platforms_ezdsp28235 -> xdc_services_global;
+ ti_platforms_ezdsp28235 -> xdc_rov;
+ ti_platforms_ezdsp28235 -> ti_targets;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_c2800_init -> xdc_services_intern_cmd;
+ ti_catalog_c2800_init -> gnu_targets;
+ ti_catalog_c2800_init -> ti_targets_arm;
+ ti_catalog_c2800_init -> gnu_targets_arm;
+ ti_catalog_c2800_init -> xdc_services_intern_gen;
+ ti_catalog_c2800_init -> ti_targets_elf;
+ ti_catalog_c2800_init -> xdc_shelf;
+ ti_catalog_c2800_init -> xdc_services_spec;
+ ti_catalog_c2800_init -> microsoft_targets;
+ ti_catalog_c2800_init -> xdc_services_intern_xsr;
+ ti_catalog_c2800_init -> ti_targets_arm_elf;
+ ti_catalog_c2800_init -> xdc_services_global;
+ ti_catalog_c2800_init -> xdc_rov;
+ ti_catalog_c2800_init -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_catalog_c2800 -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_c2800 -> xdc_services_intern_cmd;
+ ti_catalog_c2800 -> xdc_platform;
+ ti_catalog_c2800 -> gnu_targets;
+ ti_catalog_c2800 -> ti_targets_arm;
+ ti_catalog_c2800 -> gnu_targets_arm;
+ ti_catalog_c2800 -> xdc_services_intern_gen;
+ ti_catalog_c2800 -> ti_targets_elf;
+ ti_catalog_c2800 -> xdc_shelf;
+ ti_catalog_c2800 -> xdc_services_spec;
+ ti_catalog_c2800 -> microsoft_targets;
+ ti_catalog_c2800 -> ti_catalog;
+ ti_catalog_c2800 -> xdc_services_intern_xsr;
+ ti_catalog_c2800 -> ti_targets_arm_elf;
+ ti_catalog_c2800 -> xdc_services_global;
+ ti_catalog_c2800 -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family_c28 -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family_c28 -> xdc_services_global;
+ ti_sysbios_family_c28 -> ti_targets;
+ ti_sysbios_family_c28 -> ti_targets_msp430;
+ ti_sysbios_family_c28 -> ti_targets_elf_arp32;
+ ti_sysbios_family_c28 -> ti_targets_elf;
+ ti_sysbios_family_c28 -> ti_targets_arm;
+ ti_sysbios_family_c28 -> ti_targets_arm_elf;
+ ti_sysbios_family_c28 -> gnu_targets;
+ ti_sysbios_family_c28 -> microsoft_targets;
+ ti_sysbios_family_c28 -> ti_sysbios_build;
+ ti_sysbios_family_c28 -> tisb_release_filters;
+ ti_sysbios_family_c28 -> xdc_runtime;
+ ti_sysbios_family_c28 -> ti_sysbios_interfaces;
+ ti_sysbios_family_c28 -> xdc_shelf;
+ ti_sysbios_family_c28 -> xdc_services_intern_gen;
+ ti_sysbios_family_c28 -> xdc_services_intern_cmd;
+ ti_sysbios_family_c28 -> xdc_services_intern_xsr;
+ ti_sysbios_family_c28 -> xdc_services_spec;
+ ti_sysbios_knl [shape=record,label="ti.sysbios.knl|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\knl\package/package.rel.svg"];
+ ti_sysbios_family_c28 -> ti_sysbios_knl;
+ ti_sysbios_family_c28 -> ti_sysbios_hal;
+ ti_sysbios_family_c28 -> ti_sysbios;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_knl -> ti_sysbios_interfaces;
+ ti_sysbios_knl -> ti_sysbios_family;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_knl -> xdc_services_global;
+ ti_sysbios_knl -> ti_targets;
+ ti_sysbios_knl -> ti_targets_msp430;
+ ti_sysbios_knl -> ti_targets_elf_arp32;
+ ti_sysbios_knl -> ti_targets_elf;
+ ti_sysbios_knl -> ti_targets_arm;
+ ti_sysbios_knl -> ti_targets_arm_elf;
+ ti_sysbios_knl -> gnu_targets;
+ ti_sysbios_knl -> microsoft_targets;
+ ti_sysbios_knl -> ti_sysbios_build;
+ ti_sysbios_knl -> tisb_release_filters;
+ ti_sysbios_knl -> xdc_runtime;
+ ti_sysbios_knl -> ti_sysbios_hal;
+ ti_sysbios_knl -> ti_sysbios_interfaces;
+ ti_sysbios_knl -> xdc_shelf;
+ ti_sysbios_knl -> xdc_services_intern_gen;
+ ti_sysbios_knl -> xdc_services_intern_cmd;
+ ti_sysbios_knl -> xdc_services_intern_xsr;
+ ti_sysbios_knl -> xdc_services_spec;
+ ti_sysbios_knl -> ti_sysbios;
+ ti_sysbios_knl -> ti_sysbios_family_arm_m3;
+ ti_sysbios_knl -> ti_sysbios_family_c28;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family_arm_m3 -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family_arm_m3 -> xdc_services_global;
+ ti_sysbios_family_arm_m3 -> ti_targets;
+ ti_sysbios_family_arm_m3 -> ti_targets_msp430;
+ ti_sysbios_family_arm_m3 -> ti_targets_elf_arp32;
+ ti_sysbios_family_arm_m3 -> ti_targets_elf;
+ ti_sysbios_family_arm_m3 -> ti_targets_arm;
+ ti_sysbios_family_arm_m3 -> ti_targets_arm_elf;
+ ti_sysbios_family_arm_m3 -> gnu_targets;
+ ti_sysbios_family_arm_m3 -> microsoft_targets;
+ ti_sysbios_family_arm_m3 -> ti_sysbios_build;
+ ti_sysbios_family_arm_m3 -> tisb_release_filters;
+ ti_sysbios_family_arm_m3 -> xdc_runtime;
+ ti_sysbios_family_arm_m3 -> ti_sysbios;
+ ti_sysbios_family_arm_m3 -> ti_sysbios_interfaces;
+ ti_sysbios_family_arm_m3 -> xdc_shelf;
+ ti_sysbios_family_arm_m3 -> xdc_services_intern_gen;
+ ti_sysbios_family_arm_m3 -> xdc_services_intern_cmd;
+ ti_sysbios_family_arm_m3 -> xdc_services_intern_xsr;
+ ti_sysbios_family_arm_m3 -> xdc_services_spec;
+ ti_sysbios_family_arm_m3 -> ti_sysbios_knl;
+ ti_sysbios_family_arm_m3 -> ti_sysbios_hal;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_build -> xdc_services_global;
+ ti_sysbios_build -> ti_targets;
+ ti_sysbios_build -> ti_targets_msp430;
+ ti_sysbios_build -> ti_targets_elf_arp32;
+ ti_sysbios_build -> ti_targets_elf;
+ ti_sysbios_build -> ti_targets_arm;
+ ti_sysbios_build -> ti_targets_arm_elf;
+ ti_sysbios_build -> gnu_targets;
+ ti_sysbios_build -> microsoft_targets;
+ ti_sysbios_build -> xdc_shelf;
+ ti_sysbios_build -> xdc_services_intern_gen;
+ ti_sysbios_build -> xdc_services_intern_cmd;
+ ti_sysbios_build -> xdc_services_intern_xsr;
+ ti_sysbios_build -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family -> xdc_services_global;
+ ti_sysbios_family -> ti_targets;
+ ti_sysbios_family -> ti_targets_msp430;
+ ti_sysbios_family -> ti_targets_elf_arp32;
+ ti_sysbios_family -> ti_targets_elf;
+ ti_sysbios_family -> ti_targets_arm;
+ ti_sysbios_family -> ti_targets_arm_elf;
+ ti_sysbios_family -> gnu_targets;
+ ti_sysbios_family -> microsoft_targets;
+ ti_sysbios_family_c64p [shape=record,label="ti.sysbios.family.c64p|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\c64p\package/package.rel.svg"];
+ ti_sysbios_family -> ti_sysbios_family_c64p;
+ ti_sysbios_family -> ti_sysbios_family_c28;
+ ti_sysbios_family_arm [shape=record,label="ti.sysbios.family.arm|2, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\arm\package/package.rel.svg"];
+ ti_sysbios_family -> ti_sysbios_family_arm;
+ ti_sysbios_family -> xdc_platform;
+ ti_sysbios_family -> ti_catalog_arm;
+ ti_sysbios_family -> ti_catalog_arm_cortexm3;
+ ti_catalog_arm_nda [shape=record,label="ti.catalog.arm.nda|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\ti\catalog\arm\nda\package/package.rel.svg"];
+ ti_sysbios_family -> ti_catalog_arm_nda;
+ ti_sysbios_family -> ti_catalog_arm_cortexa8;
+ ti_sysbios_family_msp430 [shape=record,label="ti.sysbios.family.msp430|1, 0, 0, 0", URL="../E:\WriteHere\bios_6_32_01_38\packages\ti\sysbios\family\msp430\package/package.rel.svg"];
+ ti_sysbios_family -> ti_sysbios_family_msp430;
+ ti_sysbios_family -> ti_sysbios_interfaces;
+ ti_sysbios_family -> xdc_shelf;
+ ti_sysbios_family -> xdc_services_intern_gen;
+ ti_sysbios_family -> xdc_services_intern_cmd;
+ ti_sysbios_family -> xdc_services_intern_xsr;
+ ti_sysbios_family -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family_msp430 -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family_msp430 -> xdc_services_global;
+ ti_sysbios_family_msp430 -> ti_targets;
+ ti_sysbios_family_msp430 -> ti_targets_msp430;
+ ti_sysbios_family_msp430 -> ti_targets_elf_arp32;
+ ti_sysbios_family_msp430 -> ti_targets_elf;
+ ti_sysbios_family_msp430 -> ti_targets_arm;
+ ti_sysbios_family_msp430 -> ti_targets_arm_elf;
+ ti_sysbios_family_msp430 -> gnu_targets;
+ ti_sysbios_family_msp430 -> microsoft_targets;
+ ti_sysbios_family_msp430 -> ti_sysbios_build;
+ ti_sysbios_family_msp430 -> tisb_release_filters;
+ ti_sysbios_family_msp430 -> xdc_runtime;
+ ti_sysbios_family_msp430 -> ti_sysbios_interfaces;
+ ti_sysbios_family_msp430 -> xdc_shelf;
+ ti_sysbios_family_msp430 -> xdc_services_intern_gen;
+ ti_sysbios_family_msp430 -> xdc_services_intern_cmd;
+ ti_sysbios_family_msp430 -> xdc_services_intern_xsr;
+ ti_sysbios_family_msp430 -> xdc_services_spec;
+ ti_sysbios_family_msp430 -> ti_sysbios_knl;
+ ti_sysbios_family_msp430 -> ti_sysbios_hal;
+ ti_sysbios_family_msp430 -> ti_sysbios;
+ ti_sysbios_family_msp430 -> ti_catalog_msp430_peripherals_timer;
+ ti_sysbios_family_msp430 -> ti_sysbios_family_arm_m3;
+ ti_sysbios_family_msp430 -> ti_sysbios_family_c28;
+
+ edge [style=solid, color=blue]
+ ti_catalog_arm_nda -> xdc_platform;
+
+ edge [style=solid, color=lightgrey]
+ ti_catalog_arm_nda -> xdc_services_intern_cmd;
+ ti_catalog_arm_nda -> xdc_platform;
+ ti_catalog_arm_nda -> gnu_targets;
+ ti_catalog_arm_nda -> ti_targets_arm;
+ ti_catalog_arm_nda -> gnu_targets_arm;
+ ti_catalog_arm_nda -> xdc_services_intern_gen;
+ ti_catalog_arm_nda -> ti_targets_elf;
+ ti_catalog_arm_nda -> xdc_shelf;
+ ti_catalog_arm_nda -> xdc_services_spec;
+ ti_catalog_arm_nda -> microsoft_targets;
+ ti_catalog_arm_nda -> ti_catalog;
+ ti_catalog_arm_nda -> xdc_services_intern_xsr;
+ ti_catalog_arm_nda -> ti_targets_arm_elf;
+ ti_catalog_arm_nda -> xdc_services_global;
+ ti_catalog_arm_nda -> ti_targets;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family_arm -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family_arm -> xdc_services_global;
+ ti_sysbios_family_arm -> ti_targets;
+ ti_sysbios_family_arm -> ti_targets_msp430;
+ ti_sysbios_family_arm -> ti_targets_elf_arp32;
+ ti_sysbios_family_arm -> ti_targets_elf;
+ ti_sysbios_family_arm -> ti_targets_arm;
+ ti_sysbios_family_arm -> ti_targets_arm_elf;
+ ti_sysbios_family_arm -> gnu_targets;
+ ti_sysbios_family_arm -> microsoft_targets;
+ ti_sysbios_family_arm -> ti_sysbios_build;
+ ti_sysbios_family_arm -> tisb_release_filters;
+ ti_sysbios_family_arm -> ti_sysbios_interfaces;
+ ti_sysbios_family_arm -> xdc_shelf;
+ ti_sysbios_family_arm -> xdc_services_intern_gen;
+ ti_sysbios_family_arm -> xdc_services_intern_cmd;
+ ti_sysbios_family_arm -> xdc_services_intern_xsr;
+ ti_sysbios_family_arm -> xdc_services_spec;
+ ti_sysbios_family_arm -> xdc_runtime;
+ ti_sysbios_family_arm -> ti_sysbios_knl;
+ ti_sysbios_family_arm -> ti_sysbios_hal;
+
+ edge [style=solid, color=blue]
+ ti_sysbios_family_c64p -> ti_sysbios_interfaces;
+
+ edge [style=solid, color=lightgrey]
+ ti_sysbios_family_c64p -> xdc_services_global;
+ ti_sysbios_family_c64p -> ti_targets;
+ ti_sysbios_family_c64p -> ti_targets_msp430;
+ ti_sysbios_family_c64p -> ti_targets_elf_arp32;
+ ti_sysbios_family_c64p -> ti_targets_elf;
+ ti_sysbios_family_c64p -> ti_targets_arm;
+ ti_sysbios_family_c64p -> ti_targets_arm_elf;
+ ti_sysbios_family_c64p -> gnu_targets;
+ ti_sysbios_family_c64p -> microsoft_targets;
+ ti_sysbios_family_c64p -> ti_sysbios_build;
+ ti_sysbios_family_c64p -> tisb_release_filters;
+ ti_sysbios_family_c64p -> ti_sysbios_interfaces;
+ ti_sysbios_family_c64p -> xdc_runtime;
+ ti_sysbios_family_c64p -> xdc_shelf;
+ ti_sysbios_family_c64p -> xdc_services_intern_gen;
+ ti_sysbios_family_c64p -> xdc_services_intern_cmd;
+ ti_sysbios_family_c64p -> xdc_services_intern_xsr;
+ ti_sysbios_family_c64p -> xdc_services_spec;
+ ti_sysbios_family_c64p -> ti_sysbios_knl;
+ ti_sysbios_family_c64p -> ti_sysbios;
+ ti_sysbios_family_c64p -> ti_sysbios_hal;
+ ti_sysbios_family_c64p -> ti_sysbios_family_arm_m3;
+ ti_sysbios_family_c64p -> ti_sysbios_family_c28;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_dman3 -> xdc_services_global;
+ ti_sdo_fc_dman3 -> ti_targets;
+ ti_sdo_fc_dman3 -> ti_targets_elf;
+ ti_sdo_fc_dman3 -> ti_targets_elf_arp32;
+ ti_sdo_fc_dman3 -> gnu_targets;
+ ti_sdo_fc_dman3 -> gnu_targets_arm;
+ ti_sdo_fc_dman3 -> ti_targets_arm;
+ ti_sdo_fc_dman3 -> ti_targets_arm_elf;
+ ti_sdo_fc_dman3 -> build_filter;
+ ti_sdo_fc_dman3 -> xdc_services_intern_cmd;
+ ti_sdo_fc_dman3 -> xdc_services_intern_gen;
+ ti_sdo_fc_dman3 -> xdc_services_intern_xsr;
+ ti_sdo_fc_dman3 -> xdc_shelf;
+ ti_sdo_fc_dman3 -> xdc_services_spec;
+ ti_sdo_fc_dman3 -> xdc_runtime;
+ ti_sdo_fc_dman3 -> ti_xdais;
+ ti_sdo_fc_dman3 -> xdc_runtime_knl;
+ ti_sdo_fc_dman3 -> ti_sdo_fc_utils_osalsupport;
+ ti_sdo_fc_dman3 -> ti_sdo_fc_global;
+ ti_sdo_fc_dman3 -> ti_sdo_utils_trace;
+ ti_sdo_fc_utils_gtinfra [shape=record,label="ti.sdo.fc.utils.gtinfra|1, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\utils\gtinfra\package/package.rel.svg"];
+ ti_sdo_fc_dman3 -> ti_sdo_fc_utils_gtinfra;
+ ti_sdo_fc_edma3 [shape=record,label="ti.sdo.fc.edma3|3, 0, 0", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\fc\edma3\package/package.rel.svg"];
+ ti_sdo_fc_dman3 -> ti_sdo_fc_edma3;
+ ti_sdo_edma3_rm [shape=record,label="ti.sdo.edma3.rm|02, 02, 02", URL="../E:\WriteHere\codec_engine_3_21_00_19\cetools\packages\ti\sdo\edma3\rm\package/package.rel.svg"];
+ ti_sdo_fc_dman3 -> ti_sdo_edma3_rm;
+ ti_sdo_fc_dman3 -> ti_sdo_fc_ires;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_edma3 -> xdc_services_global;
+ ti_sdo_fc_edma3 -> ti_targets;
+ ti_sdo_fc_edma3 -> ti_targets_elf;
+ ti_sdo_fc_edma3 -> ti_targets_elf_arp32;
+ ti_sdo_fc_edma3 -> gnu_targets;
+ ti_sdo_fc_edma3 -> gnu_targets_arm;
+ ti_sdo_fc_edma3 -> ti_targets_arm;
+ ti_sdo_fc_edma3 -> ti_targets_arm_elf;
+ ti_sdo_fc_edma3 -> build_filter;
+ ti_sdo_fc_edma3 -> xdc_services_intern_cmd;
+ ti_sdo_fc_edma3 -> xdc_services_intern_gen;
+ ti_sdo_fc_edma3 -> xdc_services_intern_xsr;
+ ti_sdo_fc_edma3 -> xdc_shelf;
+ ti_sdo_fc_edma3 -> xdc_services_spec;
+ ti_sdo_fc_edma3 -> xdc_runtime;
+ ti_sdo_fc_edma3 -> ti_sysbios_knl;
+ ti_sdo_fc_edma3 -> ti_sysbios_hal;
+ ti_sdo_fc_edma3 -> ti_sdo_fc_global;
+ ti_sdo_fc_edma3 -> ti_xdais;
+ ti_sdo_fc_edma3 -> ti_sdo_edma3_rm;
+ ti_sdo_fc_edma3 -> xdc_runtime_knl;
+ ti_sdo_fc_edma3 -> ti_sdo_fc_utils_osalsupport;
+ ti_sdo_fc_edma3 -> ti_sysbios_interfaces;
+ ti_sdo_fc_edma3 -> ti_sdo_fc_ires;
+ ti_sdo_fc_edma3 -> ti_sysbios_family_arm_m3;
+ ti_sdo_fc_edma3 -> ti_sysbios_family_c28;
+ ti_sdo_fc_edma3 -> ti_sysbios;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_utils_gtinfra -> xdc_services_global;
+ ti_sdo_fc_utils_gtinfra -> ti_targets;
+ ti_sdo_fc_utils_gtinfra -> ti_targets_elf;
+ ti_sdo_fc_utils_gtinfra -> ti_targets_elf_arp32;
+ ti_sdo_fc_utils_gtinfra -> gnu_targets;
+ ti_sdo_fc_utils_gtinfra -> gnu_targets_arm;
+ ti_sdo_fc_utils_gtinfra -> ti_targets_arm;
+ ti_sdo_fc_utils_gtinfra -> ti_targets_arm_elf;
+ ti_sdo_fc_utils_gtinfra -> build_filter;
+ ti_sdo_fc_utils_gtinfra -> xdc_services_intern_cmd;
+ ti_sdo_fc_utils_gtinfra -> xdc_services_intern_gen;
+ ti_sdo_fc_utils_gtinfra -> xdc_services_intern_xsr;
+ ti_sdo_fc_utils_gtinfra -> xdc_shelf;
+ ti_sdo_fc_utils_gtinfra -> xdc_services_spec;
+ ti_sdo_fc_utils_gtinfra -> xdc_runtime;
+ ti_sdo_fc_utils_gtinfra -> xdc_runtime_knl;
+ ti_sdo_fc_utils_gtinfra -> ti_sysbios;
+ ti_sdo_fc_utils_gtinfra -> ti_sysbios_knl;
+ ti_sdo_fc_utils_gtinfra -> ti_sdo_utils_trace;
+ ti_sdo_fc_utils_gtinfra -> ti_sysbios_interfaces;
+ ti_sdo_fc_utils_gtinfra -> ti_sysbios_hal;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_fc_dskt2 -> xdc_services_global;
+ ti_sdo_fc_dskt2 -> ti_targets;
+ ti_sdo_fc_dskt2 -> ti_targets_elf;
+ ti_sdo_fc_dskt2 -> ti_targets_elf_arp32;
+ ti_sdo_fc_dskt2 -> gnu_targets;
+ ti_sdo_fc_dskt2 -> gnu_targets_arm;
+ ti_sdo_fc_dskt2 -> ti_targets_arm;
+ ti_sdo_fc_dskt2 -> ti_targets_arm_elf;
+ ti_sdo_fc_dskt2 -> build_filter;
+ ti_sdo_fc_dskt2 -> xdc_services_intern_cmd;
+ ti_sdo_fc_dskt2 -> xdc_services_intern_gen;
+ ti_sdo_fc_dskt2 -> xdc_services_intern_xsr;
+ ti_sdo_fc_dskt2 -> xdc_shelf;
+ ti_sdo_fc_dskt2 -> xdc_services_spec;
+ ti_sdo_fc_dskt2 -> xdc_runtime;
+ ti_sdo_fc_dskt2 -> ti_xdais;
+ ti_sdo_fc_dskt2 -> ti_sdo_fc_utils_osalsupport;
+ ti_sdo_fc_dskt2 -> ti_sdo_fc_global;
+ ti_sdo_fc_dskt2 -> ti_sdo_fc_utils_gtinfra;
+ ti_sdo_fc_dskt2 -> xdc_runtime_knl;
+ ti_sdo_fc_dskt2 -> ti_sdo_fc_utils;
+ ti_sdo_fc_dskt2 -> ti_sysbios_hal;
+ ti_sdo_fc_dskt2 -> ti_sysbios_interfaces;
+ ti_sdo_fc_dskt2 -> ti_sysbios_knl;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_global -> xdc_services_global;
+ ti_sdo_ce_global -> ti_targets;
+ ti_sdo_ce_global -> ti_targets_elf;
+ ti_sdo_ce_global -> gnu_targets;
+ ti_sdo_ce_global -> gnu_targets_arm;
+ ti_sdo_ce_global -> ti_targets_arm;
+ ti_sdo_ce_global -> ti_targets_arm_elf;
+ ti_sdo_ce_global -> build_filter;
+ ti_sdo_ce_global -> ti_sdo_tools_build;
+ ti_sdo_ce_global -> xdc_services_intern_cmd;
+ ti_sdo_ce_global -> xdc_services_intern_gen;
+ ti_sdo_ce_global -> xdc_services_intern_xsr;
+ ti_sdo_ce_global -> xdc_shelf;
+ ti_sdo_ce_global -> xdc_services_spec;
+ ti_sdo_ce_global -> xdc_runtime;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_osal -> xdc_services_global;
+ ti_sdo_ce_osal -> ti_targets;
+ ti_sdo_ce_osal -> ti_targets_elf;
+ ti_sdo_ce_osal -> gnu_targets;
+ ti_sdo_ce_osal -> gnu_targets_arm;
+ ti_sdo_ce_osal -> ti_targets_arm;
+ ti_sdo_ce_osal -> ti_targets_arm_elf;
+ ti_sdo_ce_osal -> build_filter;
+ ti_sdo_ce_osal -> xdc_services_intern_cmd;
+ ti_sdo_ce_osal -> xdc_services_intern_gen;
+ ti_sdo_ce_osal -> xdc_services_intern_xsr;
+ ti_sdo_ce_osal -> xdc_shelf;
+ ti_sdo_ce_osal -> xdc_services_spec;
+ ti_sdo_ce_osal -> xdc_runtime;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_utils_trace -> xdc_services_global;
+ ti_sdo_utils_trace -> ti_targets;
+ ti_sdo_utils_trace -> ti_targets_elf;
+ ti_sdo_utils_trace -> ti_targets_elf_arp32;
+ ti_sdo_utils_trace -> gnu_targets;
+ ti_sdo_utils_trace -> gnu_targets_arm;
+ ti_sdo_utils_trace -> ti_targets_arm;
+ ti_sdo_utils_trace -> ti_targets_arm_elf;
+ ti_sdo_utils_trace -> build_filter;
+ ti_sdo_utils_trace -> xdc_services_intern_cmd;
+ ti_sdo_utils_trace -> xdc_services_intern_gen;
+ ti_sdo_utils_trace -> xdc_services_intern_xsr;
+ ti_sdo_utils_trace -> xdc_shelf;
+ ti_sdo_utils_trace -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_utils_loggers -> xdc_services_global;
+ ti_sdo_utils_loggers -> ti_targets;
+ ti_sdo_utils_loggers -> ti_targets_elf;
+ ti_sdo_utils_loggers -> ti_targets_arm;
+ ti_sdo_utils_loggers -> ti_targets_arm_elf;
+ ti_sdo_utils_loggers -> gnu_targets;
+ ti_sdo_utils_loggers -> gnu_targets_arm;
+ ti_sdo_utils_loggers -> xdc_runtime;
+ ti_sdo_utils_loggers -> xdc_services_intern_cmd;
+ ti_sdo_utils_loggers -> xdc_services_intern_gen;
+ ti_sdo_utils_loggers -> xdc_services_intern_xsr;
+ ti_sdo_utils_loggers -> xdc_shelf;
+ ti_sdo_utils_loggers -> xdc_services_spec;
+ ti_sdo_utils_loggers -> xdc_runtime_knl;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_xdais -> xdc_services_intern_gen;
+ ti_xdais -> gnu_targets_arm;
+ ti_xdais -> ti_targets_arm_elf;
+ ti_xdais -> ti_targets_elf;
+ ti_xdais -> xdc_shelf;
+ ti_xdais -> ti_targets_arm;
+ ti_xdais -> xdc_services_spec;
+ ti_xdais -> gnu_targets;
+ ti_xdais -> ti_targets;
+ ti_xdais -> microsoft_targets;
+ ti_xdais -> xdc_services_intern_cmd;
+ ti_xdais -> xdc_services_intern_xsr;
+ ti_xdais -> microsoft_targets_arm;
+ ti_xdais -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_runtime_knl -> xdc_utils_tconf;
+ xdc_runtime_knl -> xdc_services_global;
+ xdc_runtime_knl -> xdc_runtime;
+ xdc_runtime_knl -> xdc_shelf;
+ xdc_runtime_knl -> xdc_services_intern_xsr;
+ xdc_runtime_knl -> xdc_services_intern_gen;
+ xdc_runtime_knl -> xdc_services_spec;
+ xdc_runtime_knl -> xdc_services_intern_cmd;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_runtime -> xdc_utils_tconf;
+ xdc_runtime -> xdc_services_global;
+ xdc_runtime -> xdc_rov;
+ xdc_runtime -> xdc_shelf;
+ xdc_runtime -> xdc_services_intern_xsr;
+ xdc_runtime -> xdc_services_intern_gen;
+ xdc_runtime -> xdc_services_spec;
+ xdc_runtime -> xdc_services_intern_cmd;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_ipc -> xdc_services_global;
+ ti_sdo_ce_ipc -> ti_targets;
+ ti_sdo_ce_ipc -> ti_targets_elf;
+ ti_sdo_ce_ipc -> gnu_targets;
+ ti_sdo_ce_ipc -> gnu_targets_arm;
+ ti_sdo_ce_ipc -> ti_targets_arm;
+ ti_sdo_ce_ipc -> ti_targets_arm_elf;
+ ti_sdo_ce_ipc -> build_filter;
+ ti_sdo_ce_ipc -> xdc_services_intern_cmd;
+ ti_sdo_ce_ipc -> xdc_services_intern_gen;
+ ti_sdo_ce_ipc -> xdc_services_intern_xsr;
+ ti_sdo_ce_ipc -> xdc_shelf;
+ ti_sdo_ce_ipc -> xdc_services_spec;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_arm_elf -> xdc_services_global;
+ ti_targets_arm_elf -> ti_targets;
+ ti_targets_arm_elf -> ti_targets_arm;
+ ti_targets_arm_elf -> xdc_services_intern_cmd;
+ ti_targets_arm_elf -> xdc_services_intern_xsr;
+ ti_targets_arm_elf -> xdc_services_spec;
+ ti_targets_arm_elf -> xdc_shelf;
+ ti_targets_arm_elf -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+ ti_targets_arm -> ti_targets;
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_arm -> xdc_services_global;
+ ti_targets_arm -> ti_targets;
+ ti_targets_arm -> xdc_services_intern_cmd;
+ ti_targets_arm -> xdc_services_intern_xsr;
+ ti_targets_arm -> xdc_services_spec;
+ ti_targets_arm -> xdc_shelf;
+ ti_targets_arm -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+ gnu_targets_arm -> gnu_targets;
+
+ edge [style=solid, color=lightgrey]
+ gnu_targets_arm -> xdc_services_global;
+ gnu_targets_arm -> gnu_targets;
+ gnu_targets_arm -> xdc_shelf;
+ gnu_targets_arm -> xdc_services_spec;
+ gnu_targets_arm -> xdc_services_intern_cmd;
+ gnu_targets_arm -> xdc_services_intern_xsr;
+ gnu_targets_arm -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ gnu_targets -> xdc_services_global;
+ gnu_targets -> xdc_shelf;
+ gnu_targets -> xdc_services_spec;
+ gnu_targets -> xdc_services_intern_cmd;
+ gnu_targets -> xdc_services_intern_xsr;
+ gnu_targets -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_targets_elf -> xdc_services_global;
+ ti_targets_elf -> ti_targets;
+ ti_targets_elf -> xdc_services_intern_cmd;
+ ti_targets_elf -> xdc_services_intern_xsr;
+ ti_targets_elf -> xdc_services_spec;
+ ti_targets_elf -> xdc_shelf;
+ ti_targets_elf -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_targets -> xdc_services_global;
+ ti_targets -> xdc_services_intern_cmd;
+ ti_targets -> xdc_services_intern_xsr;
+ ti_targets -> xdc_shelf;
+ ti_targets -> xdc_services_spec;
+ ti_targets -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_shelf -> xdc_services_spec;
+ xdc_shelf -> xdc_services_intern_cmd;
+ xdc_shelf -> xdc_utils_tconf;
+ xdc_shelf -> xdc_services_intern_xsr;
+ xdc_shelf -> xdc_services_intern_gen;
+ xdc_shelf -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_gen -> xdc_shelf;
+ xdc_services_intern_gen -> xdc_services_spec;
+ xdc_services_intern_gen -> xdc_services_global;
+ xdc_services_intern_gen -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_gen -> xdc_services_spec;
+ xdc_services_intern_gen -> xdc_services_intern_cmd;
+ xdc_services_intern_gen -> xdc_utils_tconf;
+ xdc_services_intern_gen -> xdc_services_intern_xsr;
+ xdc_services_intern_gen -> xdc_shelf;
+ xdc_services_intern_gen -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_codecs_universal -> xdc_services_intern_gen;
+ ti_sdo_codecs_universal -> xdc_shelf;
+ ti_sdo_codecs_universal -> xdc_services_global;
+ ti_sdo_codecs_universal -> xdc_services_spec;
+ ti_sdo_codecs_universal -> xdc_services_intern_cmd;
+ ti_sdo_codecs_universal -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ ti_sdo_ce_universal -> xdc_services_intern_gen;
+ ti_sdo_ce_universal -> xdc_shelf;
+ ti_sdo_ce_universal -> ti_sdo_ce;
+ ti_sdo_ce_universal -> xdc_services_global;
+ ti_sdo_ce_universal -> xdc_platform;
+ ti_sdo_ce_universal -> xdc_services_spec;
+ ti_sdo_ce_universal -> xdc_services_intern_cmd;
+ ti_sdo_ce_universal -> xdc_services_intern_xsr;
+ ti_sdo_ce_universal -> xdc_cfg;
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.rel.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package.rel.xml
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="windows-1252"?>\r
+<!-- This file conforms to the DTD xdc/bld/release.dtd -->\r
+<release name="ti_sdo_codecs_universal_ce" label="default" date="1384185679125" buildCount="1" producerId="undefined">\r
+<package name="ti.sdo.codecs.universal.ce"\r
+ version="1, 0, 0"/>\r
+<imports>\r
+ <package name="ti.sdo.ce.universal"\r
+ version=""/>\r
+ <package name="ti.sdo.codecs.universal"\r
+ version=""/>\r
+</imports>\r
+<references>\r
+ <package name="xdc.services.intern.gen"\r
+ version="1, 0, 0, 0, 1284507405214"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.shelf"\r
+ version="1, 0, 0, 1284507424737"\r
+ providerId="xdccore">\r
+ <file name="java\antlr.jar"/>\r
+ <file name="java\ecj.jar"/>\r
+ <file name="java\js.jar"/>\r
+ <file name="java\jsr173_api.jar"/>\r
+ <file name="java\tar.jar"/>\r
+ <file name="java\xbean.jar"/>\r
+ </package>\r
+ <package name="ti.sdo.ce"\r
+ version="1, 0, 6, 1313607868501"\r
+ providerId="codec_engine_3_21_00_19">\r
+ <file name="ICodec.xdc"/>\r
+ </package>\r
+ <package name="xdc.bld"\r
+ version="1, 0, 2, 1284507372516"\r
+ providerId="xdccore">\r
+ <file name="BuildEnvironment.xs"/>\r
+ <file name="Executable.xs"/>\r
+ <file name="ITarget.xs"/>\r
+ <file name="ITargetFilter.xs"/>\r
+ <file name="Library.xs"/>\r
+ <file name="Manifest.xs"/>\r
+ <file name="PackageContents.xs"/>\r
+ <file name="Repository.xs"/>\r
+ <file name="Script.xs"/>\r
+ <file name="Utils.xs"/>\r
+ <file name="_gen.xs"/>\r
+ <file name="bld.js"/>\r
+ <file name="package.xs"/>\r
+ </package>\r
+ <package name="xdc"\r
+ version="1, 1, 1, 1284507365742"\r
+ providerId="xdccore">\r
+ <file name="IPackage.xdc"/>\r
+ <file name="IPackage.xs"/>\r
+ <file name="om2.xs"/>\r
+ <file name="package.xs"/>\r
+ <file name="template.xs"/>\r
+ <file name="xdc.tci"/>\r
+ <file name="xmlgen.xs"/>\r
+ <file name="xmlgen2.xs"/>\r
+ </package>\r
+ <package name="ti.sdo.codecs.universal"\r
+ version="1, 0, 0, 1384185676281"\r
+ providerId="G:/from_sayanna/RTSC_Release">\r
+ <file name="UNIVERSAL.xdc"/>\r
+ </package>\r
+ <package name="ti.sdo.ce.universal"\r
+ version="1, 0, 0, 1313608056406"\r
+ providerId="codec_engine_3_21_00_19">\r
+ <file name="IUNIVERSAL.xdc"/>\r
+ </package>\r
+ <package name="xdc.services.global"\r
+ version="1, 0, 0, 1284507401675"\r
+ providerId="xdccore">\r
+ <file name="Clock.xs"/>\r
+ <file name="Trace.xs"/>\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.platform"\r
+ version="1, 0, 1, 0, 1284507379983"\r
+ providerId="xdccore">\r
+ <file name="ICpuDataSheet.xdc"/>\r
+ <file name="IExeContext.xdc"/>\r
+ <file name="IPeripheral.xdc"/>\r
+ <file name="IPlatform.xdc"/>\r
+ </package>\r
+ <package name="xdc.services.spec"\r
+ version="1, 0, 0, 0, 1284507414889"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.cmd"\r
+ version="1, 0, 0, 0, 1284507405123"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.xsr"\r
+ version="1, 0, 0, 1284507408194"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.cfg"\r
+ version="1, 0, 2, 0, 1284507375537"\r
+ providerId="xdccore">\r
+ <file name="Program.xdc"/>\r
+ </package>\r
+ <xdcRoot base="E:/WriteHere/xdctools_3_20_04_68/">\r
+ <file name="/packages/xdc/package.xdc"/>\r
+ <file name="etc\config.bld"/>\r
+ <file name="include\utils.tci"/>\r
+ <xdcCorePkg version="16, 0, 2, 0, 1284507377139" producerId="undefined" buildCount="279" releaseName="xdc_corevers" label="default" date="1284507377139"/>\r
+ </xdcRoot>\r
+</references>\r
+<orphans>\r
+</orphans>\r
+</release>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package_ti.sdo.codecs.universal.ce.c b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/package_ti.sdo.codecs.universal.ce.c
--- /dev/null
@@ -0,0 +1,21 @@
+/*\r
+ * Do not modify this file; it is automatically \r
+ * generated and any modifications will be overwritten.\r
+ *\r
+ * @(#) xdc-v49\r
+ */\r
+\r
+#include <xdc/std.h>\r
+\r
+__FAR__ char ti_sdo_codecs_universal_ce__dummy__;\r
+\r
+#define __xdc_PKGVERS 1, 0, 0\r
+#define __xdc_PKGNAME ti.sdo.codecs.universal.ce\r
+#define __xdc_PKGPREFIX ti_sdo_codecs_universal_ce_\r
+\r
+#ifdef __xdc_bld_pkg_c__\r
+#define __stringify(a) #a\r
+#define __local_include(a) __stringify(a)\r
+#include __local_include(__xdc_bld_pkg_c__)\r
+#endif\r
+\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.ccs b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.ccs
new file mode 100644 (file)
index 0000000..fa18885
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.ccs differ
index 0000000..fa18885
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.ccs differ
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.sch b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti.sdo.codecs.universal.ce.sch
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.class b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.class
new file mode 100644 (file)
index 0000000..6dc19aa
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.class differ
index 0000000..6dc19aa
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.class differ
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.java b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.java
--- /dev/null
+++ b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/ce/package/ti_sdo_codecs_universal_ce.java
@@ -0,0 +1,250 @@
+/*
+ * Do not modify this file; it is automatically
+ * generated and any modifications will be overwritten.
+ *
+ * @(#) xdc-v49
+ */
+import java.util.*;
+import org.mozilla.javascript.*;
+import xdc.services.intern.xsr.*;
+import xdc.services.spec.*;
+
+public class ti_sdo_codecs_universal_ce
+{
+ static final String VERS = "@(#) xdc-v49\n";
+
+ static final Proto.Elm $$T_Bool = Proto.Elm.newBool();
+ static final Proto.Elm $$T_Num = Proto.Elm.newNum();
+ static final Proto.Elm $$T_Str = Proto.Elm.newStr();
+ static final Proto.Elm $$T_Obj = Proto.Elm.newObj();
+
+ static final Proto.Fxn $$T_Met = new Proto.Fxn(null, null, 0, -1, false);
+ static final Proto.Map $$T_Map = new Proto.Map($$T_Obj);
+ static final Proto.Arr $$T_Vec = new Proto.Arr($$T_Obj);
+
+ static final XScriptO $$DEFAULT = Value.DEFAULT;
+ static final Object $$UNDEF = Undefined.instance;
+
+ static final Proto.Obj $$Package = (Proto.Obj)Global.get("$$Package");
+ static final Proto.Obj $$Module = (Proto.Obj)Global.get("$$Module");
+ static final Proto.Obj $$Instance = (Proto.Obj)Global.get("$$Instance");
+ static final Proto.Obj $$Params = (Proto.Obj)Global.get("$$Params");
+
+ static final Object $$objFldGet = Global.get("$$objFldGet");
+ static final Object $$objFldSet = Global.get("$$objFldSet");
+ static final Object $$proxyGet = Global.get("$$proxyGet");
+ static final Object $$proxySet = Global.get("$$proxySet");
+ static final Object $$delegGet = Global.get("$$delegGet");
+ static final Object $$delegSet = Global.get("$$delegSet");
+
+ Scriptable xdcO;
+ Session ses;
+ Value.Obj om;
+
+ boolean isROV;
+ boolean isCFG;
+
+ Proto.Obj pkgP;
+ Value.Obj pkgV;
+
+ ArrayList<Object> imports = new ArrayList<Object>();
+ ArrayList<Object> loggables = new ArrayList<Object>();
+ ArrayList<Object> mcfgs = new ArrayList<Object>();
+ ArrayList<Object> proxies = new ArrayList<Object>();
+ ArrayList<Object> sizes = new ArrayList<Object>();
+ ArrayList<Object> tdefs = new ArrayList<Object>();
+
+ void $$IMPORTS()
+ {
+ Global.callFxn("loadPackage", xdcO, "ti.sdo.ce.universal");
+ Global.callFxn("loadPackage", xdcO, "ti.sdo.codecs.universal");
+ Global.callFxn("loadPackage", xdcO, "xdc");
+ Global.callFxn("loadPackage", xdcO, "xdc.corevers");
+ }
+
+ void $$OBJECTS()
+ {
+ pkgP = (Proto.Obj)om.bind("ti.sdo.codecs.universal.ce.Package", new Proto.Obj());
+ pkgV = (Value.Obj)om.bind("ti.sdo.codecs.universal.ce", new Value.Obj("ti.sdo.codecs.universal.ce", pkgP));
+ }
+
+ void UNIVERSAL$$OBJECTS()
+ {
+ Proto.Obj po, spo;
+ Value.Obj vo;
+
+ po = (Proto.Obj)om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL.Module", new Proto.Obj());
+ vo = (Value.Obj)om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL", new Value.Obj("ti.sdo.codecs.universal.ce.UNIVERSAL", po));
+ pkgV.bind("UNIVERSAL", vo);
+ // decls
+ }
+
+ void UNIVERSAL$$CONSTS()
+ {
+ // module UNIVERSAL
+ }
+
+ void UNIVERSAL$$CREATES()
+ {
+ Proto.Fxn fxn;
+ StringBuilder sb;
+
+ }
+
+ void UNIVERSAL$$FUNCTIONS()
+ {
+ Proto.Fxn fxn;
+
+ }
+
+ void UNIVERSAL$$SIZES()
+ {
+ }
+
+ void UNIVERSAL$$TYPES()
+ {
+ Scriptable cap;
+ Proto.Obj po;
+ Proto.Str ps;
+ Proto.Typedef pt;
+ Object fxn;
+
+ cap = (Scriptable)Global.callFxn("loadCapsule", xdcO, "ti/sdo/codecs/universal/ce/UNIVERSAL.xs");
+ om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL$$capsule", cap);
+ po = (Proto.Obj)om.findStrict("ti.sdo.codecs.universal.ce.UNIVERSAL.Module", "ti.sdo.codecs.universal.ce");
+ po.init("ti.sdo.codecs.universal.ce.UNIVERSAL.Module", om.findStrict("ti.sdo.ce.universal.IUNIVERSAL.Module", "ti.sdo.codecs.universal.ce"));
+ po.addFld("$hostonly", $$T_Num, 1, "r");
+ po.addFld("alg", (Proto)om.findStrict("ti.sdo.codecs.universal.UNIVERSAL.Module", "ti.sdo.codecs.universal.ce"), om.find("ti.sdo.codecs.universal.UNIVERSAL"), "rh");
+ po.addFld("ialgFxns", $$T_Str, "UNIVERSALCOPY_TI_IUNIVERSALCOPY", "rh");
+ fxn = Global.get(cap, "module$use");
+ if (fxn != null) om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL$$module$use", true);
+ if (fxn != null) po.addFxn("module$use", $$T_Met, fxn);
+ fxn = Global.get(cap, "module$meta$init");
+ if (fxn != null) om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL$$module$meta$init", true);
+ if (fxn != null) po.addFxn("module$meta$init", $$T_Met, fxn);
+ fxn = Global.get(cap, "module$validate");
+ if (fxn != null) om.bind("ti.sdo.codecs.universal.ce.UNIVERSAL$$module$validate", true);
+ if (fxn != null) po.addFxn("module$validate", $$T_Met, fxn);
+ fxn = Global.get(cap, "getCreationStackSize");
+ if (fxn != null) po.addFxn("getCreationStackSize", (Proto.Fxn)om.findStrict("ti.sdo.ce.ICodec$$getCreationStackSize", "ti.sdo.codecs.universal.ce"), fxn);
+ fxn = Global.get(cap, "getDaramScratchSize");
+ if (fxn != null) po.addFxn("getDaramScratchSize", (Proto.Fxn)om.findStrict("ti.sdo.ce.ICodec$$getDaramScratchSize", "ti.sdo.codecs.universal.ce"), fxn);
+ fxn = Global.get(cap, "getSaramScratchSize");
+ if (fxn != null) po.addFxn("getSaramScratchSize", (Proto.Fxn)om.findStrict("ti.sdo.ce.ICodec$$getSaramScratchSize", "ti.sdo.codecs.universal.ce"), fxn);
+ fxn = Global.get(cap, "getStackSize");
+ if (fxn != null) po.addFxn("getStackSize", (Proto.Fxn)om.findStrict("ti.sdo.ce.ICodec$$getStackSize", "ti.sdo.codecs.universal.ce"), fxn);
+ fxn = Global.get(cap, "getUUID");
+ if (fxn != null) po.addFxn("getUUID", (Proto.Fxn)om.findStrict("ti.sdo.ce.ICodec$$getUUID", "ti.sdo.codecs.universal.ce"), fxn);
+ }
+
+ void UNIVERSAL$$ROV()
+ {
+ }
+
+ void $$SINGLETONS()
+ {
+ pkgP.init("ti.sdo.codecs.universal.ce.Package", (Proto.Obj)om.findStrict("xdc.IPackage.Module", "ti.sdo.codecs.universal.ce"));
+ pkgP.bind("$capsule", $$UNDEF);
+ pkgV.init2(pkgP, "ti.sdo.codecs.universal.ce", Value.DEFAULT, false);
+ pkgV.bind("$name", "ti.sdo.codecs.universal.ce");
+ pkgV.bind("$category", "Package");
+ pkgV.bind("$$qn", "ti.sdo.codecs.universal.ce.");
+ pkgV.bind("$vers", Global.newArray("1, 0, 0"));
+ Value.Map atmap = (Value.Map)pkgV.getv("$attr");
+ atmap.seal("length");
+ imports.clear();
+ imports.add(Global.newArray("ti.sdo.ce.universal", Global.newArray()));
+ imports.add(Global.newArray("ti.sdo.codecs.universal", Global.newArray()));
+ pkgV.bind("$imports", imports);
+ StringBuilder sb = new StringBuilder();
+ sb.append("var pkg = xdc.om['ti.sdo.codecs.universal.ce'];\n");
+ sb.append("if (pkg.$vers.length >= 3) {\n");
+ sb.append("pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\n");
+ sb.append("}\n");
+ sb.append("pkg.build.libraries = [\n");
+ sb.append("];\n");
+ sb.append("pkg.build.libDesc = [\n");
+ sb.append("];\n");
+ sb.append("if('suffix' in xdc.om['xdc.IPackage$$LibDesc']) {\n");
+ sb.append("}\n");
+ Global.eval(sb.toString());
+ }
+
+ void UNIVERSAL$$SINGLETONS()
+ {
+ Proto.Obj po;
+ Value.Obj vo;
+
+ vo = (Value.Obj)om.findStrict("ti.sdo.codecs.universal.ce.UNIVERSAL", "ti.sdo.codecs.universal.ce");
+ po = (Proto.Obj)om.findStrict("ti.sdo.codecs.universal.ce.UNIVERSAL.Module", "ti.sdo.codecs.universal.ce");
+ vo.init2(po, "ti.sdo.codecs.universal.ce.UNIVERSAL", $$DEFAULT, false);
+ vo.bind("Module", po);
+ vo.bind("$category", "Module");
+ vo.bind("$capsule", om.findStrict("ti.sdo.codecs.universal.ce.UNIVERSAL$$capsule", "ti.sdo.codecs.universal.ce"));
+ vo.bind("$package", om.findStrict("ti.sdo.codecs.universal.ce", "ti.sdo.codecs.universal.ce"));
+ tdefs.clear();
+ proxies.clear();
+ mcfgs.clear();
+ vo.bind("$$tdefs", Global.newArray(tdefs.toArray()));
+ vo.bind("$$proxies", Global.newArray(proxies.toArray()));
+ vo.bind("$$mcfgs", Global.newArray(mcfgs.toArray()));
+ ((Value.Arr)pkgV.getv("$modules")).add(vo);
+ ((Value.Arr)om.findStrict("$modules", "ti.sdo.codecs.universal.ce")).add(vo);
+ vo.bind("$$instflag", 0);
+ vo.bind("$$iobjflag", 1);
+ vo.bind("$$sizeflag", 1);
+ vo.bind("$$dlgflag", 0);
+ vo.bind("$$iflag", 1);
+ vo.bind("$$romcfgs", "|");
+ Proto.Str ps = (Proto.Str)vo.find("Module_State");
+ if (ps != null) vo.bind("$object", ps.newInstance());
+ vo.bind("$$meta_iobj", om.has("ti.sdo.codecs.universal.ce.UNIVERSAL$$instance$static$init", null) ? 1 : 0);
+ vo.bind("$$fxntab", Global.newArray());
+ vo.bind("$$logEvtCfgs", Global.newArray());
+ vo.bind("$$errorDescCfgs", Global.newArray());
+ vo.bind("$$assertDescCfgs", Global.newArray());
+ Value.Map atmap = (Value.Map)vo.getv("$attr");
+ atmap.seal("length");
+ pkgV.bind("UNIVERSAL", vo);
+ ((Value.Arr)pkgV.getv("$unitNames")).add("UNIVERSAL");
+ }
+
+ void $$INITIALIZATION()
+ {
+ Value.Obj vo;
+
+ if (isCFG) {
+ }//isCFG
+ Global.callFxn("module$meta$init", (Scriptable)om.findStrict("ti.sdo.codecs.universal.ce.UNIVERSAL", "ti.sdo.codecs.universal.ce"));
+ Global.callFxn("init", pkgV);
+ ((Value.Obj)om.getv("ti.sdo.codecs.universal.ce.UNIVERSAL")).bless();
+ ((Value.Arr)om.findStrict("$packages", "ti.sdo.codecs.universal.ce")).add(pkgV);
+ }
+
+ public void exec( Scriptable xdcO, Session ses )
+ {
+ this.xdcO = xdcO;
+ this.ses = ses;
+ om = (Value.Obj)xdcO.get("om", null);
+
+ Object o = om.geto("$name");
+ String s = o instanceof String ? (String)o : null;
+ isCFG = s != null && s.equals("cfg");
+ isROV = s != null && s.equals("rov");
+
+ $$IMPORTS();
+ $$OBJECTS();
+ UNIVERSAL$$OBJECTS();
+ UNIVERSAL$$CONSTS();
+ UNIVERSAL$$CREATES();
+ UNIVERSAL$$FUNCTIONS();
+ UNIVERSAL$$SIZES();
+ UNIVERSAL$$TYPES();
+ if (isROV) {
+ UNIVERSAL$$ROV();
+ }//isROV
+ $$SINGLETONS();
+ UNIVERSAL$$SINGLETONS();
+ $$INITIALIZATION();
+ }
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/iuniversal.h b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/iuniversal.h
--- /dev/null
@@ -0,0 +1,302 @@
+/*\r
+ * Copyright (c) 2006-2012, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ */\r
+\r
+/**\r
+ * @file ti/xdais/dm/iuniversal.h\r
+ *\r
+ * @brief This header defines all types, constants, and functions\r
+ * shared by all implementations of the "universal" XDM\r
+ * algorithm.\r
+ */\r
+/**\r
+ * @defgroup ti_xdais_dm_IUNIVERSAL IUNIVERSAL - XDM Beta Universal Algorithm Interface\r
+ *\r
+ * This is the XDM Beta Universal Algorithm Interface.\r
+ */\r
+\r
+#ifndef ti_xdais_dm_IUNIVERSAL_\r
+#define ti_xdais_dm_IUNIVERSAL_\r
+\r
+#include <ti/xdais/ialg.h>\r
+#include <ti/xdais/xdas.h>\r
+#include "xdm.h"\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/** @ingroup ti_xdais_dm_IUNIVERSAL */\r
+/*@{*/\r
+\r
+#define IUNIVERSAL_EOK XDM_EOK /**< @copydoc XDM_EOK */\r
+#define IUNIVERSAL_EFAIL XDM_EFAIL /**< @copydoc XDM_EFAIL */\r
+#define IUNIVERSAL_EUNSUPPORTED XDM_EUNSUPPORTED /**< @copydoc XDM_EUNSUPPORTED */\r
+\r
+/**\r
+ * @brief This must be the first field of all IUNIVERSAL\r
+ * instance objects.\r
+ */\r
+typedef struct IUNIVERSAL_Obj {\r
+ struct IUNIVERSAL_Fxns *fxns;\r
+} IUNIVERSAL_Obj;\r
+\r
+\r
+/**\r
+ * @brief Opaque handle to an IUNIVERSAL objects.\r
+ */\r
+typedef struct IUNIVERSAL_Obj *IUNIVERSAL_Handle;\r
+\r
+\r
+/**\r
+ * @brief Defines the creation time parameters for\r
+ * all IUNIVERSAL instance objects.\r
+ *\r
+ * @extensibleStruct\r
+ */\r
+typedef struct IUNIVERSAL_Params {\r
+ XDAS_Int32 size; /**< @sizeField */\r
+} IUNIVERSAL_Params;\r
+\r
+\r
+/**\r
+ * @brief This structure defines the codec parameters that can be\r
+ * modified after creation via control() calls.\r
+ *\r
+ * @remarks It is not necessary that a given implementation support all\r
+ * dynamic parameters to be configurable at run time. If a\r
+ * particular algorithm does not support run-time updates to\r
+ * a parameter that the application is attempting to change\r
+ * at runtime, it may indicate this as an error.\r
+ *\r
+ * @extensibleStruct\r
+ *\r
+ * @sa IUNIVERSAL_Fxns::control()\r
+ */\r
+typedef struct IUNIVERSAL_DynamicParams {\r
+ XDAS_Int32 size; /**< @sizeField */\r
+} IUNIVERSAL_DynamicParams;\r
+\r
+\r
+/**\r
+ * @brief Defines the input arguments for all IUNIVERSAL instance\r
+ * process function.\r
+ *\r
+ * @extensibleStruct\r
+ *\r
+ * @sa IUNIVERSAL_Fxns::process()\r
+ */\r
+typedef struct IUNIVERSAL_InArgs {\r
+ XDAS_Int32 size; /**< @sizeField */\r
+} IUNIVERSAL_InArgs;\r
+\r
+\r
+/**\r
+ * @brief Defines instance status parameters (read-only).\r
+ *\r
+ * @extensibleStruct\r
+ *\r
+ * @sa IUNIVERSAL_Fxns::control()\r
+ */\r
+typedef struct IUNIVERSAL_Status {\r
+ XDAS_Int32 size; /**< @sizeField */\r
+ XDAS_Int32 extendedError; /**< @extendedErrorField */\r
+ XDM1_BufDesc data; /**< Buffer descriptor for data passing.\r
+ *\r
+ * @remarks These buffers can be used as\r
+ * either input, output, or\r
+ * input/output buffers,\r
+ * depending on the command.\r
+ *\r
+ * @remarks The buffers will be provided\r
+ * by the application, and\r
+ * returned to the application\r
+ * upon return of the control()\r
+ * call. The algorithm must\r
+ * not retain a pointer to this\r
+ * data.\r
+ *\r
+ * @sa #XDM_GETVERSION\r
+ */\r
+} IUNIVERSAL_Status;\r
+\r
+\r
+/**\r
+ * @brief Defines the run time output arguments for\r
+ * all IUNIVERSAL instance objects.\r
+ *\r
+ * @extensibleStruct\r
+ *\r
+ * @sa IUNIVERSAL_Fxns::process()\r
+ */\r
+typedef struct IUNIVERSAL_OutArgs {\r
+ XDAS_Int32 size; /**< @sizeField */\r
+ XDAS_Int32 extendedError; /**< @extendedErrorField */\r
+} IUNIVERSAL_OutArgs;\r
+\r
+\r
+/**\r
+ * @brief Defines the control commands for the IUNIVERSAL module.\r
+ *\r
+ * @remarks This ID can be extended in IMOD interface for\r
+ * additional controls.\r
+ *\r
+ * @sa XDM_CmdId\r
+ *\r
+ * @sa IUNIVERSAL_Fxns::control()\r
+ */\r
+typedef IALG_Cmd IUNIVERSAL_Cmd;\r
+\r
+\r
+/**\r
+ * @brief Defines all of the operations on IUNIVERSAL objects.\r
+ */\r
+typedef struct IUNIVERSAL_Fxns{\r
+ IALG_Fxns ialg; /**< XDAIS algorithm interface.\r
+ *\r
+ * @sa IALG_Fxns\r
+ */\r
+\r
+/**\r
+ * @brief Basic audio decoding call.\r
+ *\r
+ * @param[in] handle Handle to an algorithm instance.\r
+ * @param[in,out] inBufs Input buffer descriptors.\r
+ * @param[in,out] outBufs Output buffer descriptors.\r
+ * @param[in,out] inOutBufs Input/Output buffer descriptors.\r
+ * @param[in] inArgs Input arguments. This is a required\r
+ * parameter.\r
+ * @param[out] outArgs Ouput results. This is a required parameter.\r
+ *\r
+ * @remarks process() is a blocking call. When process() returns, the\r
+ * algorithm's processing is complete.\r
+ *\r
+ * @pre @c handle must be a valid algorithm instance handle.\r
+ *\r
+ * @pre @c inArgs must not be NULL, and must point to a valid\r
+ * IUNIVERSAL_InArgs structure.\r
+ *\r
+ * @pre @c outArgs must not be NULL, and must point to a valid\r
+ * IUNIVERSAL_OutArgs structure.\r
+ *\r
+ * @pre @c inBufs must either be NULL or point to a valid\r
+ * XDM1_BufDesc structure.\r
+ *\r
+ * @pre @c outBufs must either be NULL or point to a valid\r
+ * XDM1_BufDesc structure.\r
+ *\r
+ * @pre @c inOutBufs must either be NULL or point to a valid\r
+ * XDM1_BufDesc structure.\r
+ *\r
+ * @pre The buffers in @c inBufs, @c outBufs and @c inOutBufs are\r
+ * physically contiguous and owned by the calling application.\r
+ *\r
+ * @post The algorithm <b>must not</b> modify the contents of @c inArgs.\r
+ *\r
+ * @post The algorithm <b>must not</b> modify the contents of\r
+ * @c inBufs, with the exception of @c inBufs.descs[].accessMask.\r
+ * That is, the data and buffers pointed to by these parameters\r
+ * must be treated as read-only.\r
+ *\r
+ * @post The algorithm <b>must</b> appropriately set/clear the\r
+ * @c XDM1_BufDesc::descs[].accessMask field in @c inBufs,\r
+ * @c outBufs, and @c inOutBufs.\r
+ * For example, if the algorithm only read from\r
+ * @c inBufs.descs[0].buf using the algorithm processor, it\r
+ * could utilize #XDM_SETACCESSMODE_READ to update the appropriate\r
+ * @c accessMask fields.\r
+ * The application <i>may</i> utilize these\r
+ * returned values to appropriately manage cache.\r
+ *\r
+ * @post The buffers in @c inBufs, @c outBufs, and @c inOutBufs are\r
+ * owned by the calling application.\r
+ *\r
+ * @retval IUNIVERSAL_EOK @copydoc IUNIVERSAL_EOK\r
+ * @retval IUNIVERSAL_EFAIL @copydoc IUNIVERSAL_EFAIL\r
+ * See IUNIVERSAL_Status#extendedError\r
+ * for more detailed further error\r
+ * conditions.\r
+ * @retval IUNIVERSAL_EUNSUPPORTED @copydoc IUNIVERSAL_EUNSUPPORTED\r
+ */\r
+ XDAS_Int32 (*process)(IUNIVERSAL_Handle handle, XDM1_BufDesc *inBufs,\r
+ XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs,\r
+ IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs);\r
+\r
+\r
+/**\r
+ * @brief Control behaviour of an algorithm.\r
+ *\r
+ * @param[in] handle Handle to an algorithm instance.\r
+ * @param[in] id Command id. See #XDM_CmdId.\r
+ * @param[in] params Dynamic parameters. This is a required\r
+ * parameter.\r
+ * @param[out] status Output results. This is a required parameter.\r
+ *\r
+ * @pre @c handle must be a valid algorithm instance handle.\r
+ *\r
+ * @pre @c params must not be NULL, and must point to a valid\r
+ * IUNIVERSAL_DynamicParams structure.\r
+ *\r
+ * @pre @c status must not be NULL, and must point to a valid\r
+ * IUNIVERSAL_Status structure.\r
+ *\r
+ * @pre If a buffer is provided in the @c status->data field,\r
+ * it must be physically contiguous and owned by the calling\r
+ * application.\r
+ *\r
+ * @post The algorithm <b>must not</b> modify the contents of @c params.\r
+ * That is, the data pointed to by this parameter must be\r
+ * treated as read-only.\r
+ *\r
+ * @post If a buffer was provided in the @c status->data field,\r
+ * it is owned by the calling application.\r
+ *\r
+ * @retval IUNIVERSAL_EOK @copydoc IUNIVERSAL_EOK\r
+ * @retval IUNIVERSAL_EFAIL @copydoc IUNIVERSAL_EFAIL\r
+ * See IUNIVERSAL_Status#extendedError\r
+ * for more detailed further error\r
+ * conditions.\r
+ * @retval IUNIVERSAL_EUNSUPPORTED @copydoc IUNIVERSAL_EUNSUPPORTED\r
+ */\r
+ XDAS_Int32 (*control)(IUNIVERSAL_Handle handle, IUNIVERSAL_Cmd id,\r
+ IUNIVERSAL_DynamicParams *params, IUNIVERSAL_Status *status);\r
+\r
+} IUNIVERSAL_Fxns;\r
+\r
+\r
+/*@}*/\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/lib/universal_copy.ae66 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/lib/universal_copy.ae66
new file mode 100644 (file)
index 0000000..c95d294
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/lib/universal_copy.ae66 differ
index 0000000..c95d294
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/lib/universal_copy.ae66 differ
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/link.xdt b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/link.xdt
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.bld b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.bld
--- /dev/null
@@ -0,0 +1,6 @@
+/*
+ * ======== package.bld ========
+ */
+
+
+Pkg.attrs.exportAll = true;
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.xdc b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.xdc
--- /dev/null
@@ -0,0 +1,7 @@
+/*!
+ * ======== universal========
+ */
+
+package ti.sdo.codecs.universal [1, 0, 0] {
+ module UNIVERSAL;
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.xs b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package.xs
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * ======== package.xs ========
+ *
+ */
+
+/*
+ * ======== getLibs ========
+ */
+function getLibs(prog)
+{
+ var lib = null;
+
+ if (prog.build.target.isa == "66") {
+ if ( this.UNIVERSAL.watermark == false ) {
+ lib = "lib/universal_copy.ae66";
+ }
+ else {
+ lib = null;
+ }
+ print(" will link with " + this.$name + ":" + lib);
+ }
+ return (lib);
+}
+
+/*
+ * ======== getSects ========
+ */
+function getSects()
+{
+ var template = null;
+
+ if (Program.build.target.isa == "66") {
+ template = "ti/sdo/codecs/universal/link.xdt";
+ }
+
+ return (template);
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_b150 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_b150
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_c150 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_c150
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_g180 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_g180
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_r170 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.vers_r170
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.xdc-v49 b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/.xdc-v49
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/build.cfg b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/build.cfg
--- /dev/null
@@ -0,0 +1,12 @@
+if (pkg.$vers.length >= 3) {\r
+ pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\r
+}\r
+\r
+pkg.build.libraries = [\r
+];\r
+\r
+pkg.build.libDesc = [\r
+];\r
+if ('suffix' in xdc.om['xdc.IPackage$$LibDesc']) {\r
+}\r
+\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.bld.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.bld.xml
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!-- This file conforms to the DTD xdc/bld/build.dtd -->\r
+<package name="ti.sdo.codecs.universal" version="1, 0, 0" producerId="undefined">\r
+ <units>\r
+ <module name="UNIVERSAL"/>\r
+ </units>\r
+ <sources>\r
+ </sources>\r
+ <configurations>\r
+ </configurations>\r
+ <makefiles>\r
+ <srcFile name="package.mak" src="package.bld"/>\r
+ <srcFile name="package/package.xdc.dep" src="package.xdc"/>\r
+ <srcFile name="package/package.cfg.dep" src="package.xdc"/>\r
+ <srcFile name="package/rel/ti_sdo_codecs_universal.tar.dep" src="package/rel/ti_sdo_codecs_universal.xdc.inc"/>\r
+ </makefiles>\r
+ <targets>\r
+ </targets>\r
+ <libraries>\r
+ </libraries>\r
+ <executables>\r
+ </executables>\r
+ <tests>\r
+ </tests>\r
+ <releases relDir="package/rel/">\r
+ <release name="ti_sdo_codecs_universal"\r
+ pname="ti_sdo_codecs_universal.tar"\r
+ label="default"\r
+ >\r
+ <file name="package/build.cfg"/>\r
+ <file name="package/package.cfg.xdc.inc"/>\r
+ <file name="package/package.ext.xml"/>\r
+ <file name="package/package.xdc.inc"/>\r
+ <file name="package/package.bld.xml"/>\r
+ <file name="package/package.rel.dot"/>\r
+ </release>\r
+ </releases>\r
+ <repositories>\r
+ </repositories>\r
+</package>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.defs.h b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.defs.h
--- /dev/null
@@ -0,0 +1,13 @@
+/*\r
+ * Do not modify this file; it is automatically \r
+ * generated and any modifications will be overwritten.\r
+ *\r
+ * @(#) xdc-v49\r
+ */\r
+\r
+#ifndef ti_sdo_codecs_universal__\r
+#define ti_sdo_codecs_universal__\r
+\r
+\r
+\r
+#endif /* ti_sdo_codecs_universal__ */ \r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.doc.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.doc.xml
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<package kind='package' name='ti.sdo.codecs.universal' nodoc='0' root='../../../../' summary=''>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Epackage%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Eti.sdo.codecs.universal%3C%2Fspan%3E%3C%2Fgo%3E+%5B1%2C+0%2C+0%5D+%7B'/>\r
+ <line tab='0' content='%7D'/>\r
+ <unit name='UNIVERSAL' kind='module' nodoc='0' metaonly='1' summary=''>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Epackage%3C%2Fspan%3E+%3Ca+class%3D%22xdoc-link%22+href%3D%22..%2F..%2F..%2F..%2Fti%2Fsdo%2Fcodecs%2Funiversal%2Fpackage.html%22+title%3D%22ti.sdo.codecs.universal%22%3Eti.sdo.codecs.universal%3C%2Fa%3E%3B'/>\r
+ <line blank='1' always='0'/>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Emetaonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Emodule%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EUNIVERSAL%3C%2Fspan%3E%3C%2Fgo%3E+%7B'/>\r
+ <line tab='0' content='%7D'/>\r
+ </synopSpec>\r
+ <specInfo>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Emetaonly+%3C%2Fspan%3E%3Cspan+class%3D%22xdoc-kw1%22%3Emodule%3C%2Fspan%3E+%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EUNIVERSAL%3C%2Fspan%3E%3C%2Fgo%3E+%7B%3Cb%3E%26nbsp%3B%26nbsp%3B...%3C%2Fb%3E'/>\r
+ </specInfo>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Evar%3C%2Fspan%3E+UNIVERSAL+%3D+%3Cspan+class%3D%22xdoc-kw3%22%3Exdc.useModule%3C%2Fspan%3E%28%3Cspan+class%3D%22xdoc-id%22%3E%27ti.sdo.codecs.universal.UNIVERSAL%27%3C%2Fspan%3E%29%3B'/>\r
+ </synopMeta>\r
+ <group name='module-wide constants & types'>\r
+ <decl spacer='1'/>\r
+ </group>\r
+ <group name='module-wide config parameters'>\r
+ <decl spacer='1'/>\r
+ <decl spacer='1'/>\r
+ <decl spacer='1'/>\r
+ <decl kind='config' name='codeSection' anchor='code.Section' altext='ti.sdo.codecs.universal.UNIVERSAL.codeSection' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary=''>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EcodeSection%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EcodeSection%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%3Cspan+class%3D%22xdoc-kw2%22%3Eundefined%3C%2Fspan%3E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ <decl kind='config' name='dataSection' anchor='data.Section' altext='ti.sdo.codecs.universal.UNIVERSAL.dataSection' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary=''>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EdataSection%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EdataSection%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%3Cspan+class%3D%22xdoc-kw2%22%3Eundefined%3C%2Fspan%3E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ <decl kind='config' name='udataSection' anchor='udata.Section' altext='ti.sdo.codecs.universal.UNIVERSAL.udataSection' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary=''>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3EudataSection%3C%2Fspan%3E%3C%2Fgo%3E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3EudataSection%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EString%3C%2Fspan%3E%3C%2Fi%3E+%3Cspan+class%3D%22xdoc-kw2%22%3Eundefined%3C%2Fspan%3E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ <decl kind='config' name='watermark' anchor='watermark' altext='ti.sdo.codecs.universal.UNIVERSAL.watermark' nodoc='0' external='1' overrides='0' readonly='0' instance='0' summary='This+config+param+allows+the+user+to+indicate+whether+to+include%0A++a+watermark+or+not'>\r
+ <synopSpec>\r
+ <line tab='0' content='%3Cspan+class%3D%22xdoc-kw1%22%3Econfig%3C%2Fspan%3E+%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%26nbsp%3B%3Cgo%3E%3Cspan+class%3D%22xdoc-id%22%3Ewatermark%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Efalse%253C%252Fspan%253E%3B'/>\r
+ </synopSpec>\r
+ <synopMeta>\r
+ <line tab='0' content='%3Cgo%3EUNIVERSAL.%3Cspan+class%3D%22xdoc-id%22%3Ewatermark%3C%2Fspan%3E%3C%2Fgo%3E+%3D+%3Ci%3E%3Cspan+class%3D%22xdoc-kw2%22%3EBool%3C%2Fspan%3E%3C%2Fi%3E+%253Cspan%2Bclass%253D%2522xdoc-kw2%2522%253Efalse%253C%252Fspan%253E%3B'/>\r
+ </synopMeta>\r
+ </decl>\r
+ </group>\r
+ <group name='module-wide functions'>\r
+ <decl spacer='1'/>\r
+ </group>\r
+ </unit>\r
+</package>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.ext.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.ext.xml
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="windows-1252"?>\r
+<!-- This file conforms to the DTD xdc/bld/release.dtd -->\r
+<release name="" label="" date="" buildCount="" producerId="">\r
+<package name="ti.sdo.codecs.universal"\r
+ version="1, 0, 0"/>\r
+<imports>\r
+</imports>\r
+<references>\r
+ <package name="xdc.services.intern.gen"\r
+ version="1, 0, 0, 0, 1284507405214"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.shelf"\r
+ version="1, 0, 0, 1284507424737"\r
+ providerId="xdccore">\r
+ <file name="java\antlr.jar"/>\r
+ <file name="java\ecj.jar"/>\r
+ <file name="java\js.jar"/>\r
+ <file name="java\jsr173_api.jar"/>\r
+ <file name="java\tar.jar"/>\r
+ <file name="java\xbean.jar"/>\r
+ </package>\r
+ <package name="xdc.bld"\r
+ version="1, 0, 2, 1284507372516"\r
+ providerId="xdccore">\r
+ <file name="BuildEnvironment.xs"/>\r
+ <file name="Executable.xs"/>\r
+ <file name="ITarget.xs"/>\r
+ <file name="ITargetFilter.xs"/>\r
+ <file name="Library.xs"/>\r
+ <file name="Manifest.xs"/>\r
+ <file name="PackageContents.xs"/>\r
+ <file name="Repository.xs"/>\r
+ <file name="Script.xs"/>\r
+ <file name="Utils.xs"/>\r
+ <file name="_gen.xs"/>\r
+ <file name="bld.js"/>\r
+ <file name="package.xs"/>\r
+ </package>\r
+ <package name="xdc"\r
+ version="1, 1, 1, 1284507365742"\r
+ providerId="xdccore">\r
+ <file name="IPackage.xdc"/>\r
+ <file name="IPackage.xs"/>\r
+ <file name="om2.xs"/>\r
+ <file name="package.xs"/>\r
+ <file name="template.xs"/>\r
+ <file name="xdc.tci"/>\r
+ <file name="xmlgen.xs"/>\r
+ <file name="xmlgen2.xs"/>\r
+ </package>\r
+ <package name="xdc.services.global"\r
+ version="1, 0, 0, 1284507401675"\r
+ providerId="xdccore">\r
+ <file name="Clock.xs"/>\r
+ <file name="Trace.xs"/>\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.spec"\r
+ version="1, 0, 0, 0, 1284507414889"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.cmd"\r
+ version="1, 0, 0, 0, 1284507405123"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.xsr"\r
+ version="1, 0, 0, 1284507408194"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <xdcRoot base="E:/WriteHere/xdctools_3_20_04_68/">\r
+ <file name="/packages/xdc/package.xdc"/>\r
+ <file name="etc\config.bld"/>\r
+ <file name="include\utils.tci"/>\r
+ <xdcCorePkg version="16, 0, 2, 0, 1284507377139" producerId="undefined" buildCount="279" releaseName="xdc_corevers" label="default" date="1284507377139"/>\r
+ </xdcRoot>\r
+</references>\r
+<orphans>\r
+</orphans>\r
+</release>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.rel.dot b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.rel.dot
--- /dev/null
@@ -0,0 +1,126 @@
+digraph dependencies {
+ label="\nPackage ti.sdo.codecs.universal Dependency Graph";
+ size="7.5,10";
+ rankdir=LR;
+ ranksep=".75";
+ concentrate="true";
+ node [fixedsize=true, width=1.5, style=filled, color=black];
+ node [font=Helvetica, fontsize=12, fillcolor=lightgrey];
+ ti_sdo_codecs_universal [shape=record,label="ti.sdo.codecs.universal|1, 0, 0", URL="package.rel.xml"];
+ node [fontsize=10, fillcolor=white];
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_gen [shape=record,label="xdc.services.intern.gen|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\gen\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_services_intern_gen;
+ xdc_shelf [shape=record,label="xdc.shelf|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\shelf\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_shelf;
+ xdc_bld [shape=record,label="xdc.bld|1, 0, 2", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\bld\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_bld;
+ xdc [shape=record,label="xdc|1, 1, 1", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc;
+ xdc_services_global [shape=record,label="xdc.services.global|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\global\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_services_global;
+ xdc_services_spec [shape=record,label="xdc.services.spec|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\spec\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_services_spec;
+ xdc_services_intern_cmd [shape=record,label="xdc.services.intern.cmd|1, 0, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\cmd\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_services_intern_cmd;
+ xdc_services_intern_xsr [shape=record,label="xdc.services.intern.xsr|1, 0, 0", URL="../E:\WriteHere\xdctools_3_20_04_68\packages\xdc\services\intern\xsr\package/package.rel.svg"];
+ ti_sdo_codecs_universal -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_xsr -> xdc_services_global;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_xsr -> xdc_services_spec;
+ xdc_services_intern_xsr -> xdc_services_intern_cmd;
+ xdc_utils_tconf [shape=record,label="xdc.utils.tconf|not found"style=rounded, ];
+ xdc_services_intern_xsr -> xdc_utils_tconf;
+ xdc_services_intern_xsr -> xdc_shelf;
+ xdc_services_intern_xsr -> xdc_services_intern_gen;
+ xdc_services_intern_xsr -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_cmd -> xdc_shelf;
+ xdc_services_intern_cmd -> xdc_services_spec;
+ xdc_services_intern_cmd -> xdc_services_global;
+ xdc_services_intern_cmd -> xdc_services_intern_gen;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_cmd -> xdc_services_spec;
+ xdc_services_intern_cmd -> xdc_utils_tconf;
+ xdc_services_intern_cmd -> xdc_services_intern_xsr;
+ xdc_services_intern_cmd -> xdc_shelf;
+ xdc_services_intern_cmd -> xdc_services_intern_gen;
+ xdc_services_intern_cmd -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ xdc_services_spec -> xdc_shelf;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_spec -> xdc_services_intern_cmd;
+ xdc_services_spec -> xdc_utils_tconf;
+ xdc_services_spec -> xdc_services_intern_xsr;
+ xdc_services_spec -> xdc_shelf;
+ xdc_services_spec -> xdc_services_intern_gen;
+ xdc_services_spec -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_global -> xdc_services_spec;
+ xdc_services_global -> xdc_services_intern_cmd;
+ xdc_services_global -> xdc_utils_tconf;
+ xdc_services_global -> xdc_services_intern_xsr;
+ xdc_services_global -> xdc_shelf;
+ xdc_services_global -> xdc_services_intern_gen;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc -> xdc_services_global;
+ xdc -> xdc_utils_tconf;
+
+ edge [style=solid, color=blue]
+ xdc_bld -> xdc_services_global;
+ xdc_bld -> xdc_services_intern_cmd;
+
+ edge [style=solid, color=lightgrey]
+ xdc_bld -> xdc_services_spec;
+ xdc_bld -> xdc_services_intern_cmd;
+ xdc_bld -> xdc_utils_tconf;
+ xdc_bld -> xdc;
+ xdc_bld -> xdc_services_intern_xsr;
+ xdc_bld -> xdc_shelf;
+ xdc_bld -> xdc_services_intern_gen;
+ xdc_bld -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+
+ edge [style=solid, color=lightgrey]
+ xdc_shelf -> xdc_services_spec;
+ xdc_shelf -> xdc_services_intern_cmd;
+ xdc_shelf -> xdc_utils_tconf;
+ xdc_shelf -> xdc_services_intern_xsr;
+ xdc_shelf -> xdc_services_intern_gen;
+ xdc_shelf -> xdc_services_global;
+
+ edge [style=solid, color=blue]
+ xdc_services_intern_gen -> xdc_shelf;
+ xdc_services_intern_gen -> xdc_services_spec;
+ xdc_services_intern_gen -> xdc_services_global;
+ xdc_services_intern_gen -> xdc_services_intern_xsr;
+
+ edge [style=solid, color=lightgrey]
+ xdc_services_intern_gen -> xdc_services_spec;
+ xdc_services_intern_gen -> xdc_services_intern_cmd;
+ xdc_services_intern_gen -> xdc_utils_tconf;
+ xdc_services_intern_gen -> xdc_services_intern_xsr;
+ xdc_services_intern_gen -> xdc_shelf;
+ xdc_services_intern_gen -> xdc_services_global;
+}
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.rel.xml b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package.rel.xml
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="windows-1252"?>\r
+<!-- This file conforms to the DTD xdc/bld/release.dtd -->\r
+<release name="ti_sdo_codecs_universal" label="default" date="1384185676296" buildCount="1" producerId="undefined">\r
+<package name="ti.sdo.codecs.universal"\r
+ version="1, 0, 0"/>\r
+<imports>\r
+</imports>\r
+<references>\r
+ <package name="xdc.services.intern.gen"\r
+ version="1, 0, 0, 0, 1284507405214"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.shelf"\r
+ version="1, 0, 0, 1284507424737"\r
+ providerId="xdccore">\r
+ <file name="java\antlr.jar"/>\r
+ <file name="java\ecj.jar"/>\r
+ <file name="java\js.jar"/>\r
+ <file name="java\jsr173_api.jar"/>\r
+ <file name="java\tar.jar"/>\r
+ <file name="java\xbean.jar"/>\r
+ </package>\r
+ <package name="xdc.bld"\r
+ version="1, 0, 2, 1284507372516"\r
+ providerId="xdccore">\r
+ <file name="BuildEnvironment.xs"/>\r
+ <file name="Executable.xs"/>\r
+ <file name="ITarget.xs"/>\r
+ <file name="ITargetFilter.xs"/>\r
+ <file name="Library.xs"/>\r
+ <file name="Manifest.xs"/>\r
+ <file name="PackageContents.xs"/>\r
+ <file name="Repository.xs"/>\r
+ <file name="Script.xs"/>\r
+ <file name="Utils.xs"/>\r
+ <file name="_gen.xs"/>\r
+ <file name="bld.js"/>\r
+ <file name="package.xs"/>\r
+ </package>\r
+ <package name="xdc"\r
+ version="1, 1, 1, 1284507365742"\r
+ providerId="xdccore">\r
+ <file name="IPackage.xdc"/>\r
+ <file name="IPackage.xs"/>\r
+ <file name="om2.xs"/>\r
+ <file name="package.xs"/>\r
+ <file name="template.xs"/>\r
+ <file name="xdc.tci"/>\r
+ <file name="xmlgen.xs"/>\r
+ <file name="xmlgen2.xs"/>\r
+ </package>\r
+ <package name="xdc.services.global"\r
+ version="1, 0, 0, 1284507401675"\r
+ providerId="xdccore">\r
+ <file name="Clock.xs"/>\r
+ <file name="Trace.xs"/>\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.spec"\r
+ version="1, 0, 0, 0, 1284507414889"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.cmd"\r
+ version="1, 0, 0, 0, 1284507405123"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <package name="xdc.services.intern.xsr"\r
+ version="1, 0, 0, 1284507408194"\r
+ providerId="xdccore">\r
+ <file name="java\package.jar"/>\r
+ </package>\r
+ <xdcRoot base="E:/WriteHere/xdctools_3_20_04_68/">\r
+ <file name="/packages/xdc/package.xdc"/>\r
+ <file name="etc\config.bld"/>\r
+ <file name="include\utils.tci"/>\r
+ <xdcCorePkg version="16, 0, 2, 0, 1284507377139" producerId="undefined" buildCount="279" releaseName="xdc_corevers" label="default" date="1284507377139"/>\r
+ </xdcRoot>\r
+</references>\r
+<orphans>\r
+</orphans>\r
+</release>\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package_ti.sdo.codecs.universal.c b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package_ti.sdo.codecs.universal.c
--- /dev/null
+++ b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/package_ti.sdo.codecs.universal.c
@@ -0,0 +1,21 @@
+/*\r
+ * Do not modify this file; it is automatically \r
+ * generated and any modifications will be overwritten.\r
+ *\r
+ * @(#) xdc-v49\r
+ */\r
+\r
+#include <xdc/std.h>\r
+\r
+__FAR__ char ti_sdo_codecs_universal__dummy__;\r
+\r
+#define __xdc_PKGVERS 1, 0, 0\r
+#define __xdc_PKGNAME ti.sdo.codecs.universal\r
+#define __xdc_PKGPREFIX ti_sdo_codecs_universal_\r
+\r
+#ifdef __xdc_bld_pkg_c__\r
+#define __stringify(a) #a\r
+#define __local_include(a) __stringify(a)\r
+#include __local_include(__xdc_bld_pkg_c__)\r
+#endif\r
+\r
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.ccs b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.ccs
new file mode 100644 (file)
index 0000000..a785dc5
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.ccs differ
index 0000000..a785dc5
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.ccs differ
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.sch b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti.sdo.codecs.universal.sch
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.class b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.class
new file mode 100644 (file)
index 0000000..7b765a0
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.class differ
index 0000000..7b765a0
Binary files /dev/null and b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.class differ
diff --git a/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.java b/extrel/ti/dsp_codecs/packages/ti/sdo/codecs/universal/package/ti_sdo_codecs_universal.java
--- /dev/null
@@ -0,0 +1,242 @@
+/*
+ * Do not modify this file; it is automatically
+ * generated and any modifications will be overwritten.
+ *
+ * @(#) xdc-v49
+ */
+import java.util.*;
+import org.mozilla.javascript.*;
+import xdc.services.intern.xsr.*;
+import xdc.services.spec.*;
+
+public class ti_sdo_codecs_universal
+{
+ static final String VERS = "@(#) xdc-v49\n";
+
+ static final Proto.Elm $$T_Bool = Proto.Elm.newBool();
+ static final Proto.Elm $$T_Num = Proto.Elm.newNum();
+ static final Proto.Elm $$T_Str = Proto.Elm.newStr();
+ static final Proto.Elm $$T_Obj = Proto.Elm.newObj();
+
+ static final Proto.Fxn $$T_Met = new Proto.Fxn(null, null, 0, -1, false);
+ static final Proto.Map $$T_Map = new Proto.Map($$T_Obj);
+ static final Proto.Arr $$T_Vec = new Proto.Arr($$T_Obj);
+
+ static final XScriptO $$DEFAULT = Value.DEFAULT;
+ static final Object $$UNDEF = Undefined.instance;
+
+ static final Proto.Obj $$Package = (Proto.Obj)Global.get("$$Package");
+ static final Proto.Obj $$Module = (Proto.Obj)Global.get("$$Module");
+ static final Proto.Obj $$Instance = (Proto.Obj)Global.get("$$Instance");
+ static final Proto.Obj $$Params = (Proto.Obj)Global.get("$$Params");
+
+ static final Object $$objFldGet = Global.get("$$objFldGet");
+ static final Object $$objFldSet = Global.get("$$objFldSet");
+ static final Object $$proxyGet = Global.get("$$proxyGet");
+ static final Object $$proxySet = Global.get("$$proxySet");
+ static final Object $$delegGet = Global.get("$$delegGet");
+ static final Object $$delegSet = Global.get("$$delegSet");
+
+ Scriptable xdcO;
+ Session ses;
+ Value.Obj om;
+
+ boolean isROV;
+ boolean isCFG;
+
+ Proto.Obj pkgP;
+ Value.Obj pkgV;
+
+ ArrayList<Object> imports = new ArrayList<Object>();
+ ArrayList<Object> loggables = new ArrayList<Object>();
+ ArrayList<Object> mcfgs = new ArrayList<Object>();
+ ArrayList<Object> proxies = new ArrayList<Object>();
+ ArrayList<Object> sizes = new ArrayList<Object>();
+ ArrayList<Object> tdefs = new ArrayList<Object>();
+
+ void $$IMPORTS()
+ {
+ Global.callFxn("loadPackage", xdcO, "xdc");
+ Global.callFxn("loadPackage", xdcO, "xdc.corevers");
+ }
+
+ void $$OBJECTS()
+ {
+ pkgP = (Proto.Obj)om.bind("ti.sdo.codecs.universal.Package", new Proto.Obj());
+ pkgV = (Value.Obj)om.bind("ti.sdo.codecs.universal", new Value.Obj("ti.sdo.codecs.universal", pkgP));
+ }
+
+ void UNIVERSAL$$OBJECTS()
+ {
+ Proto.Obj po, spo;
+ Value.Obj vo;
+
+ po = (Proto.Obj)om.bind("ti.sdo.codecs.universal.UNIVERSAL.Module", new Proto.Obj());
+ vo = (Value.Obj)om.bind("ti.sdo.codecs.universal.UNIVERSAL", new Value.Obj("ti.sdo.codecs.universal.UNIVERSAL", po));
+ pkgV.bind("UNIVERSAL", vo);
+ // decls
+ }
+
+ void UNIVERSAL$$CONSTS()
+ {
+ // module UNIVERSAL
+ }
+
+ void UNIVERSAL$$CREATES()
+ {
+ Proto.Fxn fxn;
+ StringBuilder sb;
+
+ }
+
+ void UNIVERSAL$$FUNCTIONS()
+ {
+ Proto.Fxn fxn;
+
+ }
+
+ void UNIVERSAL$$SIZES()
+ {
+ }
+
+ void UNIVERSAL$$TYPES()
+ {
+ Scriptable cap;
+ Proto.Obj po;
+ Proto.Str ps;
+ Proto.Typedef pt;
+ Object fxn;
+
+ po = (Proto.Obj)om.findStrict("ti.sdo.codecs.universal.UNIVERSAL.Module", "ti.sdo.codecs.universal");
+ po.init("ti.sdo.codecs.universal.UNIVERSAL.Module", $$Module);
+ po.addFld("$hostonly", $$T_Num, 1, "r");
+ po.addFld("watermark", $$T_Bool, false, "wh");
+ po.addFld("codeSection", $$T_Str, $$UNDEF, "wh");
+ po.addFld("udataSection", $$T_Str, $$UNDEF, "wh");
+ po.addFld("dataSection", $$T_Str, $$UNDEF, "wh");
+ }
+
+ void UNIVERSAL$$ROV()
+ {
+ }
+
+ void $$SINGLETONS()
+ {
+ pkgP.init("ti.sdo.codecs.universal.Package", (Proto.Obj)om.findStrict("xdc.IPackage.Module", "ti.sdo.codecs.universal"));
+ Scriptable cap = (Scriptable)Global.callFxn("loadCapsule", xdcO, "ti/sdo/codecs/universal/package.xs");
+ om.bind("xdc.IPackage$$capsule", cap);
+ Object fxn;
+ fxn = Global.get(cap, "init");
+ if (fxn != null) pkgP.addFxn("init", (Proto.Fxn)om.findStrict("xdc.IPackage$$init", "ti.sdo.codecs.universal"), fxn);
+ fxn = Global.get(cap, "close");
+ if (fxn != null) pkgP.addFxn("close", (Proto.Fxn)om.findStrict("xdc.IPackage$$close", "ti.sdo.codecs.universal"), fxn);
+ fxn = Global.get(cap, "validate");
+ if (fxn != null) pkgP.addFxn("validate", (Proto.Fxn)om.findStrict("xdc.IPackage$$validate", "ti.sdo.codecs.universal"), fxn);
+ fxn = Global.get(cap, "exit");
+ if (fxn != null) pkgP.addFxn("exit", (Proto.Fxn)om.findStrict("xdc.IPackage$$exit", "ti.sdo.codecs.universal"), fxn);
+ fxn = Global.get(cap, "getLibs");
+ if (fxn != null) pkgP.addFxn("getLibs", (Proto.Fxn)om.findStrict("xdc.IPackage$$getLibs", "ti.sdo.codecs.universal"), fxn);
+ fxn = Global.get(cap, "getSects");
+ if (fxn != null) pkgP.addFxn("getSects", (Proto.Fxn)om.findStrict("xdc.IPackage$$getSects", "ti.sdo.codecs.universal"), fxn);
+ pkgP.bind("$capsule", cap);
+ pkgV.init2(pkgP, "ti.sdo.codecs.universal", Value.DEFAULT, false);
+ pkgV.bind("$name", "ti.sdo.codecs.universal");
+ pkgV.bind("$category", "Package");
+ pkgV.bind("$$qn", "ti.sdo.codecs.universal.");
+ pkgV.bind("$vers", Global.newArray("1, 0, 0"));
+ Value.Map atmap = (Value.Map)pkgV.getv("$attr");
+ atmap.seal("length");
+ imports.clear();
+ pkgV.bind("$imports", imports);
+ StringBuilder sb = new StringBuilder();
+ sb.append("var pkg = xdc.om['ti.sdo.codecs.universal'];\n");
+ sb.append("if (pkg.$vers.length >= 3) {\n");
+ sb.append("pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\n");
+ sb.append("}\n");
+ sb.append("pkg.build.libraries = [\n");
+ sb.append("];\n");
+ sb.append("pkg.build.libDesc = [\n");
+ sb.append("];\n");
+ sb.append("if('suffix' in xdc.om['xdc.IPackage$$LibDesc']) {\n");
+ sb.append("}\n");
+ Global.eval(sb.toString());
+ }
+
+ void UNIVERSAL$$SINGLETONS()
+ {
+ Proto.Obj po;
+ Value.Obj vo;
+
+ vo = (Value.Obj)om.findStrict("ti.sdo.codecs.universal.UNIVERSAL", "ti.sdo.codecs.universal");
+ po = (Proto.Obj)om.findStrict("ti.sdo.codecs.universal.UNIVERSAL.Module", "ti.sdo.codecs.universal");
+ vo.init2(po, "ti.sdo.codecs.universal.UNIVERSAL", $$DEFAULT, false);
+ vo.bind("Module", po);
+ vo.bind("$category", "Module");
+ vo.bind("$capsule", $$UNDEF);
+ vo.bind("$package", om.findStrict("ti.sdo.codecs.universal", "ti.sdo.codecs.universal"));
+ tdefs.clear();
+ proxies.clear();
+ mcfgs.clear();
+ vo.bind("$$tdefs", Global.newArray(tdefs.toArray()));
+ vo.bind("$$proxies", Global.newArray(proxies.toArray()));
+ vo.bind("$$mcfgs", Global.newArray(mcfgs.toArray()));
+ ((Value.Arr)pkgV.getv("$modules")).add(vo);
+ ((Value.Arr)om.findStrict("$modules", "ti.sdo.codecs.universal")).add(vo);
+ vo.bind("$$instflag", 0);
+ vo.bind("$$iobjflag", 1);
+ vo.bind("$$sizeflag", 1);
+ vo.bind("$$dlgflag", 0);
+ vo.bind("$$iflag", 0);
+ vo.bind("$$romcfgs", "|");
+ Proto.Str ps = (Proto.Str)vo.find("Module_State");
+ if (ps != null) vo.bind("$object", ps.newInstance());
+ vo.bind("$$meta_iobj", om.has("ti.sdo.codecs.universal.UNIVERSAL$$instance$static$init", null) ? 1 : 0);
+ vo.bind("$$fxntab", Global.newArray());
+ vo.bind("$$logEvtCfgs", Global.newArray());
+ vo.bind("$$errorDescCfgs", Global.newArray());
+ vo.bind("$$assertDescCfgs", Global.newArray());
+ Value.Map atmap = (Value.Map)vo.getv("$attr");
+ atmap.seal("length");
+ pkgV.bind("UNIVERSAL", vo);
+ ((Value.Arr)pkgV.getv("$unitNames")).add("UNIVERSAL");
+ }
+
+ void $$INITIALIZATION()
+ {
+ Value.Obj vo;
+
+ if (isCFG) {
+ }//isCFG
+ Global.callFxn("module$meta$init", (Scriptable)om.findStrict("ti.sdo.codecs.universal.UNIVERSAL", "ti.sdo.codecs.universal"));
+ Global.callFxn("init", pkgV);
+ ((Value.Obj)om.getv("ti.sdo.codecs.universal.UNIVERSAL")).bless();
+ ((Value.Arr)om.findStrict("$packages", "ti.sdo.codecs.universal")).add(pkgV);
+ }
+
+ public void exec( Scriptable xdcO, Session ses )
+ {
+ this.xdcO = xdcO;
+ this.ses = ses;
+ om = (Value.Obj)xdcO.get("om", null);
+
+ Object o = om.geto("$name");
+ String s = o instanceof String ? (String)o : null;
+ isCFG = s != null && s.equals("cfg");
+ isROV = s != null && s.equals("rov");
+
+ $$IMPORTS();
+ $$OBJECTS();
+ UNIVERSAL$$OBJECTS();
+ UNIVERSAL$$CONSTS();
+ UNIVERSAL$$CREATES();
+ UNIVERSAL$$FUNCTIONS();
+ UNIVERSAL$$SIZES();
+ UNIVERSAL$$TYPES();
+ if (isROV) {
+ UNIVERSAL$$ROV();
+ }//isROV
+ $$SINGLETONS();
+ UNIVERSAL$$SINGLETONS();
+ $$INITIALIZATION();
+ }
+}
diff --git a/platform/ti/dce/baseimage/custom_rsc_table_omap5_dsp.h b/platform/ti/dce/baseimage/custom_rsc_table_omap5_dsp.h
--- /dev/null
@@ -0,0 +1,298 @@
+/*\r
+ * Copyright (c) 2013, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+ \r
+/*\r
+ * ======== custom_rsc_table_omap5_ipu.h ========\r
+ *\r
+ * Define the OMAP5 custom resource table entries for all IPU cores. This will be\r
+ * incorporated into corresponding base images, and used by the remoteproc\r
+ * on the host-side to allocated/reserve resources.\r
+ *\r
+ */\r
+\r
+#ifndef __CUSTOM_RSC_TABLE_OMAP5_DSP_H__\r
+#define __CUSTOM_RSC_TABLE_OMAP5_DSP_H__\r
+\r
+#include <ti/ipc/remoteproc/rsc_types.h>\r
+\r
+/* DSP Memory Map */\r
+#define L4_44XX_BASE 0x4A000000\r
+\r
+#define L4_PERIPHERAL_L4CFG (L4_44XX_BASE)\r
+#define DSP_PERIPHERAL_L4CFG 0x4A000000\r
+\r
+#define L4_PERIPHERAL_L4PER 0x48000000\r
+#define DSP_PERIPHERAL_L4PER 0x48000000\r
+\r
+#define L4_PERIPHERAL_L4EMU 0x54000000\r
+#define DSP_PERIPHERAL_L4EMU 0x54000000\r
+\r
+#define L3_PERIPHERAL_DMM 0x4E000000\r
+#define DSP_PERIPHERAL_DMM 0x4E000000\r
+\r
+\r
+#define L3_PERIPHERAL_ISS 0x52000000\r
+#define DSP_PERIPHERAL_ISS 0x52000000\r
+\r
+#define L3_TILER_MODE_0_1 0x60000000\r
+#define DSP_TILER_MODE_0_1 0x60000000\r
+\r
+#define L3_TILER_MODE_2 0x70000000\r
+#define DSP_TILER_MODE_2 0x70000000\r
+\r
+#define L3_TILER_MODE_3 0x78000000\r
+#define DSP_TILER_MODE_3 0x78000000\r
+\r
+#define DSP_MEM_TEXT 0x20000000\r
+#define DSP_MEM_IOBUFS 0x80000000\r
+#define DSP_MEM_DATA 0x90000000\r
+#define DSP_MEM_HEAP 0x90100000\r
+\r
+#define DSP_MEM_IPC_DATA 0x9F000000\r
+#define DSP_MEM_IPC_VRING 0xA0000000\r
+#define DSP_MEM_RPMSG_VRING0 0xA0000000\r
+#define DSP_MEM_RPMSG_VRING1 0xA0004000\r
+#define DSP_MEM_VRING_BUFS0 0xA0040000\r
+#define DSP_MEM_VRING_BUFS1 0xA0080000\r
+\r
+#define DSP_MEM_IPC_VRING_SIZE SZ_1M\r
+#define DSP_MEM_IPC_DATA_SIZE SZ_1M\r
+#define DSP_MEM_TEXT_SIZE SZ_1M\r
+\r
+#define DSP_MEM_DATA_SIZE SZ_1M\r
+#define DSP_MEM_HEAP_SIZE (SZ_1M * 3)\r
+#define DSP_MEM_IOBUFS_SIZE (SZ_1M * 90)\r
+\r
+/*\r
+ * Assign fixed RAM addresses to facilitate a fixed MMU table.\r
+ * PHYS_MEM_IPC_VRING & PHYS_MEM_IPC_DATA MUST be together.\r
+ */\r
+#define PHYS_MEM_IPC_VRING 0x95000000\r
+\r
+#define PHYS_MEM_IOBUFS 0xBA300000\r
+\r
+/*\r
+ * Sizes of the virtqueues (expressed in number of buffers supported,\r
+ * and must be power of 2)\r
+ */\r
+#define DSP_RPMSG_VQ0_SIZE 256\r
+#define DSP_RPMSG_VQ1_SIZE 256\r
+\r
+/* flip up bits whose indices represent features we support */\r
+#define RPMSG_DSP_C0_FEATURES 1\r
+\r
+struct my_resource_table {\r
+ struct resource_table base;\r
+\r
+ UInt32 offset[16]; /* Should match 'num' in actual definition */\r
+\r
+ /* rpmsg vdev entry */\r
+ struct fw_rsc_vdev rpmsg_vdev;\r
+ struct fw_rsc_vdev_vring rpmsg_vring0;\r
+ struct fw_rsc_vdev_vring rpmsg_vring1;\r
+\r
+ /* text carveout entry */\r
+ struct fw_rsc_carveout text_cout;\r
+\r
+ /* data carveout entry */\r
+ struct fw_rsc_carveout data_cout;\r
+ /* heap carveout entry */\r
+ struct fw_rsc_carveout heap_cout;\r
+\r
+ /* ipcdata carveout entry */\r
+ struct fw_rsc_carveout ipcdata_cout;\r
+\r
+ /* trace entry */\r
+ struct fw_rsc_trace trace;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem0;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem1;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem2;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem3;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem4;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem5;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem6;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem7;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem8;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem9;\r
+};\r
+\r
+extern char ti_trace_SysMin_Module_State_0_outbuf__A;\r
+#define TRACEBUFADDR (UInt32)&ti_trace_SysMin_Module_State_0_outbuf__A\r
+\r
+#pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")\r
+#pragma DATA_ALIGN(ti_ipc_remoteproc_ResourceTable, 4096)\r
+\r
+struct my_resource_table ti_ipc_remoteproc_ResourceTable = {\r
+ 1, /* we're the first version that implements this */\r
+ 16, /* number of entries in the table */\r
+ 0, 0, /* reserved, must be zero */\r
+ /* offsets to entries */\r
+ {\r
+ offsetof(struct my_resource_table, rpmsg_vdev),\r
+ offsetof(struct my_resource_table, text_cout),\r
+ offsetof(struct my_resource_table, data_cout),\r
+ offsetof(struct my_resource_table, heap_cout),\r
+ offsetof(struct my_resource_table, ipcdata_cout),\r
+ offsetof(struct my_resource_table, trace),\r
+ offsetof(struct my_resource_table, devmem0),\r
+ offsetof(struct my_resource_table, devmem1),\r
+ offsetof(struct my_resource_table, devmem2),\r
+ offsetof(struct my_resource_table, devmem3),\r
+ offsetof(struct my_resource_table, devmem4),\r
+ offsetof(struct my_resource_table, devmem5),\r
+ offsetof(struct my_resource_table, devmem6),\r
+ offsetof(struct my_resource_table, devmem7),\r
+ offsetof(struct my_resource_table, devmem8),\r
+ offsetof(struct my_resource_table, devmem9),\r
+ },\r
+\r
+ /* rpmsg vdev entry */\r
+ {\r
+ TYPE_VDEV, VIRTIO_ID_RPMSG, 0,\r
+ RPMSG_DSP_C0_FEATURES, 0, 0, 0, 2, { 0, 0 },\r
+ /* no config data */\r
+ },\r
+ /* the two vrings */\r
+ { DSP_MEM_RPMSG_VRING0, 4096, DSP_RPMSG_VQ0_SIZE, 1, 0 },\r
+ { DSP_MEM_RPMSG_VRING1, 4096, DSP_RPMSG_VQ1_SIZE, 2, 0 },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_TEXT, 0,\r
+ DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_DATA, 0,\r
+ DSP_MEM_DATA_SIZE, 0, 0, "DSP_MEM_DATA",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_HEAP, 0,\r
+ DSP_MEM_HEAP_SIZE, 0, 0, "DSP_MEM_HEAP",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_IPC_DATA, 0,\r
+ DSP_MEM_IPC_DATA_SIZE, 0, 0, "DSP_MEM_IPC_DATA",\r
+ },\r
+\r
+ {\r
+ TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_MEM_IPC_VRING, PHYS_MEM_IPC_VRING,\r
+ DSP_MEM_IPC_VRING_SIZE, 0, 0, "DSP_MEM_IPC_VRING",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_MEM_IOBUFS, PHYS_MEM_IOBUFS,\r
+ DSP_MEM_IOBUFS_SIZE, 0, 0, "DSP_MEM_IOBUFS",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_0_1, L3_TILER_MODE_0_1,\r
+ SZ_256M, 0, 0, "DSP_TILER_MODE_0_1",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_2, L3_TILER_MODE_2,\r
+ SZ_128M, 0, 0, "DSP_TILER_MODE_2",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_3, L3_TILER_MODE_3,\r
+ SZ_128M, 0, 0, "DSP_TILER_MODE_3",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4CFG, L4_PERIPHERAL_L4CFG,\r
+ SZ_16M, 0, 0, "DSP_PERIPHERAL_L4CFG",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4PER, L4_PERIPHERAL_L4PER,\r
+ SZ_16M, 0, 0, "DSP_PERIPHERAL_L4PER",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4EMU, L4_PERIPHERAL_L4EMU,\r
+ SZ_16M, 0, 0, "DSP_PERIPHERAL_L4EMU",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_DMM, L3_PERIPHERAL_DMM,\r
+ SZ_1M, 0, 0, "DSP_PERIPHERAL_DMM",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_ISS, L3_PERIPHERAL_ISS,\r
+ SZ_256K, 0, 0, "DSP_PERIPHERAL_ISS",\r
+ },\r
+};\r
+\r
+#endif /* __CUSTOM_RSC_TABLE_OMAP5_DSP_H__ */\r
+\r
diff --git a/platform/ti/dce/baseimage/custom_rsc_table_vayu_dsp.h b/platform/ti/dce/baseimage/custom_rsc_table_vayu_dsp.h
--- /dev/null
@@ -0,0 +1,327 @@
+/*\r
+ * Copyright (c) 2013, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+ \r
+/*\r
+ * ======== custom_rsc_table_vayu_ipu.h ========\r
+ *\r
+ * Define the VAYU/DRA7xx custom resource table entries for all IPU cores. This will be\r
+ * incorporated into corresponding base images, and used by the remoteproc\r
+ * on the host-side to allocated/reserve resources.\r
+ *\r
+ */\r
+\r
+#ifndef __CUSTOM_RSC_TABLE_VAYU_DSP_H__\r
+#define __CUSTOM_RSC_TABLE_VAYU_DSP_H__\r
+\r
+#include <ti/ipc/remoteproc/rsc_types.h>\r
+\r
+/* DSP Memory Map */\r
+#define L4_DRA7XX_BASE 0x4A000000\r
+\r
+/* L4_CFG & L4_WKUP */\r
+#define L4_PERIPHERAL_L4CFG (L4_DRA7XX_BASE)\r
+#define DSP_PERIPHERAL_L4CFG 0x4A000000\r
+\r
+#define L4_PERIPHERAL_L4PER1 0x48000000\r
+#define DSP_PERIPHERAL_L4PER1 0x48000000\r
+\r
+#define L4_PERIPHERAL_L4PER2 0x48400000\r
+#define DSP_PERIPHERAL_L4PER2 0x48400000\r
+\r
+#define L4_PERIPHERAL_L4PER3 0x48800000\r
+#define DSP_PERIPHERAL_L4PER3 0x48800000\r
+\r
+#define L4_PERIPHERAL_L4EMU 0x54000000\r
+#define DSP_PERIPHERAL_L4EMU 0x54000000\r
+\r
+#define L3_PERIPHERAL_DMM 0x4E000000\r
+#define DSP_PERIPHERAL_DMM 0x4E000000\r
+\r
+\r
+#define L3_PERIPHERAL_ISS 0x52000000\r
+#define DSP_PERIPHERAL_ISS 0x52000000\r
+\r
+#define L3_TILER_MODE_0_1 0x60000000\r
+#define DSP_TILER_MODE_0_1 0x60000000\r
+\r
+#define L3_TILER_MODE_2 0x70000000\r
+#define DSP_TILER_MODE_2 0x70000000\r
+\r
+#define L3_TILER_MODE_3 0x78000000\r
+#define DSP_TILER_MODE_3 0x78000000\r
+\r
+#define DSP_MEM_TEXT 0x95000000\r
+#define DSP_MEM_IOBUFS 0x80000000\r
+#define DSP_MEM_DATA 0x95100000\r
+#define DSP_MEM_HEAP 0x95200000\r
+\r
+#define DSP_MEM_IPC_DATA 0x9F000000\r
+#define DSP_MEM_IPC_VRING 0xA0000000\r
+#define DSP_MEM_RPMSG_VRING0 0xA0000000\r
+#define DSP_MEM_RPMSG_VRING1 0xA0004000\r
+#define DSP_MEM_VRING_BUFS0 0xA0040000\r
+#define DSP_MEM_VRING_BUFS1 0xA0080000\r
+\r
+#define DSP_MEM_IPC_VRING_SIZE SZ_1M\r
+#define DSP_MEM_IPC_DATA_SIZE SZ_1M\r
+\r
+#define DSP_MEM_TEXT_SIZE SZ_1M\r
+\r
+#define DSP_MEM_DATA_SIZE SZ_1M\r
+#define DSP_MEM_HEAP_SIZE (SZ_1M * 3)\r
+#define DSP_MEM_IOBUFS_SIZE (SZ_1M * 90)\r
+\r
+/*\r
+ * Assign fixed RAM addresses to facilitate a fixed MMU table.\r
+ * PHYS_MEM_IPC_VRING & PHYS_MEM_IPC_DATA MUST be together.\r
+ */\r
+/* See CMA BASE addresses in Linux side: arch/arm/mach-omap2/remoteproc.c */\r
+\r
+#define PHYS_MEM_IPC_VRING 0x95000000\r
+#define PHYS_MEM_IOBUFS 0xBA300000\r
+\r
+/*\r
+ * Sizes of the virtqueues (expressed in number of buffers supported,\r
+ * and must be power of 2)\r
+ */\r
+#define DSP_RPMSG_VQ0_SIZE 256\r
+#define DSP_RPMSG_VQ1_SIZE 256\r
+\r
+/* flip up bits whose indices represent features we support */\r
+#define RPMSG_DSP_C0_FEATURES 1\r
+\r
+struct my_resource_table {\r
+ struct resource_table base;\r
+\r
+ UInt32 offset[18]; /* Should match 'num' in actual definition */\r
+\r
+ /* rpmsg vdev entry */\r
+ struct fw_rsc_vdev rpmsg_vdev;\r
+ struct fw_rsc_vdev_vring rpmsg_vring0;\r
+ struct fw_rsc_vdev_vring rpmsg_vring1;\r
+\r
+ /* text carveout entry */\r
+ struct fw_rsc_carveout text_cout;\r
+\r
+ /* data carveout entry */\r
+ struct fw_rsc_carveout data_cout;\r
+ /* heap carveout entry */\r
+ struct fw_rsc_carveout heap_cout;\r
+\r
+ /* ipcdata carveout entry */\r
+ struct fw_rsc_carveout ipcdata_cout;\r
+\r
+ /* trace entry */\r
+ struct fw_rsc_trace trace;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem0;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem1;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem2;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem3;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem4;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem5;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem6;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem7;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem8;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem9;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem10;\r
+\r
+ /* devmem entry */\r
+ struct fw_rsc_devmem devmem11;\r
+};\r
+\r
+extern char ti_trace_SysMin_Module_State_0_outbuf__A;\r
+#define TRACEBUFADDR (UInt32)&ti_trace_SysMin_Module_State_0_outbuf__A\r
+\r
+#pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")\r
+#pragma DATA_ALIGN(ti_ipc_remoteproc_ResourceTable, 4096)\r
+\r
+struct my_resource_table ti_ipc_remoteproc_ResourceTable = {\r
+ 1, /* we're the first version that implements this */\r
+ 18, /* number of entries in the table */\r
+ 0, 0, /* reserved, must be zero */\r
+ /* offsets to entries */\r
+ {\r
+ offsetof(struct my_resource_table, rpmsg_vdev),\r
+ offsetof(struct my_resource_table, text_cout),\r
+ offsetof(struct my_resource_table, data_cout),\r
+ offsetof(struct my_resource_table, heap_cout),\r
+ offsetof(struct my_resource_table, ipcdata_cout),\r
+ offsetof(struct my_resource_table, trace),\r
+ offsetof(struct my_resource_table, devmem0),\r
+ offsetof(struct my_resource_table, devmem1),\r
+ offsetof(struct my_resource_table, devmem2),\r
+ offsetof(struct my_resource_table, devmem3),\r
+ offsetof(struct my_resource_table, devmem4),\r
+ offsetof(struct my_resource_table, devmem5),\r
+ offsetof(struct my_resource_table, devmem6),\r
+ offsetof(struct my_resource_table, devmem7),\r
+ offsetof(struct my_resource_table, devmem8),\r
+ offsetof(struct my_resource_table, devmem9),\r
+ offsetof(struct my_resource_table, devmem10),\r
+ offsetof(struct my_resource_table, devmem11),\r
+ },\r
+\r
+ /* rpmsg vdev entry */\r
+ {\r
+ TYPE_VDEV, VIRTIO_ID_RPMSG, 0,\r
+ RPMSG_DSP_C0_FEATURES, 0, 0, 0, 2, { 0, 0 },\r
+ /* no config data */\r
+ },\r
+ /* the two vrings */\r
+ { DSP_MEM_RPMSG_VRING0, 4096, DSP_RPMSG_VQ0_SIZE, 1, 0 },\r
+ { DSP_MEM_RPMSG_VRING1, 4096, DSP_RPMSG_VQ1_SIZE, 2, 0 },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_TEXT, 0,\r
+ DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_DATA, 0,\r
+ DSP_MEM_DATA_SIZE, 0, 0, "DSP_MEM_DATA",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_HEAP, 0,\r
+ DSP_MEM_HEAP_SIZE, 0, 0, "DSP_MEM_HEAP",\r
+ },\r
+\r
+ {\r
+ TYPE_CARVEOUT,\r
+ DSP_MEM_IPC_DATA, 0,\r
+ DSP_MEM_IPC_DATA_SIZE, 0, 0, "DSP_MEM_IPC_DATA",\r
+ },\r
+\r
+ {\r
+ TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_MEM_IPC_VRING, PHYS_MEM_IPC_VRING,\r
+ DSP_MEM_IPC_VRING_SIZE, 0, 0, "DSP_MEM_IPC_VRING",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_MEM_IOBUFS, PHYS_MEM_IOBUFS,\r
+ DSP_MEM_IOBUFS_SIZE, 0, 0, "DSP_MEM_IOBUFS",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_0_1, L3_TILER_MODE_0_1,\r
+ SZ_256M, 0, 0, "DSP_TILER_MODE_0_1",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_2, L3_TILER_MODE_2,\r
+ SZ_128M, 0, 0, "DSP_TILER_MODE_2",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_TILER_MODE_3, L3_TILER_MODE_3,\r
+ SZ_128M, 0, 0, "DSP_TILER_MODE_3",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4CFG, L4_PERIPHERAL_L4CFG,\r
+ SZ_16M, 0, 0, "DSP_PERIPHERAL_L4CFG",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4PER1, L4_PERIPHERAL_L4PER1,\r
+ SZ_2M, 0, 0, "DSP_PERIPHERAL_L4PER1",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4PER2, L4_PERIPHERAL_L4PER2,\r
+ SZ_4M, 0, 0, "DSP_PERIPHERAL_L4PER2",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4PER3, L4_PERIPHERAL_L4PER3,\r
+ SZ_8M, 0, 0, "DSP_PERIPHERAL_L4PER3",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_L4EMU, L4_PERIPHERAL_L4EMU,\r
+ SZ_16M, 0, 0, "DSP_PERIPHERAL_L4EMU",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_DMM, L3_PERIPHERAL_DMM,\r
+ SZ_1M, 0, 0, "DSP_PERIPHERAL_DMM",\r
+ },\r
+\r
+ {\r
+ TYPE_DEVMEM,\r
+ DSP_PERIPHERAL_ISS, L3_PERIPHERAL_ISS,\r
+ SZ_256K, 0, 0, "DSP_PERIPHERAL_ISS",\r
+ },\r
+};\r
+\r
+#endif /* __CUSTOM_RSC_TABLE_VAYU_DSP_H__ */\r
+\r
diff --git a/platform/ti/dce/baseimage/dce_dsp.cfg b/platform/ti/dce/baseimage/dce_dsp.cfg
--- /dev/null
@@ -0,0 +1,195 @@
+/*\r
+ * Copyright (c) 2011, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+\r
+var hw_OMAP4 = 0;\r
+var hw_OMAP5 = 1;\r
+var hw_VAYU = 2;\r
+var VIRTIO = 0;\r
+var ZEBU = 0;\r
+var ES10 = 1;\r
+var ES20 = 2;\r
+\r
+var Program = xdc.useModule('xdc.cfg.Program');\r
+\r
+var cfgArgs = prog.build.cfgArgs;\r
+\r
+Program.global.HwType = cfgArgs.HwType;\r
+Program.global.enableSMP = cfgArgs.enableSMP;\r
+Program.global.HwVer = cfgArgs.HwVer;\r
+Program.global.coreName = "dsp";\r
+\r
+print("HwType = " + Program.global.HwType);\r
+\r
+if(Program.global.HwType == hw_VAYU)\r
+{\r
+ // xdc.loadCapsule("ti/configs/vayu/IpcCommon.cfg.xs");\r
+ xdc.includeFile("ti/configs/vayu/Dsp1.cfg");\r
+ \r
+}\r
+else\r
+{\r
+ // xdc.loadCapsule("ti/configs/omap54xx/IpcCommon.cfg.xs");\r
+ xdc.includeFile("ti/configs/omap54xx/Dsp.cfg");\r
+ xdc.includeFile("ti/configs/omap54xx/DspAmmu.cfg");\r
+}\r
+\r
+xdc.loadPackage('ti.ipc.mm');\r
+xdc.loadPackage('ti.ipc.ipcmgr');\r
+xdc.loadPackage('ti.srvmgr');\r
+xdc.loadPackage('ti.srvmgr.omaprpc');\r
+\r
+// Disabling default IpcCommon trace\r
+var Registry = xdc.useModule('xdc.runtime.Registry');\r
+var Diags = xdc.useModule('xdc.runtime.Diags');\r
+var Task = xdc.useModule('ti.sysbios.knl.Task');\r
+Task.common$.namedInstance = true;\r
+\r
+Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;\r
+Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;\r
+Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;\r
+Registry.common$.diags_INFO = Diags.RUNTIME_OFF;\r
+Registry.common$.diags_LIFECYCLE = Diags.ALWAYS_ON;\r
+Registry.common$.diags_STATUS = Diags.ALWAYS_ON;\r
+Diags.setMaskEnabled = true;\r
+\r
+var Memory = xdc.useModule('xdc.runtime.Memory');\r
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');\r
+var GateHwi = xdc.useModule('ti.sysbios.gates.GateHwi');\r
+HeapMem.common$.gate = GateHwi.create();\r
+\r
+\r
+var heapMemParams = new HeapMem.Params;\r
+heapMemParams.size = 0x280000; // 2.5MB\r
+heapMemParams.sectionName = ".systemHeap";\r
+var heap0 = HeapMem.create(heapMemParams);\r
+Memory.defaultHeapInstance = heap0;\r
+Program.global.heap0 = heap0;\r
+\r
+/*\r
+ * Setup memory map.\r
+ */\r
+\r
+/* Mark heaps as NOINIT for optimizing boot-time */\r
+Program.sectMap[".systemHeap"] = new Program.SectionSpec();\r
+Program.sectMap[".systemHeap"].loadSegment = "EXT_HEAP";\r
+Program.sectMap[".systemHeap"].type = "NOINIT";\r
+\r
+\r
+/* ----------------------------- VERSION CONFIGURATION ---------------------*/\r
+var commonBld = xdc.loadCapsule("build/common.bld");\r
+commonBld.GetVersionTag();\r
+\r
+/*\r
+ * ======== CODEC ENGINE configurations ========\r
+ */\r
+\r
+var Global = xdc.useModule('ti.sdo.ce.osal.Global');\r
+Global.runtimeEnv = Global.DSPBIOS;\r
+\r
+xdc.useModule('ti.sdo.ce.global.Settings').profile = "debug";\r
+xdc.loadPackage('ti.sdo.ce.video').profile = "debug";\r
+xdc.loadPackage('ti.sdo.ce.video3').profile = "debug";\r
+xdc.loadPackage('ti.sdo.ce.alg').profile = "debug";\r
+\r
+var HeapBufMP = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP');\r
+\r
+var ipcSettings = xdc.useModule('ti.sdo.ce.ipc.Settings');\r
+ipcSettings.ipc = xdc.useModule('ti.sdo.ce.ipc.bios.Ipc');\r
+// set to true to enable debugging of codec engine\r
+xdc.useModule('ti.sdo.ce.Settings').checked = true;\r
+\r
+/* Enable Memory Translation module that operates on the BIOS Resource Table */\r
+var Resource = xdc.useModule('ti.ipc.remoteproc.Resource');\r
+Resource.customTable = true;\r
+\r
+// Load decoder/encoder APIs:\r
+var VIDDEC2 = xdc.useModule('ti.sdo.ce.video2.IVIDDEC2');\r
+var UNIVERSAL = xdc.useModule('ti.sdo.ce.universal.IUNIVERSAL');\r
+\r
+// load whatever codecs are available in the build\r
+var codecs = [];\r
+\r
+function loadCodec(pkg, name)\r
+{\r
+ try {\r
+ var codec = xdc.useModule(pkg);\r
+ print('loading: ' + name);\r
+ codecs.push({ name: name, mod: codec, local: true });\r
+ } catch(e) {\r
+ print('no package: ' + pkg);\r
+ }\r
+}\r
+\r
+loadCodec('ti.sdo.codecs.universal.ce.UNIVERSAL', 'dsp_universalCopy');\r
+\r
+var engine = xdc.useModule('ti.sdo.ce.Engine');\r
+var myEngine = engine.create("dsp_vidsvr", codecs);\r
+\r
+xdc.useModule('ti.sysbios.knl.Task');\r
+var Task = xdc.useModule('ti.sysbios.knl.Task');\r
+Task.defaultStackSize = 12 * 0x400;\r
+\r
+/* ----------------------------- Configure BIOS--------------------------------*/\r
+\r
+BIOS = xdc.useModule('ti.sysbios.BIOS');\r
+BIOS.addUserStartupFunction('&IpcMgr_rpmsgStartup');\r
+\r
+BIOS.clockEnabled = true;\r
+BIOS.libType = BIOS.LibType_Custom;\r
+BIOS.smpEnabled = false;\r
+\r
+\r
+var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');\r
+if(Program.global.HwType == hw_OMAP5 || Program.global.HwType == hw_VAYU)\r
+{\r
+ /*\r
+ BIOS assumes that default frequency is 38.4 MHz. On OMAP5, SYS_CLK is used to source\r
+ Hence it is clocked at 19.2 MHz.\r
+\r
+ Locally setting the BIOS configuration for GPT and CTM for OMAP5 till actual changes are\r
+ present in omap54xx/ipu/Platform.xdc\r
+ */\r
+ Timer.intFreq.hi = 0;\r
+ Timer.intFreq.lo = 19200000;\r
+ BIOS.cpuFreq.hi = 0;\r
+ BIOS.cpuFreq.lo = 600000000;\r
+}\r
+\r
+Program.sectMap[".plt"] = "EXT_DATA";\r
+\r
+\r
+/* IPC 3.x is no longer providing version capability. If needed, then IPC needs to implement it. */\r
+ /* Version module; this will produce a .version section with trees infos. Read\r
+ * with "readelf -p .version <base_image>" */\r
+// xdc.useModule('ti.utils.Version');\r
+\r
diff --git a/platform/ti/dce/baseimage/load_task.c b/platform/ti/dce/baseimage/load_task.c
--- /dev/null
@@ -0,0 +1,118 @@
+/*\r
+ * Monitor load and trace any change.\r
+ * Author: Vincent Stehlé <v-stehle@ti.com>, copied from ping_tasks.c\r
+ *\r
+ * Copyright (c) 2011, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#include <xdc/std.h>\r
+#include <xdc/cfg/global.h>\r
+#include <xdc/runtime/System.h>\r
+\r
+#include <ti/sysbios/BIOS.h>\r
+#include <ti/sysbios/knl/Task.h>\r
+#include <ti/sysbios/smp/Load.h>\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+\r
+/*\r
+ * Time to sleep between load reporting attempts, in ticks.\r
+ * On TI platforms, 1 tick == 1 ms.\r
+ */\r
+#define SLEEP_TICKS 1000\r
+\r
+/*\r
+ * Load reporting "threshold". When the new load is within previous reported\r
+ * load +- this value, we do not report it.\r
+ */\r
+#define THRESHOLD 1\r
+\r
+/* Monitor load and trace any change. */\r
+static Void loadTaskFxn(UArg arg0, UArg arg1)\r
+{\r
+ UInt32 prev_load = 0;\r
+\r
+ /* Suppress warnings. */\r
+ (void)arg0;\r
+ (void)arg1;\r
+\r
+ System_printf(\r
+ "loadTask: started\n"\r
+ " SLEEP_TICKS: %u\n"\r
+ " Load_hwiEnabled: %d\n"\r
+ " Load_swiEnabled: %d\n"\r
+ " Load_taskEnabled: %d\n"\r
+ " Load_updateInIdle: %d\n"\r
+ " Load_windowInMs: %u\n"\r
+ ,\r
+ SLEEP_TICKS,\r
+ Load_hwiEnabled,\r
+ Load_swiEnabled,\r
+ Load_taskEnabled,\r
+ Load_updateInIdle,\r
+ Load_windowInMs\r
+ );\r
+\r
+ /* Infinite loop to trace load. */\r
+ for (;;) {\r
+ UInt32 load;\r
+ unsigned delta;\r
+\r
+ /* Get load. */\r
+ load = Load_getCPULoad();\r
+\r
+ /* Trace if changed and delta above threshold. */\r
+ delta = abs((int)load - (int)prev_load);\r
+\r
+ if (delta > THRESHOLD) {\r
+ System_printf("loadTask: cpu load = %u%%\n", load);\r
+ prev_load = load;\r
+ }\r
+\r
+ /* Delay. */\r
+ Task_sleep(SLEEP_TICKS);\r
+ }\r
+}\r
+\r
+void start_load_task(void)\r
+{\r
+ Task_Params params;\r
+\r
+ /* Monitor load and trace any change. */\r
+ Task_Params_init(¶ms);\r
+ params.instance->name = "loadtsk";\r
+ params.priority = 1;\r
+\r
+ if(!Task_create(loadTaskFxn, ¶ms, NULL))\r
+ System_printf("Could not create load task!\n");\r
+}\r
diff --git a/platform/ti/dce/baseimage/main.c b/platform/ti/dce/baseimage/main.c
--- /dev/null
@@ -0,0 +1,118 @@
+/*\r
+ * Copyright (c) 2011, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#include <xdc/std.h>\r
+#include <xdc/cfg/global.h>\r
+#include <xdc/runtime/System.h>\r
+#include <xdc/runtime/Diags.h>\r
+#include <xdc/runtime/Error.h>\r
+\r
+#include <ti/ipc/MultiProc.h>\r
+#include <ti/sysbios/BIOS.h>\r
+#include <ti/sysbios/knl/Task.h>\r
+#include <ti/ipc/rpmsg/_RPMessage.h>\r
+#include <ti/ipc/remoteproc/Resource.h>\r
+\r
+#include <ti/grcm/RcmTypes.h>\r
+#include <ti/grcm/RcmServer.h>\r
+#include <ti/framework/dce/dce_priv.h>\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+\r
+// Include the custom resource table for memory configuration.\r
+#if (defined VAYU_ES10)\r
+#include "custom_rsc_table_vayu_dsp.h"\r
+#elif (defined OMAP5432_ES20)\r
+#include "custom_rsc_table_omap5_dsp.h"\r
+#endif\r
+\r
+extern uint32_t dce_debug;\r
+\r
+/* Legacy function to allow Linux side rpmsg sample tests to work: */\r
+extern void start_ping_tasks();\r
+\r
+static unsigned int SyslinkMemUtils_VirtToPhys(Ptr Addr)\r
+{\r
+ unsigned int pa;\r
+\r
+ if( !Addr || Resource_virtToPhys((unsigned int) Addr, &pa)) {\r
+ return (0);\r
+ }\r
+ return (pa);\r
+}\r
+\r
+void *MEMUTILS_getPhysicalAddr(Ptr vaddr)\r
+{\r
+ unsigned int paddr = SyslinkMemUtils_VirtToPhys(vaddr);\r
+\r
+ DEBUG("virtual addr:%x\tphysical addr:%x", vaddr, paddr);\r
+ return ((void *)paddr);\r
+}\r
+\r
+void tools_ShowVersion()\r
+{\r
+ System_printf("\n\n **** DSPMM VERSION INFO **** \n\nCompile DATE %s TIME %s \n", __DATE__, __TIME__);\r
+\r
+ System_printf("\n** DSPMM VERSION INFO END ** \n");\r
+\r
+ System_printf("Trace Buffer PA 0x%x Trace Level %d\\r
+ \nTrace Usage: level:[0-4: 0-no trace, 1-err, 2-debug, 3-info, 4-CE,FC,IPC traces] \n\n",\r
+ MEMUTILS_getPhysicalAddr((Ptr)(TRACEBUFADDR)), dce_debug);\r
+}\r
+\r
+int main(int argc, char * *argv)\r
+{\r
+ extern void start_load_task(void);\r
+ UInt16 hostId;\r
+\r
+ /* Set up interprocessor notifications */\r
+ System_printf("%s starting..\n", MultiProc_getName(MultiProc_self()));\r
+\r
+ hostId = MultiProc_getId("HOST");\r
+ RPMessage_init(hostId);\r
+\r
+ /* Some background ping testing tasks, used by rpmsg samples: */\r
+ start_ping_tasks();\r
+\r
+ /* CPU load reporting in the trace. */\r
+ // start_load_task();\r
+\r
+ /* Dump Tools version */\r
+ tools_ShowVersion();\r
+\r
+ BIOS_start();\r
+\r
+ return (0);\r
+}\r
+\r
diff --git a/platform/ti/dce/baseimage/package.bld b/platform/ti/dce/baseimage/package.bld
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * ======== WTSD_DucatiMMSW/platform/baseimage/package.bld ========
+ */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+var Pkg = xdc.useModule('xdc.bld.PackageContents');
+var compileOpts = " "
+var waval = 0;
+
+var commonBld = xdc.loadCapsule("../build/common.bld");
+
+var SRC_FILES_APP = [
+ "main.c",
+ "ping_tasks.c"
+
+ ];
+
+var SRC_FILES_SYS = [
+];
+
+coreNames = commonBld.getCores(arguments);
+/* select default as dsp */
+if (coreNames.length==0) {
+ coreNames[0] = "dsp";
+}
+
+var profiles = commonBld.getProfiles(arguments);
+/* If no profiles were assigned, build for release */
+if (profiles.length == 0) {
+ profiles[0] = "release";
+}
+
+
+for (var i = 0; i < Build.targets.length; i++) {
+
+ var targ = Build.targets[i];
+
+ for (var j = 0; j < coreNames.length; j++) {
+ var coreName = coreNames[j];
+
+ var cfgFileName = 'dce_' + coreName + '.cfg';
+
+ if(coreName.match(/dsp/)){
+ var SRC_FILES = SRC_FILES_APP;
+ }
+
+ for( var k = 0; k< profiles.length; k++)
+ {
+ var profile = profiles[k];
+ var profileOpts = commonBld.buildOptions(arguments, compileOpts, coreName);
+
+
+ var out_name = 'out/' + coreName + '/' + profile + '/' + coreName;
+
+ print ("config file: " + cfgFileName + "\n");
+ print ("profile: " + profile + "\n");
+ print(profileOpts+"\r\n");
+ print("HwType = " + HwType);
+ print("HwVer = " + HwVer);
+ var exe = Pkg.addExecutable(out_name, targ, targ.platform, {cfgScript:cfgFileName, profile:profile, copts: profileOpts, cfgArgs:"{HwType:" + HwType + "}" });
+
+ exe.addObjects(SRC_FILES);
+
+ }
+ }
+}
+
+
diff --git a/platform/ti/dce/baseimage/package.xdc b/platform/ti/dce/baseimage/package.xdc
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2011, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * ======== package.xdc ========
+ *
+ */
+requires ti.framework.dce;
+
+
+/*!
+ * ======== platform.ti.dce.baseimage ========
+ */
+package platform.ti.dce.baseimage [1,0,0,0] {
+}
diff --git a/platform/ti/dce/baseimage/ping_tasks.c b/platform/ti/dce/baseimage/ping_tasks.c
--- /dev/null
@@ -0,0 +1,118 @@
+/*\r
+ * Copyright (c) 2011, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+/*\r
+ * ======== ping_tasks.c ========\r
+ *\r
+ * Works with the rpmsg_client_sample and rpmsg_server_sample Linux drivers.\r
+ */\r
+\r
+#include <xdc/std.h>\r
+#include <xdc/cfg/global.h>\r
+#include <xdc/runtime/System.h>\r
+\r
+#include <ti/ipc/MultiProc.h>\r
+#include <ti/sysbios/BIOS.h>\r
+#include <ti/sysbios/knl/Task.h>\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+\r
+#include <ti/ipc/rpmsg/RPMessage.h>\r
+#include <ti/ipc/rpmsg/_RPMessage.h>\r
+//#include <ti/ipc/rpmsg/NameMap.h>\r
+\r
+#define APP_NUM_ITERATIONS 100000\r
+\r
+/* Needed due to preprocessing flag in <ti/ipc/rpmsg/NameMap.h> */\r
+extern void NameMap_register(Char *name, Char *desc, UInt32 value);\r
+\r
+Void copyTaskFxn(UArg arg0, UArg arg1)\r
+{\r
+ RPMessage_Handle handle;\r
+ Char buffer[128];\r
+ UInt32 myEndpoint = 0;\r
+ UInt32 remoteEndpoint;\r
+ UInt16 dstProc;\r
+ UInt16 len;\r
+ Int i;\r
+\r
+ System_printf("copyTask %d: Entered...:\n", arg0);\r
+\r
+ dstProc = MultiProc_getId("HOST");\r
+\r
+ RPMessage_init(dstProc);\r
+\r
+ /* Create the messageQ for receiving (and get our endpoint for sending). */\r
+ handle = RPMessage_create(arg0, NULL, NULL, &myEndpoint);\r
+ \r
+ //NameMap_register("rpmsg-client-sample", "sample-desc", arg0);\r
+ NameMap_register("rpmsg-client-sample", "sample-desc", arg0);\r
+ \r
+ for( i = 0; i < APP_NUM_ITERATIONS; i++ ) {\r
+ /* Await a character message: */\r
+ RPMessage_recv(handle, (Ptr)buffer, &len, &remoteEndpoint,\r
+ RPMessage_FOREVER);\r
+\r
+ buffer[len] = '\0';\r
+ System_printf("copyTask %d: Received data: %s, len:%d\n", i + 1,\r
+ buffer, len);\r
+\r
+ /* Send data back to remote endpoint: */\r
+ RPMessage_send(dstProc, remoteEndpoint, myEndpoint, (Ptr)buffer, len);\r
+ }\r
+\r
+ /* Teardown our side: */\r
+ RPMessage_delete(&handle);\r
+\r
+ /* Free MessageQCopy module wide resources: */\r
+ RPMessage_finalize();\r
+}\r
+\r
+void start_ping_tasks()\r
+{\r
+ Task_Params params;\r
+\r
+ /* Respond to ping tests from Linux side rpmsg sample drivers: */\r
+ Task_Params_init(¶ms);\r
+ params.instance->name = "copy0";\r
+ params.priority = 3;\r
+ params.arg0 = 54;\r
+ Task_create(copyTaskFxn, ¶ms, NULL);\r
+\r
+ Task_Params_init(¶ms);\r
+ params.instance->name = "copy1";\r
+ params.priority = 3;\r
+ params.arg0 = 55;\r
+ Task_create(copyTaskFxn, ¶ms, NULL);\r
+}\r
+\r
diff --git a/src/ti/framework/dce/dce.c b/src/ti/framework/dce/dce.c
--- /dev/null
@@ -0,0 +1,811 @@
+/*\r
+ * Copyright (c) 2011, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+ \r
+#include <stdlib.h>\r
+#include <stdint.h>\r
+#include <string.h>\r
+#include <stdio.h>\r
+#include <ti/grcm/RcmServer.h>\r
+#include <ti/grcm/RcmTypes.h>\r
+#include <ti/ipc/mm/MmServiceMgr.h>\r
+#include <ti/ipc/mm/MmRpc.h>\r
+#include <ti/ipc/MultiProc.h>\r
+#include <ti/ipc/rpmsg/RPMessage.h>\r
+#include <ti/ipc/rpmsg/NameMap.h>\r
+#include <ti/pm/IpcPower.h>\r
+#include <ti/sdo/ce/global/CESettings.h>\r
+#include <ti/sdo/ce/CERuntime.h>\r
+#include <ti/sdo/ce/Engine.h>\r
+#include <ti/sdo/ce/video2/viddec2.h>\r
+#include <ti/sdo/ce/universal/universal.h>\r
+#include <ti/sdo/fc/global/FCSettings.h>\r
+#include <ti/sdo/fc/utils/fcutils.h>\r
+#include <ti/sysbios/BIOS.h>\r
+#include <ti/sysbios/hal/Cache.h>\r
+#include <ti/sysbios/knl/Task.h>\r
+#include <ti/xdais/dm/xdm.h>\r
+#include <xdc/cfg/global.h>\r
+#include <xdc/runtime/System.h>\r
+#include <xdc/runtime/Diags.h>\r
+#include <xdc/runtime/Memory.h>\r
+#include <xdc/runtime/IHeap.h>\r
+#include <xdc/runtime/knl/Thread.h>\r
+#include <xdc/std.h>\r
+\r
+#include "dce_priv.h"\r
+#include "dce_rpc.h"\r
+\r
+static uint32_t suspend_initialised = 0;\r
+uint32_t dce_debug = DCE_DEBUG_LEVEL;\r
+\r
+#define SERVER_NAME "rpmsg-dce-dsp"\r
+#define MEMORYSTATS_DEBUG\r
+\r
+#define MmRpc_NUM_PARAMETERS(size) \\r
+ (size / sizeof(MmType_Param))\r
+\r
+/* dce_inv, dce_clean needs to be modified to expect buffers */\r
+/* without headers (relevant for GLP */\r
+static void dce_inv(void *ptr)\r
+{\r
+ if( ptr ) {\r
+ Cache_inv(ptr, P2H(ptr)->size, Cache_Type_ALL, TRUE);\r
+ }\r
+}\r
+\r
+static void dce_clean(void *ptr)\r
+{\r
+ if( ptr ) {\r
+ Cache_wbInv(ptr, P2H(ptr)->size, Cache_Type_ALL, TRUE);\r
+ }\r
+}\r
+\r
+typedef void * (*CreateFxn)(Engine_Handle, String, void *);\r
+typedef Int32 (*ControlFxn)(void *, int, void *, void *);\r
+typedef Int32 (*ProcessFxn)(void *, void *, void *, void *, void *);\r
+typedef Int32 (*RelocFxn)(void *, uint8_t *ptr, uint32_t len);\r
+typedef void (*DeleteFxn)(void *);\r
+\r
+/* DCE Server static function declarations */\r
+static Int32 engine_open(UInt32 size, UInt32 *data);\r
+static Int32 engine_close(UInt32 size, UInt32 *data);\r
+\r
+/* VIDDEC2 Decoder Server static function declarations */\r
+static VIDDEC2_Handle viddec2_create(Engine_Handle engine, String name, VIDDEC2_Params *params);\r
+static int viddec2_reloc(VIDDEC2_Handle handle, uint8_t *ptr, uint32_t len); \r
+static int viddec2_control(VIDDEC2_Handle handle, VIDDEC2_Cmd id, VIDDEC2_DynamicParams *dynParams, \r
+ VIDDEC2_Status *status );\r
+static int viddec2_process(VIDDEC2_Handle handle, XDM1_BufDesc *inBufs,\r
+ XDM_BufDesc *outBufs, VIDDEC2_InArgs *inArgs, VIDDEC2_OutArgs *outArgs );\r
+static int viddec2_delete(VIDDEC2_Handle handle); \r
+ \r
+static struct {\r
+ CreateFxn create;\r
+ ControlFxn control;\r
+ ProcessFxn process;\r
+ DeleteFxn delete;\r
+ RelocFxn reloc; /* handle buffer relocation table */\r
+} codec_fxns[] =\r
+{\r
+ [OMAP_DCE_VIDDEC2] =\r
+ {\r
+ (CreateFxn)viddec2_create, (ControlFxn)viddec2_control,\r
+ (ProcessFxn)viddec2_process, (DeleteFxn)viddec2_delete,\r
+ (RelocFxn)viddec2_reloc,\r
+ },\r
+};\r
+\r
+\r
+/* Static version string buffer.\r
+ * Note: codec version can be large. For example, h264vdec needs more than\r
+ * 58 characters, or the query will fail. */\r
+#define VERSION_SIZE 128\r
+static char version_buffer[VERSION_SIZE];\r
+\r
+/* the following callbacks are needed for suspend/resume\r
+ * on the linux side.\r
+ * - FC_suspend() waits for all algorithms to get deactivated and\r
+ * and takes care of the resources acquired.\r
+ * - FC_resume() does nothing for now, but we add it just in case\r
+ * it gets populated in the future versions of framework components.\r
+ *\r
+ * Forced off mode during video decode/encode is not supported. */\r
+#if 0 \r
+static void dce_suspend()\r
+{\r
+ INFO("Preparing for suspend...");\r
+ FC_suspend();\r
+}\r
+\r
+static void dce_resume()\r
+{\r
+ INFO("Restoring after suspend...");\r
+ FC_resume();\r
+}\r
+#endif\r
+\r
+static void get_universal_version(UNIVERSAL_Handle h, char *buffer, unsigned size)\r
+{\r
+ UNIVERSAL_DynamicParams params =\r
+ {\r
+ .size = sizeof(UNIVERSAL_DynamicParams),\r
+ };\r
+\r
+ UNIVERSAL_Status status =\r
+ {\r
+ .size = sizeof(UNIVERSAL_Status),\r
+ .data =\r
+ {\r
+ .numBufs = 1,\r
+ .descs[0].buf = (XDAS_Int8 *)buffer,\r
+ .descs[0].bufSize = (XDAS_Int32)size,\r
+ },\r
+ };\r
+\r
+ XDAS_Int32 s;\r
+\r
+ memset(buffer, 0, size);\r
+ s = UNIVERSAL_control(h, XDM_GETVERSION, ¶ms, &status);\r
+\r
+ if( s != IUNIVERSAL_EOK ) {\r
+ ERROR("Unknown version Error = %d:: buffer = %p size = %d", s, buffer, size);\r
+ }\r
+}\r
+\r
+// VIDDEC2_create wrapper, to display version string in the trace.\r
+static VIDDEC2_Handle viddec2_create(Engine_Handle engine, String name, VIDDEC2_Params *params)\r
+{\r
+ UNIVERSAL_Handle h;\r
+\r
+ DEBUG(">> engine=%08x, name=%s, params=%p", engine, name, params);\r
+\r
+ h = UNIVERSAL_create(engine, name, (IUNIVERSAL_Params*)params);\r
+ \r
+ get_universal_version(h, version_buffer, VERSION_SIZE);\r
+ \r
+ INFO("Created codec %s: version %s", name, version_buffer);\r
+\r
+ return ((VIDDEC2_Handle)h);\r
+}\r
+\r
+/* needs to be updated when XDM_MOVEBUFS added in XDC tools */\r
+static int viddec2_reloc(VIDDEC2_Handle handle, uint8_t *ptr, uint32_t len)\r
+{\r
+ return (-1); // TODO\r
+\r
+}\r
+\r
+static int viddec2_control(VIDDEC2_Handle handle, VIDDEC2_Cmd id, VIDDEC2_DynamicParams *dynParams, \r
+ VIDDEC2_Status *status )\r
+{\r
+ int ret = 0;\r
+ UNIVERSAL_DynamicParams udynParam;\r
+ UNIVERSAL_Status ustatus;\r
+ \r
+ udynParam.size = sizeof(UNIVERSAL_DynamicParams);\r
+ ustatus.size = sizeof(UNIVERSAL_Status);\r
+ //System_printf("command id is %d\n", id);\r
+\r
+ if(id == XDM_GETVERSION){\r
+ ustatus.data.numBufs = 1;\r
+ ustatus.data.descs[0].buf = status->data.buf;\r
+ ustatus.data.descs[0].bufSize = status->data.bufSize;\r
+ }\r
+ \r
+ ret = UNIVERSAL_control((UNIVERSAL_Handle)handle, (UNIVERSAL_Cmd)id, \r
+ &udynParam, &ustatus);\r
+\r
+ /*universal copy supports only XDM_GETVERSION cmd id */\r
+ /*This is to return success to VIDDEC2 application in case of other cmd ids */ \r
+ if(ret == IUNIVERSAL_EFAIL)ret = IUNIVERSAL_EOK;\r
+ \r
+ return ret;\r
+}\r
+\r
+static int viddec2_process(VIDDEC2_Handle handle, XDM1_BufDesc *inBufs,\r
+ XDM_BufDesc *outBufs, VIDDEC2_InArgs *inArgs, VIDDEC2_OutArgs *outArgs )\r
+{ \r
+ int ret = 0;\r
+ XDM1_BufDesc inBuf, outBuf;\r
+ UNIVERSAL_InArgs inArg;\r
+ UNIVERSAL_OutArgs outArg;\r
+ \r
+ inArg.size = sizeof(UNIVERSAL_InArgs);\r
+ outArg.size = sizeof(UNIVERSAL_OutArgs); \r
+ outArg.extendedError = 0;\r
+ //System_printf("Before VIDDEC2 process\n");\r
+ \r
+ //System_printf("outptr = 0x%x, size = %d\n",outBufs->bufs[0],outBufs->bufSizes[0]);\r
+ inBuf.numBufs = 1;\r
+ outBuf.numBufs = 1;\r
+ inBuf.descs[0].buf = inBufs->descs[0].buf;\r
+ inBuf.descs[0].bufSize = inBufs->descs[0].bufSize;\r
+ \r
+ outBuf.descs[0].buf = outBufs->bufs[0];\r
+ outBuf.descs[0].bufSize = outBufs->bufSizes[0];\r
+ \r
+ ret = UNIVERSAL_process((UNIVERSAL_Handle)handle, &inBuf, &outBuf, NULL, \r
+ &inArg, &outArg);\r
+\r
+ //System_printf("After VIDDEC2 process\n");\r
+ return ret; \r
+}\r
+\r
+static int viddec2_delete(VIDDEC2_Handle handle)\r
+{\r
+ //System_printf("Deleting VIDDEC2\n"); \r
+ UNIVERSAL_delete((UNIVERSAL_Handle)handle);\r
+ return 0;\r
+}\r
+ \r
+\r
+/*\r
+ * RPC message handlers\r
+ */\r
+static int connect(void *msg)\r
+{\r
+ //dce_connect *req = msg;\r
+ //DEBUG(">> chipset_id=0x%x, debug=%d", req->chipset_id, req->debug);\r
+\r
+ if( dce_debug >= MAX_DEBUG_LEVEL ) {\r
+ DEBUG("Enable FC, CE and IPC traces");\r
+\r
+ FCSettings_init();\r
+ Diags_setMask(FCSETTINGS_MODNAME "+12345678LEXAIZFS");\r
+ \r
+ CESettings_init();\r
+ Diags_setMask(CESETTINGS_MODNAME "+12345678LEXAIZFS");\r
+ \r
+ /*\r
+ * Enable use of runtime Diags_setMask per module:\r
+ *\r
+ * Codes: E = ENTRY, X = EXIT, L = LIFECYCLE, F = INFO, S = STATUS\r
+ */\r
+ Diags_setMask("ti.ipc.rpmsg.RPMessage=EXLFS");\r
+ Diags_setMask("ti.ipc.rpmsg.VirtQueue=EXLFS");\r
+ }\r
+ \r
+ CERuntime_init();\r
+\r
+ if( !suspend_initialised ) {\r
+\r
+ /* registering sysbios-rpmsg callbacks for suspend/resume */\r
+ // IpcPower_registerCallback(IpcPower_Event_SUSPEND, (IpcPower_CallbackFuncPtr)dce_suspend, 0);\r
+ // IpcPower_registerCallback(IpcPower_Event_RESUME, (IpcPower_CallbackFuncPtr)dce_resume, 0);\r
+ suspend_initialised++;\r
+ }\r
+\r
+ DEBUG("<<");\r
+\r
+ return (0);\r
+}\r
+\r
+/*\r
+ * Engine_open:\r
+ */\r
+static Int32 engine_open(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ dce_engine_open *engine_open_msg = (dce_engine_open *)payload[0].data;\r
+ Engine_Handle eng_handle = NULL;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ \r
+ DEBUG(">> engine_open");\r
+ if( num_params != 1 ) {\r
+ ERROR("Invalid number of params sent");\r
+ return (-1);\r
+ }\r
+\r
+ dce_inv(engine_open_msg);\r
+ \r
+ eng_handle = Engine_open(engine_open_msg->name, engine_open_msg->engine_attrs, &engine_open_msg->error_code);\r
+ DEBUG("<< engine=%08x, ec=%d", eng_handle, engine_open_msg->error_code);\r
+ \r
+ dce_clean(engine_open_msg);\r
+\r
+ return ((Int32)eng_handle);\r
+}\r
+\r
+/*\r
+ * Engine_close:\r
+ */\r
+static Int32 engine_close(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Engine_Handle eng_handle = (Engine_Handle)payload[0].data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+\r
+ if( num_params != 1 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+\r
+ Engine_close(eng_handle);\r
+ DEBUG("<<");\r
+\r
+ return (0);\r
+}\r
+\r
+/*\r
+ * codec_create\r
+ */\r
+static Int32 codec_create(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Uint32 codec_id = (Uint32)payload[0].data;\r
+ Engine_Handle engine = (Engine_Handle)payload[1].data;\r
+ char *codec_name = (char *)payload[2].data;\r
+ void *static_params = (void *)payload[3].data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ void *codec_handle;\r
+\r
+#ifdef MEMORYSTATS_DEBUG\r
+ Memory_Stats stats;\r
+#endif\r
+ DEBUG(">> codec_create");\r
+\r
+ if( num_params != 4 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+ \r
+ if(codec_id != OMAP_DCE_VIDDEC2){\r
+ ERROR("invalid codec id sent");\r
+ return (-1);\r
+ }\r
+\r
+ dce_inv(static_params);\r
+\r
+ codec_handle = (void *)codec_fxns[codec_id].create(engine, codec_name, static_params);\r
+ \r
+ DEBUG("<< codec_handle=%08x", codec_handle);\r
+\r
+ dce_clean(static_params);\r
+\r
+#ifdef MEMORYSTATS_DEBUG\r
+ Memory_getStats(NULL, &stats);\r
+ INFO("Total: %d\tFree: %d\tLargest: %d", stats.totalSize,\r
+ stats.totalFreeSize, stats.largestFreeSize);\r
+#endif\r
+ return ((Int32)codec_handle);\r
+}\r
+\r
+/*\r
+ * codec_control\r
+ */\r
+static int codec_control(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Uint32 codec_id = (Uint32)payload[0].data;\r
+ void *codec_handle = (Engine_Handle)payload[1].data;\r
+ uint32_t cmd_id = (Uint32)payload[2].data;\r
+ void *dyn_params = (void *)payload[3].data;\r
+ void *status = (void *)payload[4].data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ Int32 ret = 0;\r
+\r
+\r
+ DEBUG(">> codec_control");\r
+\r
+ if( num_params != 5 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+ \r
+ if(codec_id != OMAP_DCE_VIDDEC2){\r
+ ERROR("invalid codec id sent");\r
+ return (-1);\r
+ }\r
+\r
+ dce_inv(dyn_params);\r
+ dce_inv(status);\r
+\r
+ ret = (uint32_t) codec_fxns[codec_id].control(codec_handle, cmd_id, dyn_params, status);\r
+ \r
+ DEBUG("<< result=%d", ret);\r
+\r
+ dce_clean(dyn_params);\r
+ dce_clean(status);\r
+\r
+ return (ret);\r
+}\r
+\r
+/*\r
+ * codec get version\r
+ */\r
+static int codec_get_version(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Uint32 codec_id = (Uint32)payload[0].data;\r
+ void *codec_handle = (Engine_Handle)payload[1].data;\r
+ void *dyn_params = (void *)payload[2].data;\r
+ void *status = (void *)payload[3].data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ void *version_buf = NULL;\r
+ Int32 ret = 0;\r
+\r
+ DEBUG(">> codec_get_version");\r
+\r
+ if( num_params != 4 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+ \r
+ if(codec_id != OMAP_DCE_VIDDEC2){\r
+ ERROR("invalid codec id sent");\r
+ return (-1);\r
+ }\r
+ \r
+ version_buf = (void *)(H2P((MemHeader *)((IVIDDEC2_Status *)status)->data.buf));\r
+ \r
+ dce_inv(dyn_params);\r
+ dce_inv(status);\r
+ dce_inv(version_buf);\r
+ \r
+ ret = (uint32_t) codec_fxns[codec_id].control(codec_handle, XDM_GETVERSION, dyn_params, status);\r
+\r
+ DEBUG("<< result=%d", ret);\r
+\r
+ dce_clean(dyn_params);\r
+ dce_clean(status);\r
+ dce_clean(version_buf);\r
+\r
+ return (ret);\r
+}\r
+\r
+/* Notes about serialization of process command:\r
+ *\r
+ * Since codec_process code on kernel side is doing buffer mapping/unmapping,\r
+ * and keeping track of codec's locked buffers, it is necessary for it to\r
+ * look into the contents of some of the parameter structs, and in some cases\r
+ * re-write them. For this reason inArgs/outBufs/inBufs are serialized within\r
+ * the rpmsg rather than just passed by pointer.\r
+\r
+XDAS_Int32 VIDDEC3_process(VIDDEC3_Handle handle, XDM1_BufDesc *inBufs,\r
+ XDM_BufDesc *outBufs, VIDDEC3_InArgs *inArgs, VIDDEC3_OutArgs *outArgs);\r
+\r
+ REQ:\r
+ struct dce_rpc_hdr hdr -> 4\r
+ codec_id -> 4\r
+ codec -> 4\r
+ reloc length -> 1 (length/4)\r
+ inArgs length -> 1 (length/4)\r
+ outBufs length -> 1 (length/4)\r
+ inBufs length -> 1 (length/4)\r
+ VIDDEC3_OutArgs *outArgs -> 4 (pass by pointer)\r
+ reloc table -> 12 * nreloc (typically <= 16)\r
+ VIDDEC3_InArgs inArgs -> 12 (need inputID from userspace)\r
+ XDM_BufDesc outBufs -> 44 (4 + 2 * 20)\r
+ XDM1_BufDesc inBufs -> 24 (4 + 1 * 20)\r
+ -------------------------------\r
+ 99\r
+\r
+ RSP\r
+ struct dce_rpc_hdr hdr -> 4\r
+ result -> 4\r
+ inBufs length -> 1 (length/4)\r
+ XDAS_Int32 freeBufID[] -> 4*n (n typically 0 or 2, but could be up to 20)\r
+ -------------------------------\r
+ 9-89\r
+ Note: freeBufID[] duplicates what is returned in outArgs, but avoids\r
+ needing to create kernel mappings of these objects which are to big\r
+ to copy inline. Also it avoids differences between VIDDEC3/VIDDENC2.\r
+\r
+\r
+XDAS_Int32 VIDENC2_process(VIDENC2_Handle handle, IVIDEO2_BufDesc *inBufs,\r
+ XDM2_BufDesc *outBufs, IVIDENC2_InArgs *inArgs, IVIDENC2_OutArgs *outArgs);\r
+\r
+ REQ:\r
+ struct dce_rpc_hdr hdr -> 4\r
+ codec_id -> 4\r
+ codec -> 4\r
+ reloc length -> 1 (length/4)\r
+ inArgs length -> 1 (length/4)\r
+ outBufs length -> 1 (length/4)\r
+ inBufs length -> 1 (length/4)\r
+ VIDENC2_OutArgs *outArgs -> 4 (pass by pointer)\r
+ reloc table -> ???\r
+ VIDENC2_InArgs inArgs -> 12 (need inputID from userspace)\r
+ XDM2_BufDesc outBufs -> 24 (4 + 1 * 20)\r
+ IVIDEO2_BufDesc inBufs -> 252\r
+ -------------------------------\r
+ 307\r
+\r
+ RSP\r
+ struct dce_rpc_hdr hdr -> 4\r
+ result -> 4\r
+ inBufs length -> 1 (length/4)\r
+ XDAS_Int32 freeBufID[] -> 4*n (n typically 0 or 2, but could be up to 20)\r
+ -------------------------------\r
+ 9-89\r
+ */\r
+\r
+static int codec_process(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ Uint32 codec_id = (Uint32) payload[0].data;\r
+ Uint32 codec = (Uint32) payload[1].data;\r
+ void *inBufs = (void *) payload[2].data;\r
+ void *outBufs = (void *) payload[3].data;\r
+ void *inArgs = (void *) payload[4].data;\r
+ void *outArgs = (void *) payload[5].data;\r
+ void *outBufptr = (void *)payload[6].data;\r
+ Int32 ret = 0;\r
+ void *outBufSize = NULL;\r
+ \r
+ DEBUG(">> codec_process");\r
+\r
+ if( num_params != 7 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+\r
+ if(codec_id != OMAP_DCE_VIDDEC2){\r
+ ERROR("invalid codec id sent");\r
+ return (-1);\r
+ }\r
+ \r
+ outBufSize = (void *)(H2P((MemHeader *)((XDM_BufDesc *)outBufs)->bufSizes));\r
+\r
+ dce_inv(inBufs);\r
+ dce_inv(outBufs);\r
+ dce_inv(inArgs);\r
+ dce_inv(outArgs);\r
+ dce_inv(outBufptr);\r
+ dce_inv(outBufSize);\r
+ \r
+ DEBUG(">> codec=%p, inBufs=%p, outBufs=%p, inArgs=%p, outArgs=%p codec_id=%d",\r
+ codec, inBufs, outBufs, inArgs, outArgs, codec_id);\r
+\r
+ ret = codec_fxns[codec_id].process((void *)codec, inBufs, outBufs, inArgs, outArgs);\r
+ \r
+\r
+ DEBUG("<< ret=%d extendedError=%08x", ret, ((VIDDEC3_OutArgs *)outArgs)->extendedError);\r
+\r
+ dce_clean(inBufs);\r
+ dce_clean(outBufs);\r
+ dce_clean(inArgs);\r
+ dce_clean(outArgs);\r
+ dce_clean(outBufptr);\r
+ dce_clean(outBufSize);\r
+\r
+ return ((Int32)ret);\r
+}\r
+\r
+/*\r
+ * codec delete\r
+ */\r
+\r
+static int codec_delete(UInt32 size, UInt32 *data)\r
+{\r
+ MmType_Param *payload = (MmType_Param *)data;\r
+ Uint32 num_params = MmRpc_NUM_PARAMETERS(size);\r
+ Uint32 codec_id = (Uint32) payload[0].data;\r
+ Uint32 codec = (Uint32) payload[1].data;\r
+\r
+#ifdef MEMORYSTATS_DEBUG\r
+ Memory_Stats stats;\r
+#endif\r
+\r
+ DEBUG(">> codec_delete");\r
+\r
+ if( num_params != 2 ) {\r
+ ERROR("invalid number of params sent");\r
+ return (-1);\r
+ }\r
+ \r
+ if(codec_id != OMAP_DCE_VIDDEC2){\r
+ ERROR("invalid codec id sent");\r
+ return (-1);\r
+ }\r
+\r
+ codec_fxns[codec_id].delete((void *)codec);\r
+\r
+#ifdef MEMORYSTATS_DEBUG\r
+ Memory_getStats(NULL, &stats);\r
+ INFO("Total: %d\tFree: %d\tLargest: %d", stats.totalSize,\r
+ stats.totalFreeSize, stats.largestFreeSize);\r
+#endif\r
+\r
+ DEBUG("<<");\r
+\r
+ return (0);\r
+}\r
+\r
+/* the server create parameters, must be in persistent memory */\r
+static RcmServer_Params rpc_Params;\r
+\r
+/* DCE Server skel function array */\r
+static RcmServer_FxnDesc DCEServerFxnAry[] =\r
+{\r
+ { "engine_open", (RcmServer_MsgFxn) engine_open },\r
+ { "engine_close", (RcmServer_MsgFxn) engine_close },\r
+ { "codec_create", (RcmServer_MsgFxn) codec_create },\r
+ { "codec_control", (RcmServer_MsgFxn) codec_control },\r
+ { "codec_get_version", (RcmServer_MsgFxn) codec_get_version },\r
+ { "codec_process", (RcmServer_MsgFxn) codec_process },\r
+ { "codec_delete", (RcmServer_MsgFxn) codec_delete }\r
+};\r
+\r
+/* DCE Server skel function table */\r
+#define DCEServerFxnAryLen (sizeof(DCEServerFxnAry) / sizeof(DCEServerFxnAry[0]))\r
+\r
+static const RcmServer_FxnDescAry DCEServer_fxnTab =\r
+{\r
+ DCEServerFxnAryLen,\r
+ DCEServerFxnAry\r
+};\r
+\r
+static MmType_FxnSig DCEServer_sigAry[] =\r
+{\r
+ { "engine_open", 2,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 }\r
+ } },\r
+ { "engine_close", 2,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 }\r
+\r
+ } },\r
+ { "codec_create", 5,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_In, MmType_PtrType(MmType_Param_VOID), 1 }\r
+ } },\r
+ { "codec_control", 6,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 }\r
+ } },\r
+ { "codec_get_version", 5,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 }\r
+ } },\r
+\r
+ { "codec_process", 8,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 },\r
+ { MmType_Dir_Bi, MmType_PtrType(MmType_Param_VOID), 1 }\r
+ } },\r
+\r
+ { "codec_delete", 3,\r
+ {\r
+ { MmType_Dir_Out, MmType_Param_S32, 1 }, // return\r
+ { MmType_Dir_In, MmType_Param_U32, 1 },\r
+ { MmType_Dir_In, MmType_Param_U32, 1 }\r
+ } }\r
+};\r
+\r
+static MmType_FxnSigTab dce_fxnSigTab =\r
+{\r
+ MmType_NumElem(DCEServer_sigAry), DCEServer_sigAry\r
+};\r
+\r
+Void dce_SrvDelNotification(Void)\r
+{\r
+ DEBUG("dce_SrvDelNotification: Nothing to cleanup\n");\r
+}\r
+\r
+static void dce_main(uint32_t arg0, uint32_t arg1)\r
+{\r
+ int err = 0;\r
+ dce_connect dce_connect_msg;\r
+ \r
+ err = MmServiceMgr_init(); // MmServiceMgr_init() will always return MmServiceMgr_S_SUCCESS.\r
+\r
+ // setup the RCM Server create params\r
+ RcmServer_Params_init(&rpc_Params);\r
+ rpc_Params.priority = Thread_Priority_ABOVE_NORMAL;\r
+ rpc_Params.stackSize = 0x1000;\r
+ rpc_Params.fxns.length = DCEServer_fxnTab.length;\r
+ rpc_Params.fxns.elem = DCEServer_fxnTab.elem;\r
+\r
+ // Get the Service Manager handle\r
+ err = MmServiceMgr_register(SERVER_NAME, &rpc_Params, &dce_fxnSigTab, dce_SrvDelNotification);\r
+ \r
+ if( err < 0 ) {\r
+ DEBUG("failed to start " SERVER_NAME " \n");\r
+ //err = -1;\r
+ } else {\r
+ DEBUG(SERVER_NAME " running through MmServiceMgr");\r
+ }\r
+\r
+ // Question to IPC team: where is the call to OmapRpc_deleteChannel(handle). The OmapRpc_createChannel is part of MmServiceMgr_register\r
+ // missing the call to OmapRpc_deleteChannel(handle).\r
+ MmServiceMgr_exit();\r
+\r
+ DEBUG("deleted " SERVER_NAME);\r
+\r
+ /* Read the register for ID_CODE to figure out the correct configuration: */\r
+ /* CONTROL_STD_FUSE_ID_CODE[31:0] ID_CODE STD_FUSE_IDCODE */\r
+ /* physical address: 0x4A00 2204 Address offset: 0x204 */\r
+#ifdef OMAP5430_ES10\r
+ dce_connect_msg.chipset_id = 0x5430;\r
+#elif OMAP5432_ES20\r
+ dce_connect_msg.chipset_id = 0x5432;\r
+#elif VAYU_ES10\r
+ dce_connect_msg.chipset_id = 0x5436;\r
+#endif\r
+ dce_connect_msg.debug = dce_debug;\r
+ connect(&dce_connect_msg);\r
+\r
+ return;\r
+}\r
+\r
+/*\r
+ * dce init : Startup Function\r
+ */\r
+Bool dce_init(void)\r
+{\r
+ Task_Params params;\r
+\r
+ INFO("Creating DCE server thread...");\r
+\r
+\r
+ /* Create DCE task. */\r
+ Task_Params_init(¶ms);\r
+ params.instance->name = "dce-server";\r
+ params.priority = Thread_Priority_ABOVE_NORMAL;\r
+ Task_create(dce_main, ¶ms, NULL);\r
+ \r
+ return (TRUE);\r
+}\r
+\r
+/*\r
+ * dce deinit\r
+ */\r
+\r
+void dce_deinit(void)\r
+{\r
+ DEBUG("dce_deinit");\r
+}\r
+\r
diff --git a/src/ti/framework/dce/dce_priv.h b/src/ti/framework/dce/dce_priv.h
--- /dev/null
@@ -0,0 +1,90 @@
+/*\r
+ * Copyright (c) 2010, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef __DCE_PRIV_H__\r
+#define __DCE_PRIV_H__\r
+#include <ti/utils/osal/trace.h>\r
+\r
+#if defined(CORE0) || defined(CORE1)\r
+# define SERVER\r
+Bool dce_init(void);\r
+#else\r
+# define CLIENT\r
+#endif\r
+\r
+#ifdef SERVER\r
+/* these acquire/release functions should be implemented by the platform,\r
+ * ie. to use OMX RM if integrated with OMX build, or use directly slpm\r
+ * and/or register programming otherwise. These are called from dce.c\r
+ * before/after the process() call\r
+ */\r
+void ivahd_acquire(void);\r
+void ivahd_release(void);\r
+void ivahd_init(uint32_t chipset_id);\r
+void ivahd_boot();\r
+#endif\r
+\r
+#ifndef DIM\r
+# define DIM(a) (sizeof((a)) / sizeof((a)[0]))\r
+#endif\r
+\r
+\r
+#ifndef TRUE\r
+# define TRUE 1\r
+#endif\r
+#ifndef FALSE\r
+# define FALSE 0\r
+#endif\r
+#ifndef NULL\r
+# define NULL ((void *)0)\r
+#endif\r
+\r
+typedef struct MemHeader {\r
+ uint32_t size;\r
+ void *ptr; /* when used for BIOS heap blocks, just a raw ptr */\r
+ int32_t dma_buf_fd; /* shared dma buf fd */\r
+ uint32_t region; /* mem region the buffer allocated from */\r
+ /* internal meta data for the buffer */\r
+ uint32_t offset; /* offset for the actual data with in the buffer */\r
+ int32_t map_fd; /* mmapped fd */\r
+ void * handle; /*custom handle for the HLOS memallocator*/\r
+} MemHeader;\r
+\r
+#define P2H(p) (&(((MemHeader *)(p))[-1]))\r
+#define H2P(h) ((void *)&(h)[1])\r
+\r
+#ifndef __packed\r
+# define __packed __attribute__((packed))\r
+#endif\r
+\r
+#endif /* __DCE_PRIV_H__ */\r
+\r
diff --git a/src/ti/framework/dce/dce_rpc.h b/src/ti/framework/dce/dce_rpc.h
--- /dev/null
@@ -0,0 +1,80 @@
+/*\r
+ * Copyright (c) 2013, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef __DCE_RPC_H__\r
+#define __DCE_RPC_H__\r
+\r
+/* RPC layer types.. these define the payload of messages between IPUMM\r
+ * and MPU. This should be kept in sync between firmware build and\r
+ * driver.\r
+ *\r
+ * TODO: xxx_control(XDM_GETVERSION) is a bit awkward to deal with, because\r
+ * this seems to be the one special case where status->data is used..\r
+ * possibly we should define a special ioctl and msg to handle this case.\r
+ */\r
+\r
+/* Message-Ids:\r
+ */\r
+typedef enum dce_rpc_call {\r
+ DCE_RPC_ENGINE_OPEN = 0,\r
+ DCE_RPC_ENGINE_CLOSE,\r
+ DCE_RPC_CODEC_CREATE,\r
+ DCE_RPC_CODEC_CONTROL,\r
+ DCE_RPC_CODEC_GET_VERSION,\r
+ DCE_RPC_CODEC_PROCESS,\r
+ DCE_RPC_CODEC_DELETE\r
+} dce_rpc_call;\r
+\r
+\r
+\r
+#define MAX_NAME_LENGTH 32\r
+\r
+typedef enum dce_codec_type {\r
+ OMAP_DCE_VIDDEC3 = 1,\r
+ OMAP_DCE_VIDENC2 = 2,\r
+ OMAP_DCE_VIDDEC2 = 3\r
+} dce_codec_type;\r
+\r
+/* Structures of RPC */\r
+typedef struct dce_connect {\r
+ uint32_t chipset_id;\r
+ uint32_t debug;\r
+} dce_connect;\r
+\r
+typedef struct dce_engine_open {\r
+ char name[MAX_NAME_LENGTH]; /* engine name (in) */\r
+ Engine_Attrs *engine_attrs; /* engine attributes (in) */\r
+ Engine_Error error_code; /* error code (out) */\r
+} dce_engine_open;\r
+\r
+#endif /* __DCE_RPC_H__ */\r
+\r
diff --git a/src/ti/framework/dce/package.bld b/src/ti/framework/dce/package.bld
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2011, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * ======== package.bld ========
+ */
+/* explicit references to global objects */
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+var Pkg = xdc.useModule('xdc.bld.PackageContents');
+var commonBld = xdc.loadCapsule("../build/common.bld");
+
+/* clean lib folder */
+//Pkg.generatedFiles.$add("lib/");
+//Pkg.libDir = "package/";
+var compileOpts = "-DDSP --gcc "
+
+
+/*
+ * Export everything necessary to build this package with (almost) no
+ * generated files.
+ */
+//Pkg.attrs.exportAll = true;
+
+var LIB_NAME = "lib/" + Pkg.name;
+var objList = ["dce.c"];
+
+
+var profiles = commonBld.getProfiles(arguments);
+/* If no profiles were assigned, build for release */
+if (profiles.length == 0) {
+ profiles[0] = "release";
+}
+
+coreNames = commonBld.getCores(arguments);
+
+if (coreNames.length==0) {
+ /* select default as dsp */
+ commonBld.buildLibs(objList, null, arguments, compileOpts,"dsp");
+}
+else {
+ for (var j = 0; j < coreNames.length; j++) {
+ var coreName = coreNames[j];
+
+ /* skip core if not supported */
+ if (!commonBld.supportsCore(coreName, null)) {
+ continue;
+ }
+
+ /* generate makefiles */
+ commonBld.buildLibs(objList, null, arguments, compileOpts, coreName);
+ print("built for coreName =" + coreName);
+ }
+ print("end of For loop ************");
+}
+
diff --git a/src/ti/framework/dce/package.xdc b/src/ti/framework/dce/package.xdc
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2011, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * ======== package.xdc ========
+ *
+ */
+
+requires ti.sdo.ce;
+requires ti.sdo.ce.video2;
+requires ti.sdo.ce.universal;
+requires ti.sdo.fc.utils;
+
+/*!
+ * ======== ti.dce ========
+ */
+
+package ti.framework.dce [1,0,0,0] {
+}
diff --git a/src/ti/framework/dce/package.xs b/src/ti/framework/dce/package.xs
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2011-2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * ======== package.xs ========
+ *
+ */
+
+
+/*
+ * ======== init ========
+ */
+function init()
+{
+ /*
+ * install a SYS/BIOS startup function
+ * it will be called during BIOS_start()
+ */
+ var BIOS = xdc.useModule('ti.sysbios.BIOS');
+ BIOS.addUserStartupFunction('&dce_init');
+}
+
+
+
+/*
+ * ======== Package.getLibs ========
+ * This function is called when a program's configuration files are
+ * being generated and it returns the name of a library appropriate
+ * for the program's configuration.
+ */
+
+function getLibs(prog)
+{
+ var pkg = this;
+ var commonBld = xdc.loadCapsule("build/common.bld");
+ var dir = xdc.getPackageBase("src.ti.framework.dce");
+ var lib = commonBld.commonGetLibs(prog, true, pkg, dir);
+ return lib;
+
+}
+
+/*
+ * ======== package.close ========
+ */
+function close()
+{
+
+ if (xdc.om.$name != 'cfg') {
+ return;
+ }
+}
+
diff --git a/src/ti/utils/osal/trace.h b/src/ti/utils/osal/trace.h
--- /dev/null
@@ -0,0 +1,69 @@
+/*\r
+ * Copyright (c) 2010, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef __IPU_TRACE_H__\r
+#define __IPU_TRACE_H__\r
+\r
+#include <stdlib.h>\r
+#include <stdint.h>\r
+#include <string.h>\r
+#include <stdio.h>\r
+\r
+extern uint32_t dce_debug;\r
+\r
+/********************* MACROS ************************/\r
+/* Need to make it OS specific and support different trace levels */\r
+\r
+/* set desired trace level:\r
+ * 1 - error\r
+ * 2 - error, debug\r
+ * 3 - error, debug, info (very verbose)\r
+ * 4 - error, info, debug, verbose (very very verbose)\r
+ */\r
+#ifdef DCE_DEBUG_ENABLE\r
+#define ERROR(FMT, ...) TRACE(1, "ERROR: " FMT, ##__VA_ARGS__)\r
+#define DEBUG(FMT, ...) TRACE(2, "DEBUG: " FMT, ##__VA_ARGS__)\r
+#define INFO(FMT, ...) TRACE(3, "INFO: " FMT, ##__VA_ARGS__)\r
+#define VERB(FMT, ...) TRACE(4, "INFO: " FMT, ##__VA_ARGS__)\r
+#else\r
+#define ERROR(FMT, ...)\r
+#define DEBUG(FMT, ...)\r
+#define INFO(FMT, ...)\r
+#define VERB(FMT, ...)\r
+#endif\r
+\r
+#define MAX_DEBUG_LEVEL (4)\r
+#define TRACE(lvl, FMT, ...) do { if((lvl) <= dce_debug ) { \\r
+ System_printf("%s:%d:\t%s\t" FMT "\n", __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \\r
+ } } while( 0 )\r
+\r
+#endif /* __IPU_TRACE_H__ */\r