Syslink 02 00 00 68 c6x 00 beta1

The Initial port of SysLink for c6x is based on Syslink 02_00_00_56_alpha2. This is the third iteration of the release and is based on Syslink 02_00_00_68_beta1. This release adds support for c66x platforms. Note that this release has not been tested for c64x platforms (C6472 and C6474). The functionality supported in SysLink c6x release is discussed below :-

changes from syslink 02_00_00_68_c6x_beta1

 * Added support for C66x platforms :- C6670 and C6678
 * Scripts added to run sample applications (Available under linux-c6x-project/scripts/syslink).
 * SysLink now runs on Core 0 of the device on both C6670 and C6678.
 * Added support for building SysLink and RTOS sample applications (only MessageQ and Notify) as part of the product build
 * SysLink when build as part of mcsdk-demo-root ROOTFS will get installed in the target rootfs under /opt/syslink_.
 * Support for c64x devices are not verified in this release. For these devices, use syslink 02_00_00_56_c6x_01_alpha2.

ProcMgr
ProcMgr provides basic slave processor control. A thin layer of ProcMgr functionality is implemented in the c6x port. ProcMgr assumes that slave core is loaded and run external to SysLink. Only a small subset of the ProcMgr APIs are used in c6x. There is no support for the following:-

* Host loads the slave with slave executable present in host file system * Host starts the slave * Host stops the slave execution * Host unloads the slave

This means the related API calls are not supported on this release. Before invoking any SysLink API call, the slave core is to be loaded and started. Typically on c6x, application do a ProcMgr_open followed by a call to ProcMgr_attach to get a handle for a slave core. It then skip the load part and initialize an IPC instance with the slave core using Ipc_CONTROLCMD_LOADCALLBACK IOCTL command. The Ipc_ResetVector address is provided as an argument to this command. This will allow SysLink to read the slave processor configuration from the slave processor's memory. After this the processor start part is skipped. The Ipc with the remote slave is started using Ipc_CONTROLCMD_STARTCALLBACK IOCTL command. Once this is complete, application can start IPC with the remote core and IPC module services are available. This includes services provided by Notify, MessageQ etc.

IPC Modules
Supports MessageQ protocol using Shared memory transport. For testing this functionality on c66x platforms (C6670 and C6678), shared memory is assigned from MSMC memory.

IPC building blocks
Following are supported:-

* Notify. Uses the IPC hardware on the platform to support notify. * SharedRegion * HeapMemMP * HeapBufMP * ListMP * GateMP - GateHWSem. This module is available on C6670 and C6678 to       implement system gates. This is implemented using the hardware semaphore available on these platforms.

Getting Started
Release Notes: This document provides information on the current release.

Install Guide: This document provides information to get started with installing SysLink and its dependencies, building SysLink and its sample applications, and executing the sample applications.

API Reference Guide
API reference guide is provided within the SysLink product package in folder syslink/docs/doxygen/html/index.html. It provides doxygen generated API reference guide for the application developers. This release re-uses the documentation from Syslink 02 00 00 68 beta1 release.

CDOC Source Reference Guide for RTOS IPC
CDOC source reference guide is provided within the SysLink product package in folder syslink/docs/cdoc/index.html It provides cdoc generated Source Code reference guide for RTOS IPC.