Generic Nios II Booting Methods User Guide

ID 683820
Date 5/24/2016

1.6.1. Nios II SBT Makefile 'mem_init_generate' Target

The Nios II SBT application makefile “mem_init_generate” target is responsible for generating memory initialization files using various file conversion tools. The files generated include a HEX file for the UFM data, a HEX file for initialization of the on chip RAM in the SOF and a DAT file for initializing the on chip flash model for simulation.

When required, the Nios II SBT tool automatically adds the Nios II processor default boot copier to the system when the executable file (.elf) is converted to memory initialization file (.hex). This operation takes place whenever the .text section is located in a different memory that the reset vector points to, which indicates a code copy is required. The file conversion happens during execution of “make mem_init_generate” command. The "make mem_init_generate" command generates different HEX file content based on the specified boot options.

The mem_init_generate target also generates a Quartus Prime IP file (meminit.qip). Quartus Prime software refers to the .qip file for the location of the initialization file. This .qip file has to be added into Quartus Prime project if "Initialize flash content" is enabled in Altera On-chip Flash (UFM) or Altera On-chip Memory (OCRAM) IP.

This makefile target is an important element for Quartus Prime programming flow method.