FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.

Preloader does not work.


Hi everyone,


First of all, I am new to this field and most of the time I learn it by myself. Recently, I just bought an Atlas-SoC board from Terasic and I have been trying to make an bare-metal application ( just counting and output to LEDs ).


So far, I have been following those steps:

1/ Design my own HPS on Platform designer ( Qsys )

2/ Connect all the necessary pin

3/ Successfully compiled on Quartus

4/ Generated .rbf file ( Passive Parallel x16 )

5/ Generated a preloader using bsp-editor. In here, I disabled Watchdog and enabled FAT-Support

6/ Generated preloader bin file using make command

7/ Generated u-boot.img using make uboot commad

8/ Load preloader on SD card by using alt-boot-disk-util.exe

9/ Copy all uboot.img and rbf file to SD card( at this point, I have not made baremetal application because I just want to see if it is booted or not )

10/ Plug SD card into my board ( MSEL is set to ON )

11/ Open putty and connect to the board

12/ Turn on the board


The result is nothing. I received nothing on the Putty terminal. At first, I thought that it would show the setup of Clock, SDRAM, Reset, etc. But all I have is totaly blank terminal.


My first assumption is that I have made some mistakes in configuring the preloader.


I hope someone can give me a solution because I am pretty a newbie in this field.


Thanks in advance !

0 Kudos
8 Replies

thanks for your answer. Let me update my situation a little bit. After some configuration, I have been able to load my preloader, so now I have 2 choices:

  1. Use only preloader and baremetal application
  2. Use uboot to first load .rbf file then jump to application ( and of course with uboot script)


With the first one, when making the preloader, I modify the field FAT_LOAD_PAYLOAD_NAME to "hello_world.img". Then compiling and load it to my SD without problem. I found in uboot-socfpga folder having examples sub-folder with hello_world.bin inside, then I converted it to .img file and drag it to my SD card. However, when plugged it into the board, on Putty terminal I had my u-boot SPL configuration and went to reading hello_world.img but it stucked over there and went nowhere.


With the second one, I make a uboot by make command and create my uboot script that first load .rbf file, then jump to my bare metal application. Since my EDS does not license so I used the same hello_world example. Everything was going well until I got this error:


MAYBE you should read doc/README.arm-unaligned-accesses


This happened when it tried to run the application.


Once again, I appreciate your help and I hope you can give me a clue for this problem.









Have you refer to this link for booting your particular board which is the Atlas-Soc?;



FYI, getting the SD card image;



Let me know if you did, if you didn't I suggest that you follow the steps to boot your Atlas-SoC.




Thanks for your answer. Everything with preloader, uboot and uboot script is now, I think, working fine. All I need now is a simple bare metal application like "hello world" to test. However, I cannot have bin file to execute it on the board. I can only obtain axf file ( and I do not think it can be used to execute on the board ). I also know about fromelf tool but it gives me error about failing to check the license. Is there any way else to work around with this? Or I have to really buy a license to make and generate a bin file from C code ?


BTW, a bit feedback on those link you give me:

https://rocketboards.org/foswiki/Documentation/AtlasSoCBootingLinux ==> I have done with communicating by Putty.


https://rocketboards.org/foswiki/Documentation/AtlasSoCSdCardImage ==> All the links to get the images are not accessible. They gives me "404 Not found" error.


Once again, thanks for all of your support.




Oh, I see that the booting is fine for you.


Okay, so to answer your question about testing a "hello world" via bare metal application which is ARM DS-5, you do need to install and acquire a license to work with DS-5, to get you going in creating, configuring, and building a simple bare-metal program.


Anyway, happy to help, here is a link for you to refer to test the "hello world" via bare metal application, granted that you have the DS-5 licenses working;



Please do save the link for you future reference or review it to get a glimpse of the procedure and the output.




Even with 30-day license I still cannot generate binary ?


Thanks !


As long as the license is working, you should be able to.


Oh! I figured it out with 30 day license.


Thank you so much for the support !​