Nios® V Embedded Processor Design Handbook

ID 726952
Date 8/12/2022
Public

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

Document Table of Contents

5.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 48. 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 four 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).
  • Exception RAM (shared between SDM bootloader and Nios® V application).
  • Nios® V application RAM (used by user application only).
Table 14.  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

Store data sections of SDM bootloader except .exceptions using alt_load().

Exception RAM

(Internal or External RAM)

Random Access Memory (RAM) SDM Bootloader and Nios® V Application .exceptions

Set as the Nios® Vprocessor exception agent.

Store .exceptions that are copied by alt_load().

User Application RAM (Internal or External RAM) Random Access Memory (RAM) Nios® V Application .text, .rodata, .rwdata, .bss, .stack, .heap The Nios® V application is loaded into RAM from flash by the SDM Bootloader.