Texas Instruments Technology for Innovators(tm)

IPC 1.00.00.40 GA Release Notes

Apr 30, 2009

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* 

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

Version 1.00 is the first release of the IPC product. 

1.00 (This Release) 

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

[Intentionally left blank for first 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

Same devices as supported in DSP/BIOS 6.20.

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
SDOCM00047053MessageQ_delete does not free memory back to user created heapMem
SDOCM00047848MSGQ needs sequence # and RTA hooks 
SDOCM00057005 NotifyDriverShm should support static creation 
SDOCM00057006 ROV views needed for GatePeterson and GateHWSem 
SDOCM00057049 GatePeterson should support max protection configuration for optimization
SDOCM00057235 Stream/io ROV needs updating 
SDOCM00057236 MessageQTransportShm does not support static instance creation
SDOCM00057238 NameServerRemoteNotify does not support static instance creation
SDOCM00057239 HeapBuf does not support static instance creation
SDOCM00057241Notify/notifyDrivers does not support static instance creation
SDOCM00057242 HeapMultiBuf does not work 
SDOCM00057243 MessageQ heap management needs investigation [might require design change]
SDOCM00057244 HeapBuf's trackMaxAllocs does not work properly
SDOCM00057245 MessageQ needs code review and full regression tests
SDOCM00057246 HeapBuf needs code review and full regression tests
SDOCM00057247 HeapMultiBuf needs code review and full regression tests
SDOCM00057248 MessageQTransportShm needs code review and full regression tests
SDOCM00057249 SharedRegion needs code review and full regression tests
SDOCM00057250 ListMP needs code review and full regression tests 
SDOCM00057251 Notify needs code review and full regression tests 
SDOCM00057253 NameServerRemoteNotify needs code review and full regression tests
SDOCM00057254 gates (Peterson and HWSem) needs code review and full regression tests
SDOCM00057255 xGConf Product View for IPC needs to be refined. 
SDOCM00057256 ipc examples need to be completed.
SDOCM00057257 All IPC modules should support cacheFlag for better performance
SDOCM00057258 IPC portion of User Guide needs updating 
SDOCM00057259 IPC Benchmarks need be examined 
SDOCM00057260 ipc/family needs code review and full regression tests
SDOCM00057265 IPC/NameServer needs asynchronous support 
SDOCM00057267 IPC modules with shared memory need to use BitsXX instead of UIntXX
SDOCM00057274  GatePeterson/GateHWSem open should return Int not Status
SDOCM00057275  ipc modules do not handle when MultiProc.Id = INVALIDID
SDOCM00057277 NameServer: ROV should show ALLOWGROWTH instead of 0xffffffff for numDynamic
SDOCM00057295 IPC: documention issue


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
- NotifyTest: This example shows how to use the Notify module. The driver is the NotifyDriverLoopback, so it can be run on a single processor. [This example will be cleaned-up in the next dot release

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 two processor system (currently support Ducati and evmDM6446). [Implemented in Ducati with mostly dynamic configuration. The evmDM6446 example is implemented but will be changed to be consistent]
- notify: This example shows how to run the Notify module only on a multiprocessor system. [Currently not implemented]
- notifyList: This example shows how to run the Notify + ListMP modules on a multiprocessor system. [Currently not implemented]
- notifyData: This example shows how to run the Notify + ListMP + HeapBuf  modules on a multiprocessor system. [Currently not implemented]

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: April 30, 2009