SysLink Overview
来源:互联网 发布:狼雨seo团队 编辑:程序博客网 时间:2024/05/17 03:42
What is SysLink?(来自http://processors.wiki.ti.com/index.php/SysLink_Overview)
SysLink is runtime software and an associated porting kit that simplifies the development of embedded applications in which either General-Purpose microprocessors (GPP) or DSPs communicate with each other. The SysLink product provides software connectivity between multiple processors. Each processor may run either an HLOS such as Linux, QNX, etc. or an RTOS such as SYS/BIOS. In addition, a processor may also be designated as the master for another slave processor, and may be responsible for controlling the slave processor's execution (including boot-loading the slave).
The SysLink product provides the following services to frameworks and applications:
- Processor Manager
- Inter-Processor Communication
- Utility modules
SYS/BIOS operating system is expected to be running on the slaves with all of these platforms.
Target configurations: SysLink provides reusable & portable modules for:
- Intra-Processor
- Inter-Processor
- Processor may be GPP or DSP, running HLOS or SYS/BIOS
- Examples:
- OMAP3530, TI81xx
How is SysLink different from DSPLink
SysLink is the next generation of DSPLink. New multi-core device architectures such as TI81XX are complex with one master core running HLOS and 3+ cores running SYS/BIOS. They require:
- All to all IPC communication
- Processor Manager master for a slave core may be on any other core in the device, and may not always be on the host processor.
- It should be possible to communicate between two cores running SYS/BIOS in exactly the same way as the communication would happen between cores running two different OSes.
- Only some basic IPCs may be required between a pair of cores, while others may need more complex IPCs. It should be possible to pick and choose which IPC is required without pulling in the full software
The above requirements inherently make usage of DSPLink for such devices impossible, since the DSPLink architecture does not support all of the above requirements.
Services provided by SysLink
Depending on the supported platform, OS and SysLink version, SysLink provides a subset of the following services to its clients:
- ProcMgr: Basic slave processor control
- Host process attaches to the slave processor: Sets up the system to allow access to slave resources from the host process
- 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
- Host process detaches from the slave
- Inter-Processor Communication protocols
- Complete protocols for different types of data transfer between the processors
- Each protocol meets a different data transfer need
- MessageQ: Message Queue (Recommended)
- RingIO: Circular ring buffer based data streaming
- FrameQ: Connecting component designed to carry video frames from one processing component in the system to another. (Discouraged for new development)
- Inter-Processor Communication building blocks
- Low-level building blocks used by the protocols
- Each building block is also exposed as APIs to allow framework writers to define their own application-specific protocols
- Notify: Interrupt abstraction and de-multiplexing for notification of user events
- Multi-processor heaps: Memory managers that can be used from any processor in the device
- HeapMemMP: Variable sized memory allocator
- HeapBufMP: Fixed size buffers memory allocator
- Multi-processor gates (GateMP): Multi-processor critical section for mutually exclusive access to shared objects
- GatePeterson: Peterson's algortithm based software multi-processor critical section lock. Can only be used for protection between two processors.
- GateHWSpinlock: Abstracts the hardware spinlocks available on device (such as TI81XX) into the GateMP module. Can be used for protection from any processors in the device.
- ListMP: Multi-processor doubly linked circular list
- ProcMgr_read/ProcMgr_write: Read from or write to slave memory
Why use SysLink?
SysLink provides several features and capabilities that make it easier and more convenient for developers using a multi-core system:
- Provides a generic API interface to applications
- Hides platform/hardware specific details from applications
- Hides operating system specific details from applications, otherwise needed for talking to the hardware (e.g. interrupt services)
- Applications written on SysLink for one platform can directly work on other platforms/OS combinations requiring no or minor changes in application code
- Makes applications portable
- Allows flexibility to applications of choosing and using the most appropriate high/low level protocol
Migration between DSPLink and SysLink
A Migration Guide is provided for detailed migration information between DSPLink and SysLink.
Other useful links
- SysLink Overview
- SysLink Overview
- ti syslink
- SysLink FAQs
- SysLink UserGuide
- SysLink UserGuide
- Overview
- Overview
- Overview
- Overview
- Syslink Control使用技巧
- syslink WRH54G 板砖 修复
- Syslink Control使用技巧
- overview-overview
- Syslink Control in MFC 9.0
- SysLink 02.00.00.56 c6x 01 alpha2 InstallGuide
- win32 控件之 sysLink控件(超链接)
- DM8168多核软件框架---之syslink
- poj 1062
- gas学习
- C#WinForm - 最小化或关闭时隐藏到系统托盘
- Hadoop-个人使用错误记录
- Compressive Tracking——CT跟踪
- SysLink Overview
- 使用构造器装配属性
- gsl安装的安装及配置过程
- 在Eclipse中调试tomcat源代码
- 图像处理之半调色融合
- 堆栈--十进制转换成二进制、八进制、十六进制
- 嵌入式根文件系统的移植和制作详解
- JAVA面向对象下
- 测试基础---测试用例01