Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20702 Discussions

When do we need to customize preloader?

rshal2
New Contributor II
1,232 Views

Hello,

 

The general scheme of building preloader is composed of:

handoff -> preloader config + u-boot-spl source code -> binary

 

So it is usually "automatic" build without any customization.

Yet, it seems that sometimes there might be a need to manually modify the code before building the binary:

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

 

I try to understand when do we manually change code.

I read somewhere that enabling the bridge is done from preloader:

https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/embedded/2016/how-and-when-can-i-enable-the-fpga2sdram-bridge-on-cyclone-v-soc.html

 

Does it mean that some file should be modified in order to enable the bridge or is it part of the code generator ?

 

When do we need to manually modify the generated code ?

 

Thank you,

ranran

0 Kudos
1 Solution
EBERLAZARE_I_Intel
804 Views

Hi ranran,

 

Here is an example; for enabling HPS-to-FPGA Bridges from the preloader, the preloader will check the status of the FPGA then automatically enables bridges that are configured in Qsys/platform designer (Standard) and the BSP if the FPGA is configured.

 

For more information, I reckon you refer to GSRD v13.1 - Programming FPGA from HPS.

 

Regards.

View solution in original post

7 Replies
EBERLAZARE_I_Intel
804 Views

Hi,

 

If you decide to have some hardware changes in your design for example, then you will need to customize your preloader to include the hardware.

 

To enable bridges you can refer here page 10.

 

Regards.

0 Kudos
rshal2
New Contributor II
804 Views

Thanks.

 

I try to ask if enabling the bridge is done as part of generating the preload file, or does it require manually modifying the file before compilation ?

 

Thank you very much,

ranran

0 Kudos
EBERLAZARE_I_Intel
805 Views

Hi ranran,

 

Here is an example; for enabling HPS-to-FPGA Bridges from the preloader, the preloader will check the status of the FPGA then automatically enables bridges that are configured in Qsys/platform designer (Standard) and the BSP if the FPGA is configured.

 

For more information, I reckon you refer to GSRD v13.1 - Programming FPGA from HPS.

 

Regards.

rshal2
New Contributor II
804 Views

I understand from this that the enabling is done as part of code generation, and does not require to manually modify the source code before compilation.

Thanks,

 

rshal2
New Contributor II
804 Views

Hi,

 

I did find more info here : https://rocketboards.org/foswiki/view/Documentation/GSRD131ProgrammingFPGA ,

which state that in order to enable the bridge we need to run:

 

If the hardware design is utilizing the bridges between HPS and FPGA, and additional command needs to be run in order to enable the bridges:

# run bridge_enable_handoff

 

But what happens if there is no u-boot ? How then do we enable the bridge ?

 

Is it that we should use this method only when HPS configures FPGA ?

Does it mean that if both starts individually, then we can enable bridge at preloader ?

 

Thanks,

ranran

0 Kudos
EBERLAZARE_I_Intel
804 Views

Hi,

 

Apologize for that, here is an updated version doc that could guide you thoroughly:

 

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

Jump straight to Cyclone V Getting Started Guides.

 

The answer to your question is that, that FPGA can be configure from uboot by using an .rbf image. I suggest you run through the guides in the above link.

 

It means that if you decide to have hardware utilizing the bridges between HPS and FPGA, then the command is need to enable the bridges. Again I highly recommend that you check out the above guidelines which might help you.

 

Regards.

0 Kudos
rshal2
New Contributor II
804 Views

Hello,

 

I have followed this guide.

Yet, I don't understand the issue of enabling bridge:

From the reading I assumed that preloader enables the bridge.

So, I don't understand why this command is needed.

Also note that some system run baremetal application immediately after preloader (no u-boot in the middle).

In those cases there is no such u-boot command.

I still haven't find from this document why we need to enable bridge if they are already enabled.

 

Thank you for the time,

ran

0 Kudos
Reply