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?
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:
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.
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?
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.
Did you check the output files if the .sof file is created in the folder? The directory should be similar to:
There is a sample Linux Application that displays Hello World using serial console/ssh:
but you need to boot linux first, here is a guide on booting the Linux: