Lab1: Creating the ZC702 Platform

Important: In the following tutorial lab the samples folder location is called <samples_dir>, and represents your local copy of the sample platforms from the SDx installation.

This tutorial will recreate the base platform for the ZC702 platform that is delivered in the SDSoC installation. It demonstrates how to start and interact with the SDSoC Platform Utility GUI, and create a simple platform targeting Linux, FreeRTOS, and Standalone OSes. For more information on the SDSoC Platform Utility refer to Creating an SDSoC Platform.

  1. Launch an SDx Terminal window:
    • From Windows, choose Start > All Programs > Xilinx Design Tools > SDx 2017.1 > SDx Terminal 2017.1.
    • From Linux, source the settings.sh/csh file as appropriate for the shell type you’re using.
  2. Launch the SDSoC Platform Utility GUI from the SDx Terminal:
    Important: The SDSoC Platform Utility should be launched from the C:/ directory on the Windows OS, or an equivalent root directory, to avoid path name length limitations that can cause problems when generating the platform files on Windows.
    • In your terminal or shell type sdspfm -gui to launch the GUI.
  3. After the SDSoC Platform Utility GUI opens, enter the following info for the base platform information to match the following figure.

    Figure: Specify Hardware Platform



    • Platform Name: zc702
      Important: The platform name must match the name of the Vivado Design Suite project that defines the hardware, as well as the IP Integrator block design contained in the project.
    • Choose an appropriate Output Directory for your system.
    • The Vivado Project and Platform Tcl files can be found in the <samples_dir>/zc702/src/vivado directory.
  4. Notice that after the Vivado project file, zc702.xpr, has been specified, the Processor Type field displays ARM Cortex-A9.
  5. Click the Add button in the Processor Information pane to add the A9 processor to the platform configuration.
    Tip: Only one processor of each type is required for the platform configuration, although your platform will still be able to use all cores.

    Figure: Add Processor



  6. In the Boot Information pane you will configure the Linux OS first, but the order you configure OSes is not important.

    Figure: Linux Boot Information



    1. Click the Add button in the Boot Information panel to add a new configuration.
    2. Config ID: a9_linux, although this can be any name you want.
    3. OS Type: Linux, selected from the drop down menu.
    4. Config Name: This name is automatically generated, but can be edited as needed.
    5. BIF File: <samples_dir>/zc702/src/linux/linux.bif
    6. Readme File: <samples_dir>/zc702/src/generic.readme
    7. Boot Directory: <samples_dir>/zc702/src/boot
    8. Image Directory: <samples_dir>/zc702/src/linux/image
    Tip: OS settings are automatically saved to the selected configuration when a change is made to the settings on the right.
  7. At this point you can save the platform configuration to a file by choosing File > Save from the menu at the top of the GUI. You’ll be prompted to enter a name and location for the configuration file. You can save the platform configuration file to whatever location you prefer, but you should not store it inside of the generated SDSoC platform as regenerating the platform may delete the configuration file.

    Figure: Save Configuration



    Saving the platform configuration file lets you reload the details of the platform in the SDSoC Platform Utility and regenerate it as needed, or use it as the starting point for a new platform. You can load a saved configuration file using the File > Open command.

  8. Add and configure FreeRTOS to the platform using the following settings:

    Figure: FreeRTOS Configuration



    1. Click the Add button in the Boot Information panel to add a new configuration.
    2. Config ID: a9_freertos.
    3. OS Type: FreeRTOS, selected from the drop down menu.
    4. Config Name: Change this name to FreeRTOS Config 1.
    5. BIF File: <samples_dir>/zc702/src/freertos/freertos.bif
    6. Readme File: <samples_dir>/zc702/src/generic.readme
    7. Boot Directory: <samples_dir>/zc702/src/boot
    8. Linker Script: <samples_dir>/zc702/src/freertos/lscript.ld
  9. Add and configure Standalone OS to the platform using the following settings:

    Figure: Standalone Configuration



    1. Click the Add button in the Boot Information panel to add a new configuration.
    2. Config ID: a9_standalone.
    3. OS Type: Standalone, selected from the drop down menu.
    4. Config Name: Change this name to Standalone Config 2.
    5. BIF File: <samples_dir>/zc702/src/standalone/standalone.bif
    6. Readme File: <samples_dir>/zc702/src/generic.readme
    7. Boot Directory: <samples_dir>/zc702/src/boot
    8. Linker Script: <samples_dir>/zc702/src/standalone/lscript.ld
  10. Save the configuration file again, using the File > Save command.
  11. Click the Generate button at the bottom of the GUI. This causes the GUI to send your platform configuration settings to the sdspfm command line utility which creates your platform. You can see progress updates in the SDx Terminal from where you launched the GUI as your platform is created. When your platform is finished generating, you’ll see a popup message in the GUI with the output from the SDx Terminal if there are any error messages. Click Ok to close this message.
  12. Exit the SDSoC Platform Utility by using the File > Exit command.

With the platform created, you can navigate to the output directory to view the generated platform files. Notice that the Vivado project is included in the hw folder, and the various OS configurations are included in the sw folder.

From within the SDx IDE you can use the Xilinx > Add Custom Platform command to add the newly created platform to the library of platforms available for SDx projects. You can also move your platform anywhere on the file system, prior to adding it to the library.

Figure: Add Hardware Platform