- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Guys, I am stuck in running a bare-metal program from SD Card. I would highly appreciate if somebody could suggest whats going wrong.
Here’s what I’ve done sofar:
- Created basic HPS design with UART and SDMMC peripherals enabled but I have also tried with De1-SoC Computer system that’s shipped as an example design in Intel SOC FPGA program.
- Built hardware design to .SOF without error and converted SOF to RBF so that it can be loaded by pre-loader
- Using the ‘hps_isw_handoff’, created the spl_bsp with bsp-editor and in the settings, I checked “boot from SDMMC”.
- Compiled preloader using ‘make’ which generated preloader-mkpimage.bin without error
- Ran alt-boot-disk-util to update pre-loader image on special partition of SD card ( Type ‘a2’)
- Created C LED blinking eclipse project in SoC EDS application. Verified the working of the program in Bare-metal debugger. Works fine using debugger script and BTW preloader is also working while showing all the preloader booting messages on my serial terminal.
- Compiled example C project to .AXF with no errors using baremetal compiler. Then convert it to .bin using fromelf command and then convert it in .img with mkimage tool.
- (mkimage -A arm -O u-boot -T standalone -C none -a 0x02100000 -e 0 -n “baremetal
- image” -d blink.bin blink.img) [[Am I using the correct load address (hex)??]]
- Copied BIN file and .RBF file to SD card FAT partition and inserted SD card into board
- Load .sof file on De1-SoC board (because .rbf file was not able to program FPGA by the preloader )
- Reset HPS by pressing reset button
Pre-loader uboot output is as follows:
U-Boot SPL 2013.01.01 (Aug 27 2019 - 08:37:10)
And it does nothing…
Am I missing something very basic? It’s strange that I could not found official documentation on it.
Best regards,
Adeel
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Have you tried to run a simple Hello World bare metal design example to see if everything would run successfully?
Also, we have a Bare Metal User Guide here:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_bm.pdf
May I know which Quartus Version you are using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Any follow up from your side?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I resolved the problem by changing the linker script. The starting memory address was wrong.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for the followup, were you able to boot up successfully now?
I hope you find the bare metal user guide helpful, let me know if you have additional questions.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page