Introduction
This document describes how to enable new platforms for OpenCPI, which will support the execution of component-based applications. It assumes a basic knowledge of OpenCPI as described in the OpenCPI Application Development Guide and OpenCPI Component Development Guide. Platform development is the third class of OpenCPI development, beyond application development and component development. It involves configuring, adapting and wrapping various aspects of hardware platforms, operating systems, system libraries, and development tools. It applies to general-purpose computing platforms, FPGA platforms and GPU platforms. It applies to self-hosted development as well as cross development.
The questions this document tries to answer are:
What are suitable platforms?
What is involved in making a platform ready?
What are the actual steps and processes for making a platform ready?
These questions are answered separately for enabling development targeting the platform (creating and building assets) vs. enabling execution on the platform (running applications).
These questions are answered separately for GPP, FPGA, and GPU platforms.
After introducing all these topics, this document has sections for each aspect in the following table:
Examples |
Development Tools |
Execution Environment |
I/O and Interconnect Device Support |
|
General-Purpose Processors (GPPs) |
X86
(Intel/AMD),
ARM
(Xilinx/Altera/TI)
|
Compiler tool chains,
make
python
|
Operating System,
Libraries,
Drivers
|
|
FPGAs |
Xilinx
(Virtex,
Zynq-7000)
Intel/Altera
(Stratix, Cyclone)
Mentor/Modelsim
|
Synthesis
Place&route
Simulation
|
Bitstream loading
Control Plane Drivers
Data Plane Drivers
|
Directly attached I/O devices |
Graphics Processors |
Nvidia Tesla
AMD FirePro
|
Compilers,
Profilers
|
Execution Management
Drivers
Data Plane Drivers
|
References
This document requires information from several others. To actually perform platform development it is generally useful to understand OpenCPI component and application development, as well as the installation process for previously enabled platforms. To simply get a flavor for what is involved in platform development, only the OpenCPI Introduction Briefing (and Glossary) as well as the OpenCPI Platform Development briefings are required.
Title |
Published By |
Link |
OpenCPI User Guide |
||
OpenCPI Installation Guide |
||
OpenCPI Component Development Guide |
||
OpenCPI Application Development Guide |