You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Table of Contents

Introduction

Bringing-up SoC boards can be board dependent. Therefore, an overview introducing into the basic requirements to bring-up the board TEI0022 could be very helpful. To reach this goal this guide shows users with basic knowledge of computers, basic ideas of FPGAs, and Software Design Tools,
a detailed insight into the required steps to create the necessary files for booting the Hard Processor System (HPS) of an Intel Cyclone V SoC from an SD card.

The whole design process needs several tools, whereby output files and folders from one step are essential for the next processing step. Therefore, each step can be handled independently with its complexity. The usage of tools will be described in sequential order, according to the necessary path, booting the HPS. This process is described by showing the requirements in the next section. The following section displays the necessary steps withing the tool "Intel Quartus Project" (Step 1). After that, the generation of the preloader and the main bootloader from u-boot sources (Step 2) is shown, followed by the generation of the device tree blob (Step 3). Then, the SD card setup for the Intel Cycone V HPS (Step 4) is delivered and finally, references for further information are mentioned.

Requirements

The requirements for bring-up the HPS in the Intel Cyclone V SoC consists of the following tools:

  • Intel® Quartus® Prime Lite - Version 18.1 build 625
  • Intel® Soc FPGA Embedded Development Suite (Soc EDS) - Version 18.1 build 625
  • Linux Installation(, whereby the Windows Subsystem for Linux is not suitable)


////

This step by step guide covers the tools and console commands for Windows users. The programs and tools this guide uses
are Linux based. Intels approach for making these Linux tools accessible to Windows users is the wrapper Cygwin, because of
that, the steps and console commands in a Linux environment are nearly identical.

All required Editors and tools are part of the Intel FPGA Design software packages.

Only the SD card build requires low level access to the SD card and can therefore only be performed in native Linux environment.

Software:

 - Intel® Quartus® Prime Lite - Version 18.1 build 625

 - Intel® SoC FPGA Embedded Development Suite (SoC EDS) - Version 18.1 build 625 - Extension of Quartus Prime lite

 - Linux Installation - As OS or as a Virtual Machine - Windows Subsystem for Linux is not suitable

////

Step 1 - Intel Quartus Project

The first step within the HPS booting procedure is using the tool Intel Quartus. Within this tool it is necessary to creat a new project. After that, it is mandatory to configure the resources (system memory and SD card access) withing the Plattform Designer. After that, connect the basis interfaces (UART, I2C) of the HPS to the board resources and compile the project to create the ".sopinfo", the ".qip" files, and the "handoff" folder.


////

 - Setup a project in Quartus Prime Lite (folder: project and project name: HPSexample)

 - Use the Plattform Designer to configure the resources needed to boot the HPS
    (System Memory and SD card access)

 - Connect the basic interfaces (Uart and i²c) of the HPS to the board resources

 - Compile the project to get the required files and folders for the next steps
    HPSexample.sopinfo / PlattformEditorHPS.qip file and (hps_isw_)handoff folder

ADD LINK TO THIS PAGE

////

Step 2 - Generation of the preloader and main bootloader from U-Boot sources

Use the handoff folder to generate the preloader and main bootloader

[preloader-mkpimage.bin u-boot.img]


ADD LINK TO THIS PAGE


Step 3 - Generation of the Device Tree Blob

Use the plattformDesigner.sopinfo file to generate the device tree
[dts and dtb]


ADD LINK TO THIS PAGE


Step 4 - SD card setup for Intel Cyclone 5 HPS


ADD LINK TO THIS PAGE


Web sources:

Embedded Linux Beginners Guide
https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide


Introducing the Intel® Quartus® Prime Pro and Standard Edition Software User Guides
https://www.intel.com/content/www/us/en/programmable/products/design-software/fpga-design/quartus-prime/user-guides.html

Intel SoC FPGA Embedded Development Suite User Guide
https://www.intel.com/content/www/us/en/programmable/documentation/lro1402536290550.html

Intel® Soc EDS Support
https://www.intel.de/content/www/de/de/programmable/products/design-software/embedded-software-developers/soc-eds/support.html

Embedded Peripherals IP User Guide
https://www.intel.com/content/www/us/en/programmable/documentation/sfo1400787952932.html


SoC HPS System Generation
https://www.youtube.com/watch?v=8BehnPg8IvM
https://www.youtube.com/watch?v=L8FMSy7Uxjc
https://www.youtube.com/watch?v=vS7pvefsbRM



U-Boot

HPS SoC Boot Guide - Cyclone V SoC Development Kit
https://www.intel.com/content/www/us/en/programmable/documentation/lro1404103165481.html

Generating and Compiling the Preloader
https://rocketboards.org/foswiki/Documentation/AVGSRDPreloader

Building Bootloader
https://rocketboards.org/foswiki/Documentation/BuildingBootloader

Preloader and U-Boot Customization - v13.1
https://rocketboards.org/foswiki/Documentation/PreloaderUbootCustomization131

U-Boot programming: A tutorial -- Part I to III
http://xillybus.com/tutorials/uboot-hacking-howto-1


DTB





Device Tree Generation
https://rocketboards.org/foswiki/Documentation/DeviceTreeGenerator140


  • No labels