FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

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 !​