Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
445 Discussions

Stratix 10 SoC bare metal, no hps_isw_handoff generated

RPett4
Beginner
1,166 Views

Greetings. I am trying utilize the Stratix 10 SoC HPS (bare metal for now) for the first time. I am using Quartus Prime Pro 19.2. So far, I have used the Platform Designer to instantiate a "Hard Processor System Intel Stratix 10 FPGA IP" and a very simple AXI-Lite GPIO module. I validated the design, generated HDL, and then Compiled the design in Quartus.

 

I am now trying to "import" whatever files the "Eclipse for DS-5" needs to develop software for this system. I imagine this will create some kind of BSP that will generate linker scripts and header files as appropriate for this specific design, and then I can develop my embedded software for the application.

 

I can't find a very good step-by-step instruction of doing this (I feel like there should be a tutorial just to go through the motions and get used to the mechanics, but I can't find it), but I have gathered bits and pieces from around the web: It looks like the flow is to use the bsp-editor tool available from "Embedded_Command_Shell.bat", and this asks to point to the "Preloader Settings Directory" which should contain hps.xml and emif.xml.

 

Everything I've found seems to indicate that Quartus should generate a folder called "hps_isw_handoff" which contains these files, but my project is not producing this.

 

Are there additional settings I need to enable to get this directory to be built? I noticed that my Quartus Prime Pro version is 19.2, but the latest SoC EDS available for download is only at 19.1. Do these versions need to align?

0 Kudos
6 Replies
EBERLAZARE_I_Intel
902 Views

Hi,

 

Depending on the exact bootloader and SoC device family, the handoff can take various forms. For Intel Stratix 10 SoCs, the handoff information is part of the FPGA configuration bitstream.

 

Based on my knowledge, a "hps_isw_handoff" folder will be created when you have compiled your project successfully in Quartus when using Cyclone V Soc or Arria 10 SoC boards. For Startix 10 SoC the handoff information is located in the "output_files" directory of your project folder.

 

You can find the demonstration of the steps when the handoff information is created below in the "Compiling Hardware Design" tab: https://rocketboards.org/foswiki/Documentation/S10GSRDCompilingHardwareDesign180

 

We also have this documented in our website available here:

https://www.intel.com/content/www/us/en/programmable/support/support-resources/design-guidance/soc-bootloader.html

 

From above link, you can direct to the "Hardware Handoff" section on the left side where you can find more information regarding the handoff information.

 

I recommend you check https://rocketboards.org/foswiki/Main/GettingStarted to learn more on other topics as well.

 

Let me know if you need more help.

 

Thanks.

0 Kudos
RPett4
Beginner
902 Views

I need more help.

 

Even after looking at those links, I still don't see an obvious description of how to "import" the quartus/qsys design into Eclipse to generate linker scripts and header files to develop embedded software. Surely this is a common task. I tried pointing the bsp-editor tool to "output_files" as you indicated, but I get "Invalid Preloader settings directory. The Preloader settings directory "C:\...\output_files" is invalid. Please select a directory which contains hps.xml and emif.xml."

 

A lot of tutorials are geared towards building u-boot and linux, which I am not ready to do. I just want a basic bare metal application right now. Is there a step-by-step tutorial for a simple "hello world" for the stratix 10 SoC?

0 Kudos
RPett4
Beginner
902 Views

At this point I would be happy to even have a "hello world" example to print "hello world" out the Stratix 10 SoC development kit UART.

 

SURELY there is a "hello world" software tutorial? I'm not talking about a precompiled binary either.

0 Kudos
EBERLAZARE_I_Intel
902 Views

Hi,

 

For Stratix 10 SoC "Hello World" Bare metal example, you may find the example, you may find it your SoC EDS installation:

> 18.1\embedded\examples\software

 

 

0 Kudos
EBERLAZARE_I_Intel
902 Views

Hi,

 

Did you check the output files if the .sof file is created in the folder? The directory should be similar to:

~/s10_soc_devkit_ghrd/output_files/ghrd_1sx280lu2f50e2vg.sof

 

 

There is a sample Linux Application that displays Hello World using serial console/ssh:

https://rocketboards.org/foswiki/Documentation/S10GSRDSampleLinuxApplications180

 

but you need to boot linux first, here is a guide on booting the Linux:

https://rocketboards.org/foswiki/Documentation/Stratix10SoCLinuxQuickStart

0 Kudos
EBERLAZARE_I_Intel
902 Views

Hi,

 

I would like to know if you have any follow up to this issue from your side?

0 Kudos
Reply