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 enableSDSoC™to use your custom platform.

The SDSoC platform creation process requires familiarity with theVivado® Design Suiteand its use in creatingZynq®-7000 SoCorZynq® UltraScale+™ MPSoCdesigns; familiarity with SDSoC from the perspective of a user of platforms; and familiarity withXilinx®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 inSDSoC Platform Examples.

If you have previously created SDSoC platforms, you should still read though the chapters in this guide and the migration information inEdit 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 theCreating the Platform Hardware Componentfor 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.ubfile).
      • 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 aREADMEfile 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.
    • SeeSample Applicationsfor more information.
  3. Optionally create one or more sample applications.
    • In the platform folder, you can create asamplesfolder with a single level of subfolders, with each subfolder containing the source code for an application. The samples folder also contains adescription.jsonfile used by theSDx™IDE New Project wizard when creating an application.
    • SeeSample Applications.
  4. Use the SDx IDE to create a Platform project to package the hardware and software components into an SDSoC platform.
    • As described inCreating 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.
    • TheCreating SDSoC Platformschapter describes platformConformancetests for data movers used by the SDSoC system compiler. Each test should build cleanly by runningmakefrom the command line in a shell available by launching an SDx Terminal or by running a settings64 script (.bat,.shor.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.