Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Scroll pdf ignore

Table of Contents

Table of Contents
outlinetrue

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 if the needed files and folders are available. 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 Prime 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 generation of the kernel and the root filesystem is presented which are needed for the SD card setup for the Intel Cycone V HPS (Step 4) which is delivered and finallyafterwards. After that, information regarding the boot process, and additional information are given. Finally, references for further information are mentioned.

Requirements

The requirements for bring-bringing up the HPS in the Intel Cyclone V SoC on the TEI0022 consists of the following toolsimportant settings and tools:

  • Correct programmed system controller Intel MAX 10 on board TEI0022
  •  Windows:
    • Intel® Quartus® Prime Lite - Version 18.1 build 625
    • Intel® Soc FPGA Embedded Development Suite (Soc EDS) - Version 18.1 build 625
  • Linux

...

  • :
    • git
    • fdisk
    • make
    • mkfs

Intel Quartus Prime project

////

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.

////

...

generation

The first step within the HPS booting procedure is using the tool "Intel Quartus Prime". Within this tool it is necessary to create 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. Refer to "Intel Quartus Prime project generation" for more detailed information.

////

 - 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////

Preloader/Bootloader generation

After Intel Quartus Prime project generation, it is necessary to handle System on Chip (SoC) booting. The boot process, according to the next figure, consists of several stepsstages:

  • BootROM:

The BootROM is hard coded into the chip. After reset the BootROM code can detect the selected boot source and perform a minimal HPS setup. After that, the preloader can be loaded into the On Chip RAM (OCRM) and can be executed.

...

While executing the preloader, a further HPS and SDRAM initialization can be done. After that, the bootloader can be loaded and executed. Bootloader and bare metal applications are supported.

  • Bootloader:

The bootloader loads the linux operating system (OS) or a bare metal application into the RAM and starts them. If a linux OS is loaded, the kernel is loaded which loads the linux root file system.

To generate the preloader and the bootloader, the handoff folder, generated in the first step stage is used. Refer to "Preloader/Bootloader generation" for more detailed information.

Scroll Title
anchorFigure_Boot_Overview
titleFigure Boot Overview


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

draw.io Diagram
borderfalse
diagramNameFigure_Boot_Overview
simpleViewertrue
width
linksauto
tbstyletop
diagramDisplayName
lboxtrue
diagramWidth641
revision1


Scroll Only
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

...

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

////


Device Tree Blob generation

In the third stepstage, the device tree blob is generated with the ".sopfile" file as input from the Plattform Designer in step 1stage one. Refer to "Device Tree Blob Generation" for more detailed information.

Kernel/Root-filesystem generation

In the fourth stage, the generation of the kernel and the root filesystem with a linux system should be shown. Refer to "Kernel/Root-filesystem generation" for more detailed information.

SD card setup

In the final stepfifth stage, the SD card setup is created to prepare the boot medium to bring-up the HPS within Intel Cyclone V HPS. Refer to "SD card setup" for more detailed information.

Boot Process

In this step, further information regarding the boot process are delivered. Refer to "Boot Process" for more detailed information.

Additional Information

In this section, additional descriptive and explanatory information are given. Refer to "Additional Information" for more detailed information.

...