Texas Instruments Technology for Innovators(tm)

IPC 1.00.02.51 GA Build 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 production (GA) release of IPC 1.00.02.51* 

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.

*The "ti.sdo.ipc" package is an EA (Early Adopter) release, so minor changes may occur in the next release.

Documentation

The following documentation is available:

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


What's New

1.00.02.51 GA Build Release (this release).

Bug Fixes and Minor Enhancements: See the list below for abbreviated list of bug fixes and enhancements.

ID Headline
SDOCM00059737 Remote name lookups fail if name is shorter than previous
SDOCM00059628  Bug with Interrupt modules for c64p devices
SDOCM00059624  Incorrect order when updating attrs in MessageQTransportShm_Instance_init
SDOCM00059623 IPC files need updated license banner and move version history
SDOCM00059620  NotifyDriverLoopback should set the 'maxEvents' field in the driver 'procInfo' struct
SDOCM00059619  GatePeterson.xdc is missing a @ModuleStartup tag
SDOCM00059334  Issues in ListMPSharedMemory and ListMP
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: This release in not backward compatible with  IPC 1.00.00.40 in the following areas:


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

Same devices as supported in DSP/BIOS 6.20.01.

Validation Information

This release was validated using the following components:

Known Issues

There are several know issues with this release, primarily in the ti\sdo\ipc package (which is at EA status)

ID Headline
SDOCM00059837 NotifyDriverShm should use Ipc module for obtaining cache line size
SDOCM00059824 HeapBuf's exact config parameter is ignored 
SDOCM00059682 Remove System_printf() in MessageQTransportShm_Instance_init()
SDOCM00058906  Remote NameServer_get hangs if dest. not up 
SDOCM00058860  HeapBuf_sharedMemReq should return UInt32 not Int 
SDOCM00058783  Shared memory modules must check for correct memory alignment
SDOCM00058782  Need to resolve reserved events config in Notify/Notify Driver
SDOCM00058747 NotifyDriverLoopback should support static creation
SDOCM00057295  IPC: documention issue
SDOCM00057277 NameServer: ROV should show ALLOWGROWTH instead of 0xffffffff for numDynamic
SDOCM00057275 ipc modules do not handle when MultiProc.Id = INVALIDID
SDOCM00057267 IPC modules with shared memory need to use BitsXX instead of UIntXX
SDOCM00057265 IPC/NameServer needs asynchronous support 
SDOCM00057260 ipc/family needs code review and full regression tests
SDOCM00057259  IPC Benchmarks need be examined 
SDOCM00057258 IPC portion of User Guide needs updating 
SDOCM00057257 All IPC modules should support cacheFlag for better performance
SDOCM00057255 xGConf Product View for IPC needs to be refined. 
SDOCM00057254 gates (Peterson and HWSem) needs code review and full regression tests
SDOCM00057253 NameServerRemoteNotify needs code review and full regression tests
SDOCM00057251 Notify needs code review and full regression tests 
SDOCM00057250 ListMP needs code review and full regression tests 
SDOCM00057249 SharedRegion needs code review and full regression tests
SDOCM00057248 MessageQTransportShm needs code review and full regression tests
SDOCM00057247 HeapMultiBuf needs code review and full regression tests
SDOCM00057246 HeapBuf needs code review and full reSDOCM00057242gression tests
SDOCM00057245 MessageQ needs code review and full regression tests
SDOCM00057244 HeapBuf's trackMaxAllocs does not work properly
SDOCM00057243 MessageQ heap management needs investigation [might require design change]
SDOCM00057242 HeapMultiBuf does not work 
SDOCM00057241 Notify/notifyDrivers does not support static instance creation
SDOCM00057239 HeapBuf does not support static instance creation
SDOCM00057238 NameServerRemoteNotify does not support static instance creation
SDOCM00057236 MessageQTransportShm does not support static instance creation
SDOCM00057049 GatePeterson should support max protection configuration for optimization
SDOCM00057006 ROV views needed for GatePeterson and GateHWSem 
SDOCM00057005 NotifyDriverShm should support static creation 
SDOCM00047848 MSGQ needs sequence # and RTA hooks 
SDOCM00047053 MessageQ_delete does not free memory back to user created heapMem


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.01.00.15_eng or 1.01.00.21-beta).

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_00_00_40.

Subsequent releases of patch upgrades will be identified by the patch number, ex. IPC 1.00.01.41 with directory ipc_1_00_01_41. 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, contact softwaresupport@ti.com


Last updated: July 10, 2009