Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

Reimplementing FrameQ in Classic C

From Texas Instruments Wiki
Jump to: navigation, search

Introduction

In SysLink 2.00, the FrameQ modules were implemented twice - once, in Classic C, for the HLOS (Linux), and a second time, using the XDC spec language, for the RTOS (BIOS).

In SysLink 2.10, the RTOS side was changed to Classic C, in an effort to have one implementation shared across HLOS and RTOS. This resulted in some compatibility breaks - specifically in system configuration scripts (e.g. .cfg).

Changes Required

In general, an attempt was made to maintain compatibility. However, due to the nature of XDC spec'd modules, user config scripts require some changes. Namely, when moving from SysLink 2.00 to 2.10, the following lines will need to be removed:

/* user.cfg */
 
/* remove any of the following lines... */
xdc.useModule('ti.syslink.ipc.rtos.interfaces.SysLink');
 
xdc.useModule('ti.syslink.ipc.rtos.FrameQ');
xdc.useModule('ti.syslink.ipc.rtos.FrameQBufMgr');
 
xdc.useModule('ti.syslink.ipc.rtos.shMem.FrameQ_ShMem');
xdc.useModule('ti.syslink.ipc.rtos.shMem.FrameQBufMgr_ShMem');
 
xdc.useModule('ti.syslink.ipc.rtos.syslinkMemMgr.SyslinkMemMgr');
xdc.useModule('ti.syslink.ipc.rtos.syslinkMemMgr.nullMemMgr.MemMgrSupportNull');
xdc.useModule('ti.syslink.ipc.rtos.syslinkMemMgr.shMemMgr.SharedMemoryMgr');
xdc.useModule('ti.syslink.ipc.rtos.syslinkMemMgr.tilerMemMgr.TilerMemoryMgr');

Also, if users were taking advantage of statically creating FrameQ's or FrameQBufMgr's in their .cfg scripts (most users don't do this), that code will need to be rewritten to dynamically create those objects. The feature to statically create objects was removed with the move away from XDC spec.