1. Introduction
This article introduces the Boot method used to automatically launch application programs for the Nios® V processor (hereafter as Nios® V).
Boot methods supported include Boot Copier, Execute in Place, and SDM Boot, It is possible to boot from all Quad SPI (QSPI) Flash memory by using the Generic Serial Flash interface (GSFI).
This article introduces the Boot Option available for Nios® V and its various settings.
2. Types of Boot Methods
The following Boot methods are available to boot Nios® V.
- Boot Copier
- Downloading the program from the boot source (QSPI Flash, etc.) to RAM and executing it.
- Downloading the program from the boot source (QSPI Flash, etc.) to RAM and executing it.
-
Execute In Place (XIP)
- Execute the program without downloading it from the boot source.
- Execute the program without downloading it from the boot source.
- SDM Boot
- A method of downloading the program to RAM and executing it using the SDM firmware functions.
Table 1 shows the characteristics of each Boot option.
Table 1. Characteristics of each Boot option
| Boot method | Characteristics |
| Boot Copier |
|
| XIP |
|
|
2-1. About Boot Copier
Boot Copier is a method of executing the application code in On-Chip RAM or External RAM.
Nios® V recommends using GSFI, which saves the Application code in Flash ROM and Boots Nios® V in the following flow when Nios® V is un-reset.
- Release the reset of Nios® V
- Nios® V executes Boot Copier on Flash ROM which is set as Reset Vector.
- Boot Copier copies the Application code to RAM
- Nios® V executes the Application code in RAM.
Figure 1. System configuration when Boot Copier is used
2-2. About XIP
XIP is a Boot method that assigns the Application code to the Flash Controller and runs Nios® V on Flash ROM.
Note: Read/write data areas such as .rwdata, .heap, and .stack sections set in Linker srcipt must be placed in RAM even when used in the XIP configuration, because they involve Flash rewriting.
The Application code is saved in Boot Memory connected to GSFI, and Nios® V is executed in the following flow triggered by the reset release.
- Release the reset of Nios® V
- Nios® V executes the Application code on the Boot Memory set to Reset Vector.
Figure 2. System configuration diagram when XIP is used
2-3. About SDM Boot
SDM Boot is a method of booting Nios® V by storing the Application code in Boot Memory connected to SDM for devices equipped with SDM, such as Stratix® 10 FPGAs and Agilex™ FPGAs.
SDM stands for Secure Device Manager, a module designed to enhance security functions. For more details, please refer to the following.
Reference: Agilex™ FPGA "Security" section
SDM boot is performed in the following flow
- Nios® V is unreset
- Nios® V executes SDM bootloader from On-Chip Memory
- SDM bootloader copies the Application code stored in the Boot ROM connected to SDM to On-Chip RAM or External RAM
- Nios® V executes the Application code in On-Chip RAM or External RAM.
Figure 3. System configuration diagram when SDM Boot is used
3. Introduction of each Boot Option
Depending on the combination of Boot method and Boot Memory, there are four different ways to Boot Nios® V.
Please refer to the link in Table 2 for each type of Boot Option.
Table 2. Types of Boot Option
| Boot Option | Boot Memory |
Application (Boot Source) |
Application Execution Time Location |
Boot Copier |
User Guide Link |
|
QSPI Flash Memory |
QSPI Flash |
RAM |
GSFI bootloader | ||
|
QSPI Flash Memory |
QSPI Flash |
QSPI Flash Memory |
alt_load() function | ||
|
QSPI Flash Memory |
QSPI Flash Memory |
RAM |
SDM bootloader | User Guide | |
|
On-Chip Memory |
On chip RAM | On-chip RAM | Boot Copier not required | User Guide | |
|
TCM Boot |
Tightly Coupled |
Instruction TCM |
Instruction |
Boot Copier not required | User Guide |
|
On chip Flash |
User Flash Memory |
On chip RAM |
Boot Copier | - | |
|
On chip Flash |
User Flash Memory |
User Flash |
alt load() function | - |
Please refer to the following reference document for a summary of various settings.
Reference: Nios® V Embedded Processor Design Handbook 4.3. Nios® V Processor Booting Methods
Conclusion
This article introduced the Boot Option available for Nios® V and its various settings.
We hope this article will help you to understand the features of various Boot Options, and to consider the method that best suits your specifications.
For more information on Nios® V processors, please refer to the manufacturer's page below.