Stratix 10 Linux SD card booting
Hi Altera Community, I tried multiple attempts to boot the SD card from Rocketboard.org. https://releases.rocketboards.org/ I downloaded and booted the SD card with the .wic image file. It only has the .itb file by default in the boot partition. Whenever I try to boot, it asks for the U-Boot.img file. And also it says "failed to load "socfpga_stratix10_socdk.dtb" even if the file is there. And then I compiled my simple HPS design and can easily program the FPGA from the Quartus Programmer (rbf and sof file), but whenever I try to overlay it, like say: echo overlay.dtb > /sys/kernel?config?device-tree/overlays/0/path It says "FPGA manager error, timeout," and so on. Does any community member have notes or steps that you made to boot the SD card of the Stratix 10 FPGA? I am following this link: https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderStratix1096Views0likes9CommentsAgilex 5/3 FreeRTOS Heterogeneous SMP SDK Release
Stable Version: v26.1 Quartus Version: 26.1 Supported devices: Agilex™ 3 and Agilex™ 5 Source: https://github.com/Ignitarium-Technology/freertos-socfpga Branch/Tag: v26.1-HSMP Release Date: June 24, 2026 Hello Everyone, A new version of the FreeRTOS SDK for Agilex 5/3 is now available. Apart from other fixes and features, the FreeRTOS port now supports heterogeneous SMP for Agilex™ 5 devices. Visit the GitHub repository for instructions on how to get started. Features and Comments Feature Agilex3 Agilex5 Agilex3 SMP Agilex5 SMP Supported Features Limitations / Known Issues A55 boot Yes Yes Yes Yes Single-core boot, Dual-core SMP, Quad-core SMP (Agilex 5) A76 boot NA Yes NA Yes Single-core boot, Dual-core SMP, Quad-core SMP QSPI boot Yes Yes Yes Yes eMMC boot Yes Yes Yes Yes SD boot Yes Yes Yes Yes NAND boot No No No No Clock Manager Yes Yes Yes Yes API to get clock speed of different blocks Reset Manager Yes Yes Yes Yes Peripheral reset assert/de-assert DMA driver Yes Yes Yes Yes Memory-to-Memory, Memory-to-Peripheral and Peripheral-to-Memory GPIO driver Yes Yes Yes Yes Write, read and interrupt support Timer driver Yes Yes Yes Yes User-defined and free-running modes UART driver Yes Yes Yes Yes Full-duplex TX and RX DMA not supported (planned for future release) I2C driver Yes Yes Yes Yes Master/Slave mode, standard and fast modes QSPI driver Yes Yes Yes Yes QSPI flash read/write/erase I3C driver Yes Yes Yes Yes Master mode, I3C and legacy I2C devices IBI not supported (planned for future release) SPI driver Yes Yes Yes Yes Master/Slave mode write and read NAND driver No No No No SDM Mailbox driver Yes Yes Yes Yes SDM commands with SIP_SVC SMMU support Yes Yes Yes Yes Static identity mapping for cache coherency SDMMC driver Yes Yes Yes Yes Standard and HS speeds, SDMMC and eMMC devices, FATFS support Ethernet stack Yes Yes Yes Yes TCP/IP, UDP, ICMP, DHCP, IPv4 and IPv6 USB 2.0 stack NT Yes NT Yes USB mass storage class Tested with a custom board and SOF USB 3.1 stack NT Yes NT Yes USB mass storage operation WDT driver Yes Yes Yes Yes Interrupt or reset on timer expiry EDAC support Yes Yes Yes Yes Error injection and detection for EMAC, USB and QSPI blocks OCRAM not supported IOSSM driver Yes Yes Yes Yes Error injection and detection Bridge driver Yes Yes Yes Yes Enable/Disable bridges Reboot Manager Yes Yes Yes Yes Warm/Cold reboot FPGA Manager Yes Yes Yes Yes FPGA configuration Legend: Yes: Feature available and tested No: Feature not available in SDK NA: Not applicable NT: Not tested Note: If you find any issues, please raise an issue on the GitHub repository. For more support and assistance, visit our website.56Views0likes0CommentsGSRD for DE25-Nano
Hello Altera In this post you state that: "Terasic DE25-NANO Board example design is planned for 26.3 release (Q3'26). " HPS on DE25-NANO | Altera Community - 353750 However on the DE25-NANO site it is possible to download the file "golden_top_hps.jic" Terasic - All FPGA Boards - Agilex 5 - DE25-Nano Development and Education Board I tested it on my DE25-NANO and the HPS works perfectly. If you can provide this file, it indicates that you already have a working GSRD project for the DE25-NANO board. Why wait til Q3'26 to release it? Can you not upload it now so I can use it for my student project please? Thanks in advance.Solved52Views0likes1CommentHPS ip configuration in platform designer for uart0 enabling in arria 10 soc
I have software tools Quartus prime pro 26.1, soc eds 20.1 and linaro baremetal tool chain. Now i configure the HPs ip for uart0 enabling but i am not sure wether it is correct or not, can you please conform it, and guide if there any changes required and if configuration is fine tell me the next steps to do. Regards Tean D&D, ESSEN180Views0likes6CommentsAgilex 5 premium board - es version - boots with gibberish prompts
Hello dear community, I am trying to boot linux on the Altera Agilex 5 premium board - es version with the pre-built binaries. I followed the documentation still getting prompts in gibberish. Following is a detailed description of the procedure I used. My questions: 1. What am I doing wrong? 2. What should be my debugging flow steps? Detailed description of the procedure to demonstrate the issue: --------------------------------------------------------------------- In order to verify the Agilex 5 SoC premium baord is booting correctly, I used the pre-build binaries per the following instructions of this link: https://altera-fpga.github.io/rel-25.1.1/embedded-designs/agilex-5/e-series/premium/gsrd/ug-gsrd- agx5e-premium/#configure-serial-console I followed the paragraphs starting with the title " Exercising Prebuilt Binaries" This page instructs the user to download the pre-built binaries from this release: https://releases.rocketboards.org/2025.08/gsrd/agilex5_dk_a5e065bb32aes1_gsrd/ I followed the instructions of "Booting from SD card". The workstation is Windows 10 machine and the Terminal application is putty. Eventually, when booting the linux per these instruction, I see the first stage boot loader (u-boot spl) is prompting correct font, however the next booting stages are prompting gibberish. Attached is a screenshot (202604262215screenshot.jpg).Solved125Views1like5CommentsStratix 10 HPS LED example
Can someone suggest a basic HPS project with PIO for LED control. Need the complete flow of building the project from scratch. How to assign the HPS pins in Quartus. How to add uboot along with fpga pof file in QSPI flash. How to load linux in emmc.250Views0likes17CommentsHPS on DE25-NANO
Hello Altera Community I want to try out the HPS system on my DE25-NANO Board. It seems that Altera has already provided an example here: HPS GSRD User Guide - Altera FPGA Developer Site However they seem to only target the Premium Agilex boards. It is possible to run any of these examples on my DE25-NANO board? It has the ID: A5EB013BB23BE4SR1 The linked github site list a number of board with similar ID's GitHub - altera-fpga/agilex5e-ed-gsrd: Altera Agilex 5 E-Series GSRD · GitHub Thanks in advance.Solved72Views0likes1CommentU-Boot "Synchronous Abort" boot failure on Terasic Atum A5 Rev B via Quartus 24.3 .jic generation
I am reaching out for technical assistance regarding a reproducible boot failure on the Terasic Atum A5 Rev B development board (Agilex 5) when using Quartus Prime Pro 24.3. I am attempting to compile a custom design that utilizes the Lightweight HPS-to-FPGA (lwhps2fpga) bus. My current workflow is as follows: Compile the project in Quartus 24.3 to generate the .sof file. Merge the .sof with the official Terasic FSBL .hex file. Use the Programming File Generator (PFG) to create a .jic file. Flash the .jic to the QSPI. The Issue: When flashing the .jic generated by this workflow, the boot process fails during the main U-Boot phase. The U-Boot SPL and ATF (BL31) load successfully. However, after U-Boot attempts to load the environment, the system crashes with a "Synchronous Abort" handler (esr 0x96000010, far 0x108d2000). This triggers a CPU reset with the message ### ERROR ### Please RESET the board ###. (I have attached the full UART terminal log of the boot sequence for reference). Isolation Testing: To isolate the issue from my custom logic, I applied this exact same compilation and .jic generation workflow to the official Terasic GHRD bundled with the board. The result was identical—the GHRD .jic generated by Quartus 24.3 crashes at the exact same U-Boot Synchronous Abort. Conversely, when I bypass compilation and simply flash the original, pre-compiled .jic provided in the Terasic resource package, the board boots into Linux flawlessly. This confirms the physical hardware is fully functional and the issue is strictly isolated to the .jic files being generated by the 24.3 workflow. Questions: Is there a known issue or missing step in the Quartus 24.3 workflow when merging the FSBL or configuring the .jic for the Agilex 5 that would cause U-Boot to encounter a Data Abort (likely when probing the AXI bridges)? What are the exact PFG parameters or required patches to successfully generate a booting .jic for this board under the 24.3 release? I look forward to your guidance on resolving this workflow issue201Views0likes8CommentsAgilex7m i have configure 4GB ddr linux is not booting. I got architect time failure error.
Agilex7m I have configure 2GB DDR, linux is booting fine. But if I configure 4GB ddr linux is not booting. I got architect time failure error. But 2GB ddr configuration this error not came. I u-boot 4GB ddr is accessible but linux is not booting Boot logs init_mem_cal: Initial DDR calibration IO96B_0 succeed DDR: Calibration success is_mailbox_spec_compatible: IOSSM mailbox version: 1 DDR5: 4096 MiB ecc_interrupt_status: ECC error number detected on IO96B_0: 0 DDR5: size check success DDR5: firewall init success DDR5 init success QSPI: Reference clock at 500000 kHz Trying to boot from SPI Board ID is not in range 0 to 255 ## Checking hash(es) for config board-0 ... OK ## Checking hash(es) for Image atf ... crc32+ OK ## Checking hash(es) for Image uboot ... crc32+ OK ## Checking hash(es) for Image fdt-0 ... crc32+ OK NOTICE: BL31: v2.13.1(release):QPDS25.3.1_REL_GSRD_PR NOTICE: BL31: Built : 10:40:22, Nov 25 2025 U-Boot 2025.10-ga0db71cfad37-dirty (Dec 11 2025 - 10:49:42 +0000)socfpga_agilex7m CPU: Altera FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex7-M SoCDK DRAM: 2 GiB (total 4 GiB) Core: 38 devices, 22 uclasses, devicetree: separate NAND: 0 MiB MMC: mmc@ff808000: 0 Loading Environment from FAT... OK In: serial@ffc02000 Out: serial@ffc02000 Err: serial@ffc02000 Board ID is not in range 0 to 255 Net: eth0: ethernet@ff800000 Hit any key to stop autoboot: 0 SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # bdinfo boot_params = 0x0000000000000100 DRAM bank = 0x0000000000000000 -> start = 0x0000000000000000 -> size = 0x0000000080000000 DRAM bank = 0x0000000000000001 -> start = 0x0000000100000000 -> size = 0x0000000080000000 flashstart = 0x0000000000000000 flashsize = 0x0000000000000000 flashoffset = 0x0000000000000000 baudrate = 115200 bps00 8N1 | NOR | Minicom 2.9 | VT102 | Offline | ttyACM0 relocaddr = 0x000000007fee9000 reloc off = 0x000000007fce9000 Build = 64-bit current eth = ethernet@ff800000 ethaddr = b6:97:a4:21:e2:4a IP addr = 169.254.65.121 fdt_blob = 0x000000007fae1950 lmb_dump_all: memory.count = 0x2 memory[0] [0x0-0x7fffffff], 0x80000000 bytes, flags: none memory[1] [0x100000000-0x17fffffff], 0x80000000 bytes, flags: none reserved.count = 0x3 reserved[0] [0x0-0x1ffffff], 0x2000000 bytes, flags: no-map reserved[1] [0x7eae1940-0x7fffffff], 0x151e6c0 bytes, flags: no-overwrite reserved[2] [0x17fff7000-0x17fffffff], 0x9000 bytes, flags: no-notify, no-overwrite devicetree = separate serial addr = 0x00000000ffc02000 width = 0x0000000000000004 shift = 0x0000000000000002 offset = 0x0000000000000000 clock = 0x0000000005f5e100 arch_number = 0x0000000000000000 TLB addr = 0x000000007ffe0000 irq_sp = 0x000000007fae1940 sp start = 0x000000007fae1940 Early malloc usage: 1608 / 2000 Failure log: init_mem_cal: Initial DDR calibration IO96B_0 succeed DDR: Calibration success is_mailbox_spec_compatible: IOSSM mailbox version: 1 DDR5: 4096 MiB ecc_interrupt_status: ECC error number detected on IO96B_0: 0 DDR5: size check success DDR5: firewall init success DDR5 init success QSPI: Reference clock at 500000 kHz Trying to boot from SPI Error: -22 Trying to boot from MMC1 Board ID is not in range 0 to 255 ## Checking hash(es) for config board-0 ... OK ## Checking hash(es) for Image atf ... crc32+ OK ## Checking hash(es) for Image uboot ... crc32+ OK ## Checking hash(es) for Image fdt-0 ... crc32+ OK NOTICE: BL31: v2.13.1(release):QPDS25.3.1_REL_GSRD_PR NOTICE: BL31: Built : 10:40:22, Nov 25 2025 U-Boot 2025.10 (Dec 11 2025 - 10:49:42 +0000)socfpga_agilex7m CPU: Altera FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex7-M SoCDK DRAM: 2 GiB (total 4 GiB) Core: 38 devices, 22 uclasses, devicetree: separate NAND: 0 MiB MMC: mmc@ff808000: 0 Loading Environment from FAT... OK In: serial@ffc02000 Out: serial@ffc02000 Err: serial@ffc02000 Board ID is not in range 0 to 255 Net: eth0: ethernet@ff800000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:1... Found U-Boot script /boot.scr.uimg 2411 bytes read in 3 ms (784.2 KiB/s) ## Executing script at 05ff0000 crc32+ Trying to boot Linux from device mmc0 Found kernel in mmc0 13661579 bytes read in 979 ms (13.3 MiB/s) ## Loading kernel (any) from FIT Image at 02000000 ... Using 'board-0' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage Description: Linux Kernel Type: Kernel Image Compression: lzma compressed Data Start: 0x020000dc Data Size: 10439444 Bytes = 10 MiB Architecture: AArch64 OS: Linux Load Address: 0x06000000 Entry Point: 0x06000000 Hash algo: crc32 Hash value: 0ccd8e20 Verifying Hash Integrity ... crc32+ OK ## Loading fdt (any) from FIT Image at 02000000 ... Using 'board-0' configuration Verifying Hash Integrity ... OK Trying 'fdt-0' fdt subimage Description: socfpga_socdk_vanilla Type: Flat Device Tree Compression: uncompressed Data Start: 0x029f4cd4 Data Size: 32121 Bytes = 31.4 KiB Architecture: AArch64 Hash algo: crc32 Hash value: 262d6a47 Verifying Hash Integrity ... crc32+ OK Booting using the fdt blob at 0x29f4cd4 Working FDT set to 29f4cd4 Uncompressing Kernel Image to 6000000 Loading Device Tree to 000000007ead6000, end 000000007eae0d78 ... OK Working FDT set to 7ead6000 SF: Detected mt25qu02g with page size 256 Bytes, erase size 64 KiB, total 256 MiB Enabling QSPI at Linux DTB... Working FDT set to 7ead6000 libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND QSPI clock frequency updated RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU Starting kernel ... Deasserting all peripheral resets [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.12.43-altera-gd16fc609d5a7 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 14.3.0, GNU ld (GNU Binutils) 2.44.0.20250715) #1 SMP PREEMPT Tue Nov 25 16:06 :07 UTC 2025 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: SoCFPGA Agilex7-M SoCDK [ 0.000000] efi: UEFI not found. [ 0.000000] earlycon: uart0 at MMIO32 0x00000000ffc02000 (options '115200n8') [ 0.000000] printk: legacy bootconsole [uart0] enabled [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000000000000, size 32 MiB [ 0.000000] OF: reserved mem: initialized node svcbuffer@0, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x0000000000000000..0x0000000001ffffff (32768 KiB) nomap non-reusable svcbuffer@0 [ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000017fffffff] [ 0.000000] NODE_DATA(0) allocated [mem 0x17f7fbe80-0x17f7fe4bf] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x000000017fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000001ffffff] [ 0.000000] node 0: [mem 0x0000000002000000-0x000000007fffffff] [ 0.000000] node 0: [mem 0x0000000100000000-0x000000017fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000017fffffff] [ 0.000000] cma: Reserved 32 MiB at 0x000000007ca00000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.5 [ 0.000000] percpu: Embedded 25 pages/cpu s61784 r8192 d32424 u102400 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: earlycon panic=-1 root=/dev/mmcblk0p2 rw rootwait [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1048576 [ 0.000000] Policy zone: Normal [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x0000000078a00000-0x000000007ca00000] (64MB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. [ 0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] timer_probe: no matching timers found [ 0.000000] Kernel panic - not syncing: Unable to initialise architected timer. [ 0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.43-altera-gd16fc609d5a7 #1 [ 0.000000] Hardware name: SoCFPGA Agilex7-M SoCDK (DT) [ 0.000000] Call trace: [ 0.000000] dump_backtrace.part.0+0xd4/0xe0 [ 0.000000] show_stack+0x18/0x30 [ 0.000000] dump_stack_lvl+0x60/0x80 [ 0.000000] dump_stack+0x18/0x24 [ 0.000000] panic+0x168/0x360 [ 0.000000] time_init+0x30/0x50 [ 0.000000] start_kernel+0x544/0x6d0 [ 0.000000] __primary_switched+0x80/0x8889Views0likes2CommentsNeed Step-by-Step Guide: Configuring Arria 10 HPS for UART0 Access (Tools & Workflow)
Hello Altera Community, I am starting a new project using the Intel/Altera Arria 10 SoC FPGA. My immediate goal is to successfully configure the Hard Processor System (HPS) side of the chip and enable HPS UART0 access so I can view the boot messages and interact via a serial console terminal. Since I am new to the Arria 10 HPS ecosystem, could someone provide a detailed, step-by-step workflow of the procedure? Specifically, I would appreciate guidance on: 1. Required Tools: Which exact software versions (Quartus Prime Pro, SoC EDS, Arm DS, etc.) are recommended for a stable Arria 10 HPS development pipeline? 2. Platform Designer (Qsys) Setup: What are the specific steps to route and configure UART0 pins, clocks, and DDR parameters inside Platform Designer? 3. Bootloader Generation: How do I correctly handle the hardware handoff files to generate the U-Boot/SPL bootloader using the SoC EDS utilities? 4. Target OS: I intend to use Bare-Metal . What are the final steps to write these images to a boot medium (like an SD card / QSPI flash) to verify that UART0 is transmitting successfully? If there are any updated Golden System Reference Designs (GSRD), specific user guides, or community tutorials that outline this exact UART0 baseline setup, please share the links. Thank you in advance for your time and guidance! Best regards, Team D&D ESSEN168Views0likes4Comments