IPC 1.23.00.16 is an GA release of IPC
Interprocess communication mechanisms including message passing, streams, and linked lists, which work transparently in both uniprocessor and muiltiprocessor configurations.
The IPC product is comprised of the following main packages
The following documentation is available:
User Install Guide | |
User Guide (SPRUGO6C) | |
Doxygen API guide | Documents runtime-APIs, type definitions, error codes and constants |
Cdoc API guide | Documents config-time (RTSC) APIs, Asserts and Errors; Indexed and searchable within CCS/Eclipse |
Manifest and License:
IPC Software Manifest and License
Release notes from previous releases are also available in the relnotes_archive directory.
Changes since IPC 1.22.05:
SDOCM00072801 | build Ti.sdo.ipc.* and ti.sdo.utils.* for c28x |
SDOCM00075887 | Notify_attach should assert that arguments are ok and cleanly fail if already attached |
SDOCM00077016 | Generated folders are not removed during clean phase |
SDOCM00077092 | update ListMP to not use cache freeze optimization for 64P, 674 targets -- make it same for all ISAs |
SDOCM00077201 | NameServer_get[UInt32] doxygen should mention that you should sleep between successive get's |
SDOCM00077457 | Ipc needs a MultiProc.id to DNUM mapping for devices that use DNUM |
SDOCM00078175 | (Child) GateAAMonitor_leave requires int disable around cache freeze/unfreeze |
SDOCM00078645 | (Child) NotifyDriverCirc fails after Ipc_detach/attach because receiver has stale data in cache. |
SDOCM00078676 | (Child) Ipc_detach skips detaching TransportShmNotify transports |
SDOCM00078718 | (Child) There is no check for Notify_intLineRegistered in TransportShmNotifySetup_attach |
SDOCM00078753 | update Ipc.xdt to avoid "Placing data in a code section (.text) is discouraged ..." warning |
SDOCM00078754 | update Ipc package to support non-alchemy build flow |
SDOCM00078858 | IPC dev. tree needs to be easily buildable |
SDOCM00079104 | MessageQ_create() failure for multiple queues with same name doesn't clean up the queue table |
SDOCM00079267 | (Child) ListMP_getHead is missing Cache_inv of LocalHeadNext |
SDOCM00079558 | change IPC example templates to use "release" as the default profile for all examples |
SDOCM00079915 | Ipc_start() documentation not clear regarding Ipc_E_NOTREADY return code |
SDOCM00079943 | Ipc_start error checking |
SDOCM00080082 | Ipc_procSyncFinish shouldn't spin if remote->startedKey == ti_sdo_ipc_Ipc_PROCSYNCDETACH |
SDOCM00080137 | IPC platforms should have all caches enabled including L2 |
SDOCM00080221 | Instance_init functions need to raise an error when returning a value other than 0. |
SDOCM00080641 | Nameserver should have it's own assert for invalid argument (don't use ti.sdo.ipc.Ipc module's asserts for this) |
SDOCM00080670 | Need Ipc_stop() API |
For information on enhancements and defect fixes in earlier releases, please refer to the release notes from previous releases that are available in the relnotes_archive directory.
Interface/API changes:
Most of the APIs in IPC 1.23.00 are compatible with IPC 1.20/1.21. However, code using IPC 1.20/1.21 will have to be recompiled for use with IPC 1.23.00. You must recompile -- relink will not work.
ti.sdo.ipc.* and ti.sdo.utils.* APIs in the IPC 1.2X.XX.XX releases are not compatible with those in the IPC 1.00.0X.XX (GA) release. These APIs have been updated to be consistent with the Linux APIs to share common header files in ti/ipc/. However, APIs in the ti.sdo.io package have not changed since the 1.00 GA release.
OMAP3530 Mailbox assignments swapped
In previous IPC releases, Mailbox 0 was used for DSP-to-ARM notifications and 1 was used for ARM-to-DSP communication. This has been swapped as of IPC 1.22.02. In order for ARM-DSP notifications to work, both the ARM and the DSP must use the same mailbox assignments.
DM8168 MultiProc name changesThe valid MultiProc names for DM8168 were changed in IPC 1.21.02 to match the official names. They are now as follows:
'ti.sdo.ipc.examples.platforms.simDM8168.xxx' sample platforms in IPC have been renamed to 'ti.sdo.ipc.examples.platforms.evmTI816X.xxx'. Applications should use 'evmTI816X' instead of 'simDM8168' if the applications are using the example platforms packaged with IPC. Existing platforms generated using the platform wizard are not affected by this change.
ti.sdo.ipc.family.dm8168 package name changeThe ti.sdo.ipc.family.dm8168 package has been renamed to ti.sdo.ipc.family.ti81xx. Application that use the NotifySetup or InterruptXXX modules contained within must use the new package name in order to build with this version of IPC
This release supports the following operating systems:
This release requires the following other software components and tools versions to successfully function:
No known issues
All releases have 4 digits (M.mm.pp.bb). This includes GA and pre-releases (engineering, EA, beta, etc.). Pre-releases are denoted with a suffix (e.g. 1.21.00.01_eng).
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. ipc_1_21_00_01.
Subsequent releases of patch upgrades will be identified by the patch number, ex. IPC 1.21.00.01 with directory ipc_1_21_00_01. Typically, these patches only include critical bug fixes.
Please note that version numbers and compatibility keys are NOT the same. For an explanation of compatibility keys, please refer to the 'Upgrade and Compatibility Information' section.
For technical support, use the community forum TI E2E Community, or email softwaresupport@ti.com.
Last updated: May 02, 2011