Platform Checklist

Overview

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 XML 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 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 SDSoC Platform Migration.

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 Hardware Platform Creation 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 unified 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). In addition, 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 Software Platform Data Creation 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 template.xml file used by the SDx Environment IDE New Project Wizard when creating an application.
    • See Platform Sample Applications.
  4. Create a platform directory with platform XML metadata files.
    • The basic platform directory structure is shown below. For folders and files not listed, their naming is flexible, otherwise use the specified names (replace <platform> with the name of your platform). The samples folder is optional.
      • myplatforms
        • <platform>
          • <platform>.xpfm
          • hw
            • vivado
            • <platform>.hpfm
          • sw
            • <processor_boot_folder>
            • <platform>.spfm
          • samples
            • <sample_application_folder>
            • template.xml
  5. Validate your platform supports the SDSoC environment.
    • The 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 with the SDx Environment 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 Environment IDE.
    • Start the SDx Environment IDE and create an SDSoC project using the New Project Wizard. After specifying a project name, you are presented with a list of platforms. Click on Add Custom Platform to navigate to your platform folder and 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.