Introduction, Documentation, What's New, Upgrade Info, Compatibility Information, Validation Info, Known Issues, Device Support, Examples, Version Information, Technical Support.
The Framework Components are a collection of framework-independent utility libraries which other software frameworks can build upon.
Primary packages in this Framework Components release are briefly described here. (There are others, see the Configuration Reference Guide documentation for a complete package list.)
The Framework Components are provided as non-rebuildable libraries. Source is provided for debugging and educational value, but is not intended to be modified. Modified sources will not be supported.
Some distributions of this product include an "fctools" directory containing some dependent products for convenience. Products included in this release are:
The following documentation is available:
In addition, users are encouraged to monitor (and contribute to!) the TI Embedded Processors Wiki.
Release notes from previous releases are also available in the relnotes_archive directory.
The following significant changes have been made since 1.00
|SDOCM00057313||Memory leak in DSKT2|
|SDOCM00046359||Issues with supporting multiple IRES/IRESMAN versions of the same resource manage with RMAN|
|SDOCM00060773||Issue with DMAN3 (and ACPY3) if Param 0 is used by a non-DMAN3 user and QDMA channels are in their default state|
|SDOCM00076054||ecpy trace missing ccnt information|
|SDOCM00083206||fc/utils/api/alg_malloc has wrong order of arguments for the memAlign function.|
|SDOCM00082850||Provide makefiles to rebuild Linux-side libraries without XDC dependency|
|SDOCM00046390||RMAN should support request for resources from non-algorithms|
|SDOCM00080292||Lite-edma3chan for use for small data memory platforms such as Arctic.|
|SDOCM00066872||FC IRES Tiler allocated wrong buffer size to codec internal buffer|
|SDOCM00046898||DSKT2 should be configurable to disable lazy-deactivation|
|SDOCM00066466||RcmServer thread pool for out-of-band message processing|
|SDOCM00046136||DMAN3 create channels calls fail if IDMA3 interface returns '0' for numChannels|
|SDOCM00064304||SCPY has incorrect licenses in some files|
|SDOCM00061313||IRES HDVICP2 resource should have support for plugging in an external scheduler|
|SDOCM00056474||IRES HDVICP2 late acquire/release APIs need an efficient way of saving/restoring HDVICP2 context|
|SDOCM00046268||ACPY3 support needed for devices that does not support GEM IDMA or Internal Memory|
|SDOCM00060861||Enable auto register for ires.tiledmemory and ires.hdvicp.HDVICP2|
|SDOCM00051671||DMAN3 does not have cpu copy configuration parameter|
|SDOCM00062645||FC addrspace and memtcm fails to link with DVTb at configuro stage|
|SDOCM00057990||DMAN3's package.xs:validate function crashes if built for an unsupported target (should simply return NULL)|
|SDOCM00061534||ti.sdo.fc.utils.gtinfra pkg needs to ship gt_dais.h header|
|SDOCM00063576||ti.sdo.ce.alg's package.xs always plugs in Sem_* functions for RMAN, MP use-cases would need SemMP_* functions.|
|SDOCM00060500||DMAN3.useExternalRM has an issue when used within a CE + BIOS context|
|SDOCM00060272||Add/validate support for OMAP-L138 for ACPY3, DMAN3, DSKT2|
|SDOCM00061271||Means to release and reacquire scratch group locks in the middle of a "process()" call using IRES Handles|
|SDOCM00061269||Add IRES_LATEACQUIRE support for EDMA3, VICP, HDVICP resources|
|SDOCM00060307||Add support for access to multiple EDMA3 devices in FC (For Freon etc)|
|SDOCM00055647||Clean up FC's package dependencies|
|SDOCM00055687||ti.sdo.fc.ires.edma3chan doesn't declare its depedency on the ti.sdo.fc.edma3.Settings module|
|SDOCM00056099||Template-generated RMAN and DMAN3 fxns generate remarks|
|SDOCM00056368||RMAN_assignResources() returns success when underlying IRESMGR_ indicates resource allocation failure|
|SDOCM00057717||IRES VICP2 (smgr) gives error granting resources|
|SDOCM00057720||Multiple Deletion Creation sequence of MPEG4 encoder results in failure in Framework Components resource allocation|
|SDOCM00057723||_vicpsync.h missing from product|
|SDOCM00058267||EDMA3 Resource Manager overshoots the maximum limit when multiple encoders are created and deleted|
|SDOCM00046548||All example codecs should pass qualiTI|
|SDOCM00053331||RMAN fails to allocate multiple HDVICP resource requests on Linux builds.|
|SDOCM00053484||DMAN3 example fcpy lib build failure in CCS|
|SDOCM00054062||fastcopytest.pjt should include EDMA3_LLD_INSTALL_DIR explicity in the pjt's build options|
|SDOCM00055054||RMAN_assignResources in the VISA_create call through DVTB fails when the engine instance is closed and opened once again|
|SDOCM00055397||Framework Components fastcopy example cleanup for new OMAPL137 platform|
|SDOCM00046397||Enhance FC resource managers to autogenerate RMAN_register() calls|
|SDOCM00053546||Change EDMA3_LLD location var to EDMA3_LLD_INSTALL_DIR in examples/Makefile|
|SDOCM00053802||DMAN3 doesn't check if number of TCCs is correct as per the SOC's cccfg register|
|SDOCM00053331||RMAN fails to allocate multiple HDVICP resource requests on Linux builds|
|SDOCM00046361||HDINTC module for Kaleido interrupt registration for the DM36x|
|SDOCM00046362||IRESMAN for EDMA3CHAN on using LSP (DM365)|
|SDOCM00046363||IRESMAN for managing IMCOP memories|
|SDOCM00046363||IRESMAN for managing IMCOP memories|
|SDOCM00046262||Add support for C674 target|
|SDOCM00050216||Add more VICP buffers to ires_vicp2 for DM365|
|SDOCM00046122||DMAN3 documentation needs more clarification of nullPaRamIndex|
|SDOCM00046362||IRESMAN for EDMA3CHAN on using LSP (DM355)|
|SDOCM00046363||IRESMAN for managing IMCOP memories|
|SDOCM00046378||rman examples need more support when building with xdc|
|SDOCM00046050||Need to expose PSC addresses in the VICP handles to enable codec access|
|SDSCM00019578||DMAN3 should support the persistent property in IDMA3 requests|
|SDSCM00024229||DSKT2 scratch and persistent alloc/free functions not exposed in the DSKT2 public headers|
|SDSCM00025464||Some ACPY3 functions give out garbage trace even if GT_set is not called|
|SDSCM00025628||RMAN examples missing common.cfg file|
|SDSCM00025631||RMAN examples need build instructions|
|SDSCM00025515||HDINTC module hard codes Interrupt and Event number for the BIOS-ISR|
|SDSCM00025744||RMAN on ARM should support multi-process|
|SDSCM00025399||DMAN3 (and ACPY3) should have configuration for CPU copy|
|SDSCM00024890||Standardize lib directory for all FC libraries|
|SDSCM00021022||In FC examples api.a64P should be picked up from FC not the CCS install|
|SDSCM00015973||DMAN3's config parameter validation is required|
|SDSCM00020192||DSKT2 debug builds should assert that algs that request IALG_SCRATCH implement algActivate()/algDeactivate()|
|SDSCM00015980||DMAN3's XDC config support fails when configuring .scratchAllocFxn|
|SDSCM00016134||ACPY3 build with ACPY3_INLINE_ALL flag gives build errors|
|SDSCM00017450||DSKT2 can fail to correctly provide external scratch memory to algorithms|
|SDSCM00018734||DMAN3_grantDmaChannels() crashes in case of allocation failures|
|SDSCM00020198||DMAN3 should have the option of returning an error if alg requests more resources than configured for its scratch group|
|SDSCM00002823||Remove dependency on BIOS types|
|SDSCM00012024||DSKT2 User Guide documentation collateral should be provided for Framework Components|
|SDSCM00013086||FC DMAN3 example builds have poor out of box experience|
|SDSCM00013781||Require instrumentation in ACPY3 library to support DGT logging or any other kind of generic logging|
|SDSCM00014395||DSKT2 scratch memory allocation & sharing is not optimal when alignment is required|
|SDSCM00014454||Hardlimit of DMAN3_MAXDMARECS to 32 not required in the dman3 library. Should be removed as a config option for DMAN3|
|SDSCM00014931||DMAN3_createChannels(), DMAN3_grantDMAChannels() memory overwrite for non-ACPY3 channels|
|SDSCM00013041||ACPY3 susceptible to SDSCM00012367 (Silicon Errata)|
|SDSCM00006288||Need to update the Joule DMA design guide|
|SDSCM00012532||Source code does not line up when stepping through debug libraries|
|SDSCM00012770||ACPY3 specification changes are needed for clarification and to match design and implementation changes|
|SDSCM00012773||DMAN3 RTSC Configuration requires custom non-public initialization call to configure DMAN3 heaps|
The Framework Components packages are available in the "packages/" subdirectory of the product. If you have a previous release of the Framework Components product, you can install this release next to it, and modify your application and/or server builds to use this newer release.
If you're using the DVEVM, this can be done by setting the FC_INSTALL_DIR variable in the Rules.make file at the top of the DVEVM distribution directory.
Note, if you're upgrading from a release earlier than Framework Components 3.20, be sure to review the Upgrade section for each of the releases between your current Codec Engine release and this one. Previous release notes are available in the relnotes_archive directory.
The details provided below describe each package's compatibility with the previous release (framework_components_3_20_02_29).
Note, the Configuration Reference Guide contains further details about each package.
|ti.sdo.fc.acpy3||1, 0, 4||1, 0, 4|
|ti.sdo.fc.dman3||1, 0, 4||1, 0, 4|
|ti.sdo.fc.dskt2||1, 0, 4||1, 0, 4|
|ti.sdo.fc.ecpy||1, 0, 1||1, 0, 1|
|ti.sdo.fc.edma3||3, 0, 0||3, 0, 0|
|ti.sdo.fc.global||1, 0, 0||1, 0, 0|
|ti.sdo.fc.hdintc||1, 0, 4||1, 0, 4|
|ti.sdo.fc.ires||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.bufres||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.edma3chan||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.hdvicp||1, 0, 1||1, 0, 1|
|ti.sdo.fc.ires.nullresource||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.sdma||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.shmbuf||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.tiledmemory||1, 0, 0||1, 0, 0|
|ti.sdo.fc.ires.vicp||1, 0, 1||1, 0, 1|
|ti.sdo.fc.memutils||1, 0, 0||1, 0, 0|
|ti.sdo.fc.rman||2, 0, 0||2, 0, 0|
|ti.sdo.fc.scpy||1, 0, 0||1, 0, 0|
|ti.sdo.fc.trace.gt||1, 0, 0||1, 0, 0|
|ti.sdo.fc.utils||1, 0, 3||1, 0, 3|
|ti.sdo.fc.utils.api||1, 0, 0||1, 0, 0|
|ti.sdo.fc.utils.gtinfra||1, 0, 0||1, 0, 0|
|ti.sdo.fc.utils.osal||1, 0, 0||1, 0, 0|
|ti.sdo.fc.utils.osal.noOS||1, 0, 0||1, 0, 0|
|ti.sdo.fc.utils.osalsupport||1, 0, 0||1, 0, 0|
|ti.sdo.rcm||2, 0, 0||2, 0, 0|
|ti.sdo.utils.trace||1, 0, 0||1, 0, 0|
The following packages are being introduced in this release, and therefore have no compatibility with previous releases.
|ti.sdo.opencl||1, 0, 0|
|ti.sdo.opencl.platforms.c6472||1, 0, 0|
|ti.sdo.tiler||1, 0, 0|
The following packages that were in the previous release have been removed from this release.
|ti.sdo.fc.hdvicpsync||1, 0, 0|
|ti.sdo.fc.vicpsync||1, 0, 0|
If migrating from a release prior to FC 3.20, consult previous releases available in the relnotes_archive directory.
Compatibility keys are intentionally independent of Marketing product numbers and are intended to:
Compatibility keys are composed of 3 comma-delimited numbers - M,S,R - where:
This release supports the following devices:
Applications which use ACPY3 but don't consume DMAN3 as an XDC package will need to define _DMAN3_nullPaRam, _DMAN3_edma3Addr and _DMAN3_paRamAddr (_DMAN3_paRamAddr for non-C64P targets) symbols in their application "C" files
This release was built and validated against using the following software components. Please use the versions below or any other that are compatible with the below:
Framework Components examples and instructions are located in the "examples" directory.
This product's version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.
To support multiple side-by-side installations of the product, the product version is encoded in the top level directory, ex. framework_components_3_21_00_25.
Subsequent releases of patch upgrades will be identified by the patch number, ex. FC 3.21.01.XX with directory framework_components_3_21_01_XX. Typically, these patches only include critical bug fixes.
For technical support, contact email@example.com.
Questions/issues regarding this release may also be posted at the E2E forum at http://e2e.ti.com/support/embedded/default.aspx
Check the following web site for updates: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/index.html
Last updated: August 10, 2011