Creating SDSoC Platforms

An SDSoC platform consists of the following directory structure as shown in the figure below:

  • Hardware Folder
    • Device Support Archive file
  • Software Folder
    • System Configurations and Processor Domains defining the boot process and OS assignment per processor.
    • Common boot objects (first stage boot loader, for Zynq UltraScale+ MPSoC ARM trusted firmware and power management unit firmware)
    • Linux related objects (u-boot and Linux device tree, kernel and ramdisk as discrete objects or an image.ub FIT (Flattened Image Tree) boot image)
    • Prebuilt hardware files (optional)
      • Bitstream
      • Exported hardware files for SDK
      • Pre-generated port information software files
      • Pre-generated software interface files
    • Library header files (optional)
    • Static libraries (optional)
  • Metadata files generated as part of the platform project.
  • Platform sample applications (optional)

Figure: Directory Structure for a Typical SDSoC Platform

In general, only the platform provider can ensure that a platform is “correct” for use within the SDSoC environment. However, the folder <SDx_install_path>/samples/platforms/Conformance contains basic tests you should run, with instructions describing how to run them. These tests should build cleanly, and should be tested on the hardware platform.

A platform should provide tests for every custom interface so that users have examples of how to access these interfaces from application C/C++ code.

A platform may optionally include sample applications. By creating a samples sub-folder containing source files for one or more applications and a template.xml metadata file, users can use the SDx IDE New Project wizard to select and build any of the provided applications. For additional information on application template creation, see Platform Sample Applications.

To create a platform using the SDx IDE, you can launch the application and select the Platform Project type.
IMPORTANT!: Before creating the platform project, you must have the hardware platform DSA as described in SDSoC Hardware Platform Creation, and the software platform files as described in Software Platform Data Creation, available for use in defining the SDSoC platform.