Texas Instruments Technology for Innovators(tm)

IPC 1.21.00.14 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

This is the GA release of IPC 1.21

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 three main packages

These packages are provided as source code and prebuilt libraries.

Documentation

The following documentation is available:

User Install Guide
User Guide (SPRUGO6A)
Doxygen API guide Documents runtime-APIs, type definitions, error codes and constants
Cdoc API guide Documents config-time (RTSC) APIs, Asserts and Errors

Release notes from previous releases are also available in the relnotes_archive directory.


What's new

Highlights:

Changes since IPC 1.20.00.23:

SDOCM00070143Update IPC User's Guide for IPC 1.21 (depends on XDC 3.20, BIOS 6.30, CCSv4.2)
SDOCM00070142update eclipse plugin and examples to use new interfaces supported by CCSv4.2 and XDC 3.20
SDOCM00070083(Child) ListMP, HeapBufMP, HeapQueueMgr need a fix to logic in Instance_finalize
SDOCM00070051(Child) GatePeterson: should plug CUSTOM1 proxy by default and numInstances should default to 512
SDOCM00070050(Child) GateMP: params->sharedAddr should be used for gates with no remote protection
SDOCM00069984(Child) GateMP issue: Not passing regionId to proxy creates()
SDOCM00069641open will always assert during Instance_finalize if Instance_init fails
SDOCM00069592NameServer should un-document static support
SDOCM00069589(Child) Document/fix confusing aspects of NotifyDriverShm.c
SDOCM00069523(Child) Ipc_attach should only return when all initialization is complete on remote processor
SDOCM00069380(Child) GateHWSpinlock should release gates during Module_startup
SDOCM00069362(Child) NotifyDriverShm_registerEvent: The order of Cache_wbInv operations should be switched
SDOCM00069360(Child) Netra/OMAP4 InterruptDucati module ducatiCtrlBaseAddr should use virtual address
SDOCM00069317(Child) Netra has 64 spinlocks, not 32
SDOCM00069057SharedRegion_Entry docs are misaligned
SDOCM00069050IPC 1.21 sources, etc should have BSD license
SDOCM00068981Change INotifySetup_intLineAvailable to INotifySetup_numIntLines
SDOCM00068905remove GateMP inheritance from IGateProvider
SDOCM00068855(Child) Platform.xdc file for OMAP4/Ducati incorrectly spec's frequency as 1000.0 Mhz
SDOCM00068792MessageQ_getProcId and MessageQ_getQueueId should take a queueId instead of Handle
SDOCM00068303MessageQ_put() should Assert() that local queuid is valid, and update put docs to summarize this case
SDOCM00068293IPC needs an InstallJammer install wrapper
SDOCM00068248Should fail at build-time if numEvents is too small for NS/Transport event regs
SDOCM00068133Local messageQ support
SDOCM00067183Ipc_attach should cleanly fail if already attached OR not yet attached to region 0 proc
SDOCM00066692Configuring whether Notify/MessageQ is set up during an Ipc_attach should be more flexible

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:

All of the APIs in IPC 1.21 are compatible with IPC 1.20. However, code using IPC 1.20 will have to be recompiled for use with IPC 1.21. You must recompile -- relink will not work.

Shared memory protocols and interfaces are identical to IPC 1.20.00.23. Syslink Linux-side applications should work with IPC 1.20.00.23 or IPC 1.21.00.14 without any changes. Syslink target-side code that used IPC 1.20 will have to be recompiled for use with IPC 1.21 (as noted above).

ti.sdo.ipc.* and ti.sdo.utils.* APIs in the IPC 1.21.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.


Host Support

This release supports the following hosts:

Windows XP SP2/SP3

Windows Vista

Linux (Redhat 4 and 5)


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

There are no known issues with this release


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.

utils\examples
- list:The list example shows how to use the basical functionality of the ti.sdo.utils.List module
- multiProc: The multiProc example shows how to use the basical functionality of the ti.sdo.utils.MultiProc module
- multiProcSingleImage: The multiProcSingleImage example shows how to configure an image to be able to run on multiple cores.

ipc\examples\singlecore
- notify_loopback: This example shows how to use the Notify module. The driver is the NotifyDriverLoopback, so it can be run on a single processor.

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 messageQ on a multiprocessor system.
- notify: This example shows how to run the Notify module only 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: May 28, 2010