Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
All support for Intel NUC 7 - 13 systems has transitioned to ASUS. Read latest update.
437 Discussions

HPS Booting - Preloader boot from RAM



I am working on a project in which the FPGA is configured using Passive Serial and the HPS is booted completely from the FPGA (both the Preloader and Bare-Metal application will be stored in OCRAM) however I am having difficulties in finding details on how to configure the Preloader to launch the Bare-Metal application from the RAM.   For the project I am using the Cyclone V SoC (5CSEBA6) and Quartus Prime version 17.0.  My specific questions are as follows:


1.  What memory address does the Preloader use when booting the next software stage from RAM (spl.boot.BOOT_FROM_RAM = True)?


2. What are the required configuration options for the On-Chip Memory (RAM or ROM) component in the hardware design which will be used to store the Bare-Metal application?  Are they the same as those used for storing the Preloader shown here (pg. 3):


3. How is the Bare-Metal application .axf file converted to .hex format so that it can be synthesized in memory? Can the same terminal commands used here (pg. 4) be used and, if so, what settings do I need to keep in mind?


Thank you.

0 Kudos
2 Replies

Hi ,

The below thread should act as a valuable reference.

Please follow the discussions and let us know if that helps you.

Thanks and Regards


0 Kudos

Hello and thank you for the reply,


I have read through all of the discussions but I am unsure if they help me.  It seems as though the discussions mainly focus on launching a bare-metal application from an external SD card whereas I am interested in launching from FPGA memory.  I will eventually be working with custom hardware without an SD card slot and both the hardware and software design should be able to be configured through the Passive Serial connection.  For reference, I am essentially trying to replicate this tutorial ( but instead configure the Preloader to run the HPS software from another On-Chip Memory (RAM or ROM) component.

From the posts, I gather that I only need to use the mkimage utility on the compiled bare-metal application if I plan on using u-boot, is that correct?

I apologize if I have misunderstood the information given in the posts.  I do not have a software background and some of the concepts are unfamiliar to me.



0 Kudos