Platform Checklist

The overview of the platform creation process in this appendix touches on hardware and software platform requirements and components, platform validation, sample application support, directory structures and the platform metadata files that enable SDSoC™ to use your custom platform.

The SDSoC platform creation process requires familiarity with the Vivado® Design Suite and its use in creating Zynq®-7000 SoC or Zynq® UltraScale+™ MPSoC designs; familiarity with SDSoC from the perspective of a user of platforms; and familiarity with Xilinx® software development tools such as the Xilinx Software Development Kit (SDK), and embedded software environments (Linux or bare-metal).

If you are new to the SDSoC platform creation process, read the introductions in the chapters of this guide while lightly reading through the material for key concepts, and examine one or more of the examples discussed in SDSoC Platform Examples.

If you have previously created SDSoC platforms, you should still read though the chapters in this guide and the migration information in Edit the Platform DSA.

The checklist below summarizes tasks involved in SDSoC platform creation.

  1. Using the Vivado Design Suite, create a Zynq-7000 or Zynq UltraScale+ MPSoC based design.
    • Refer to the Creating the Platform Hardware Component for requirements and guidelines to follow when creating the Vivado hardware project. Test the hardware design using the Vivado Design Suite tools.
  2. For supported target operating systems, provide software components for boot and user applications.
    • SDSoC creates an SD card image for booting the OS, if applicable, using boot files included in the platform.
      • A first stage boot loader (FSBL) is required, as well as a Boot Image File (BIF) that describes how to create a BOOT.BIN file for booting.
      • For Linux boot, provide U-boot and a Linux image (device tree, kernel image, and root file system as discrete files or FIT (Flattened Image Tree) boot image .ub file).
      • For bare-metal applications, create a linker script.
      • Zynq UltraScale+ MPSoC platforms also require ARM trusted firmware (ATF) and power management unit firmware (PMUFW).
      • Optionally create a README file and other files which need to reside on the SD card image.
    • If the platform provides libraries to link with the user’s application, headers and libraries can be included as part of the platform for convenience.
    • See Sample Applications for more information.
  3. Optionally create one or more sample applications.
    • In the platform folder, you can create a samples folder with a single level of subfolders, with each subfolder containing the source code for an application. The samples folder also contains a description.json file used by the SDx™ IDE New Project wizard when creating an application.
    • See Sample Applications.
  4. Use the SDx IDE to create a Platform project to package the hardware and software components into an SDSoC platform.
    • As described in Creating an SDSoC Platform Project, the project combines the hardware platform DSA with the embedded processor information, operating system, and compiler settings to define the platform for use with SDSoC compilers.
  5. Validate your platform supports the SDSoC environment.
    • The Creating SDSoC Platforms chapter describes platform Conformance tests for data movers used by the SDSoC system compiler. Each test should build cleanly by running make from the command line in a shell available by launching an SDx Terminal or by running a settings64 script (.bat, .sh or .csh) found in the SDx installation. The tests should also run on your platform board.
  6. Validate project creation with your platform in the SDx IDE.
    • Start the SDx IDE and create an SDSoC application project or system project using the New Project wizard. After specifying a project name, you are presented with a list of platforms. Click on your custom platform to select it. If your platform includes a samples folder, you can select one of your applications, or the empty application to which you can add source files. After your project is created, build it and run or debug the ELF file.