In this document, the bare-metal sample application ALT-HWLib-HelloWorld-Unhosted-A10-GNU is generated from the QSPI (Quad SPI) boot flash daughter card that can be installed on the Intel® Arria® 10 SoC development kit.  An example of standalone execution is explained.

This bare-metal sample application is a simple application that just displays a “Hello from Arria 10 SoC!!!” message over UART. The file io.c included in this example is also useful for standalone applications to redirect printf() output to UART instead of JTAG.

This document describes the following:
(1) Important product in hardware development (handoff file)
② SoC FPGA boot flow
③ How to build the bare metal sample application with DS-5
・Start DS-5
・Importing bare metal samples and applications
・Built bare metal sample application
④ How to generate 2nd stage bootloader (U-Boot) for QSPI flash boot
・What is the 2nd stage bootloader?
・Procedure for generating 2nd stage bootloader for QSPI flash boot
⑤ Example of standalone execution of bare metal application from QSPI flash
・How to write RBF file to QSPI flash
・How to write the 2nd stage bootloader and application image to QSPI flash
・Checking the operation of standalone execution

Notes:
This document mainly describes examples using U-Boot as the 2nd stage bootloader.
You can also use a UEFI (Unified Extensible Firmware Interface) bootloader as a non-GPL licensed bootloader source. For the UEFI bootloader, see Intel® Arria® 10 SoC UEFI Boot Loader User Guide] (English version).

Notes:
For the hardware design described in this document, we use the existing QSPI boot design for the Arria® 10 SoC development kit.


The main development environments used in the explanations in this document are shown below.

[Table 1‑1] Major environments used in the explanations in this document

item number

item

content

1

Host PC

A host PC running Linux (it is also possible to use Linux by building a virtual machine (VM) environment on a Windows PC)

In this document, we have constructed a virtual machine environment by combining Oracle® VM VirtualBox (hereafter referred to as VirtualBox) and CentOS 6.9 (hereafter referred to as CentOS 6) on Windows® 7 Professional and confirmed the operation.

Notes: 

U-Boot compilation is only supported on Linux host machines. Not supported on Windows.

Please refer to the following site for how to build a virtual machine environment.

Building a virtual machine environment with VirtualBox and CentOS 6

2

Intel® Quartus® Prime Design Software Standard Edition (or Pro Edition)

(hereafter referred to as Quartus® Prime)

A tool for developing SoC FPGA hardware.

This document uses the Quartus® Prime development software Standard Edition v18.1.

Quartus Prime Standard Edition v18.1 for Linux

Notes:

この資料で説明しているデザインファイル a10_soc_devkit_ghrd_qspi.tgz を実際にコンパイルする場合は、Quartus® Prime プロ・エディションが必要になります。

Notes:

It is necessary to install the Device data corresponding to the SoC FPGA mounted on the target board to be used.

Please refer to the following site for how to install Quartus® Prime.

Quartus® Prime & ModelSim® Installation Instructions

3

Intel® SoC FPGA Embedded Development Suite Standard Edition

(hereafter referred to as SoC EDS)

A tool for developing software for SoC FPGAs.

You can use Arm® Development Studio 5 Intel® SoC FPGA Edition (DS-5) included in SoC EDS to build and debug your application software.

This document uses SoC EDS Standard Edition v18.1.

SoC EDS Standard Edition v18.1 (Linux version)

Notes:

Intel® FPGA Download. Arm® Development Studio 5 Intel® SoC FPGA Edition (paid version) is required for debugging bare metal applications using a cable (USB-Blaster II).

Please refer to the following site for how to install SoC EDS.

How to install SoC EDS

4

Arria® 10 SoC Development Kits

This is a development kit used as a target board in the explanations in this document.

Install and use the QSPI boot flash daughter card.

Arria 10 SoC Development Kits

5

QSPI Boot Content for Arria® 10 SoC Development Kits

If you want to actually check the operation described in this document, please download the following hardware design files together with this document.

A10_SoC_DevKit_GHRD_QSPI.tgz

This document assumes that the above downloaded files are stored in /home/Student/Temp.

Notes:

The above A10_SoC_DevKit_GHRD_QSPI.tgz file was created with reference to the contents of the following pages.

GSRD tagging information

Arria 10 QSPI boot hardware (v17.1: a10_soc_devkit_ghrd_qspi.tar.gz)

Arria 10 QSPI boot precompiled binaries (v17.1: linux-socfpga-qspi-17.1-a10.tar.gz)

6

Bare metal sample application

This is the bare metal sample application used in the explanations in this document.

This bare metal application is a simple application that just displays a “Hello from Arria 10 SoC!!!” message over UART.

If you want to actually check the operation, please obtain the following application files together with this document.

ALT-HWLib-HelloWorld-Unhosted-A10-GNU.tgz

This document assumes that the above downloaded files are stored in /home/Student/Temp.

7

Terminal emulation software

A serial terminal software is required to use this sample. This article uses freeware software called "Tera Term".

Tera Term download URL

Notes:

In Tera Term, set the following for the valid COM port when connecting to the UART of the target board.

・ Baud rate 115200 bps

・ 8-bit data

・ No parity

・ 1 stop bit

・ No flow control

 

Notes:
This document assumes basic knowledge of Quartus® Prime, SoC EDS, bsp-editor (2nd stage bootloader generator), and DS-5.

Document/Sample Project

Tool version: Document for Ver.18.1 (Rev.2)

 

 

Bare metal sample application

 

 

QSPI Boot Content for Arria® 10 SoC Development Kits

Click here for recommended articles/materials

Click here for recommended FAQ

Click here for recommended seminars/workshops