Texas Instruments Technology for Innovators(tm)

IPC 1.24.00.16 GA Release Notes

This release note is divided into the following sections:

Introduction, Documentation, What's New, Upgrade & Compatibility Information, Host Support, Dependencies, Device Support, Validation Info, Known Issues, Examples, Version Information, Technical Support.

Introduction

IPC 1.24.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

These packages are provided as source code and prebuilt libraries.

Documentation

The following documentation is available:

User Install Guide
User Guide (SPRUGO6D)
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.


What's new

Changes since IPC 1.23.04:

SDOCM00081812Ipc_writeConfig and readConfig API needs to be more descriptive
SDOCM00082562the IPC product cannot be rebuilt because of references to tiTargets variables in a few package.bld scripts
SDOCM00082177Need a NameServer remote driver that communicates using MessageQ
SDOCM00081219add support for Concerto MessageQ and Notify to IPC
SDOCM00082431Concerto IPC applications shouldn't use unnecessary modules (Heap*MP, SharedRegion, Ipc, etc)
SDOCM00082496IPC UG should document efficient notify driver & messageq transport
SDOCM00082495IPC UG needs to document Concerto support
SDOCM00083271Remove SharedRegion_DEFAULTOWNERID from ti/ipc/SharedRegion.h
SDOCM00083683NameServer_postInit: obj->values is corrupted if obj->maxValueLen > sizeof(UInt32)
SDOCM00083097Compiling MessageQ & NSRN .c files results in build warnings when building app using BIOS.libType_Custom
SDOCM00081187Add an appendix to the IPC UG on how to minimize code size
SDOCM00082179Need Ipc example for Concerto device
SDOCM00082603Need to offer ability to disable unlocking the kick registers in c647x Interrupt module
SDOCM00082829Need to fix IPC dependencies in IPC Install guide
SDOCM00082833Add a NotifyDriverMbx for TI81xx
SDOCM00082955c647x: MultiProcSetup_init shouldn't use System_sprintf to set local id
SDOCM00083204NotifyDriverCirc should assert that enable/disableEvent isn't used
SDOCM00083565Concerto TransportCirc_put shouldn't free 'msg' if 'msg' is statically initialized
SDOCM00083205Building concerto apps should cleanly fail if using an IPC module that doesn't support the device
SDOCM00083171"ti_sdo_ipc_init" section needs to be placeable by user
SDOCM00084364update IPC example filters to exclude MSP430
SDOCM00082792IPC docs need updates to describe differences between cluserId and processorId
SDOCM00084877add ipc.mak and ipc.bld to provide easy clean and build for specific targets for SDKs
SDOCM00082178Ipc needs to work between different chips

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.


Upgrade and Compatibility Information

Interface/API changes:

SharedRegion_DEFAULTOWNERID has been removed from the SharedRegon common header file, ti/ipc/SharedRegion.h (SDOCM00083271). Applications referencing this value should use MultiProc_INVALIDID instead (defined in ti/ipc/MultiProc.h).

Most of the APIs in IPC 1.24 are compatible with IPC 1.22/1.23. However, code using IPC 1.22/1.23 will have to be recompiled for use with IPC 1.24.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 changes

Host Support

This release supports the following operating systems:


Dependencies

This release requires the following other software components and tools versions to successfully function:


Device Support


Validation Information

This release was validated using the following components:

Known Issues

No known issues



Examples

The IPC product ships with several examples. The following is an explaination of each one. Refer to the User Install Guide for details on building.
io\examples
- stream: This example shows the use of ti.sysbios.io.Stream module to demonstrate IO streaming using a driver.

ipc\examples\singlecore
- notify_loopback: This example demonstrates the Notify module on a single core using loopback functionality.
- message: This example demonstrates the MessageQ module on a single core.

ipc\examples\multicore
Please refer to the readme.txt in the multicore platform specific directories for details on how to run.
- message: This example shows how to use MessageQ on a multiprocessor system.
- notify: This example shows how to use IPC notifications on a multiprocessor system.

Version Information

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.


Technical Support

For technical support, use the community forum TI E2E Community, or email softwaresupport@ti.com.


Last updated: October 19, 2011