Nios® V Embedded Processor Design Handbook

ID 726952
Date 12/04/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.5.2.1. Nios V Processor Application Copied from Configuration QSPI Flash to RAM Using Boot Copier (SDM Bootloader)

You can use a boot copier to copy the Nios V application from configuration QSPI flash to RAM when multiple iterations of application software development and high system performance are required. Intel recommends applying the memory organization in Memory Organization for SDM Bootloader to use the SDM Bootloader. The following section covers the description of each memory and the steps required to create them.

The boot copier is memory-initialized in the Bootloader ROM. For this boot option, the Nios V processor starts executing the boot copier upon system reset, which copies the application from the configuration QSPI to the internal or external RAM. Once this completes, the Nios V processor transfers the program control over to the application.
Note: In SDM-based FPGA device, Nios V software booting from configuration QSPI Flash is not supported when the FPGA device is configured using Avalon-ST scheme.
Figure 50. Nios V Processor Application Copied from Configuration QSPI Flash to RAM Using Boot Copier (SDM Bootloader)

Memory Organization for SDM Bootloader

The Nios® V processor system should comprise of the following memory spaces to implement the SDM bootloader and Nios® V application. The memories are implemented as such:

  • Bootloader ROM and RAM (used by SDM bootloader only).
  • Nios® V processor application RAM (used by user application only).
Table 28.  Description of Memory Organization

Memory

Memory Type

Application Use

Linker Section

Notes

Bootloader ROM

(Internal ROM)

Read-Only Memory (ROM) SDM Bootloader .text

Set as the Nios® V processor reset agent.

Perform memory initialization with SDM bootloader (.hex) file.

Bootloader RAM

(Internal RAM)

Random Access Memory (RAM) SDM Bootloader .rodata,

.rwdata

, .bss, .stack, .heap,

.exceptions

Initialize SDM bootloader using alt_load().

User Application RAM (Internal or External RAM) Random Access Memory (RAM) Nios® V Application .text, .rodata, .rwdata, .bss, .stack, .heap,

.exceptions

The Nios® V processor application is loaded into RAM from flash by the SDM Bootloader.