Specifications

Related Information
GNU Website
For more information about .d files.
Nios II Embedded Design Suite Support
Handing Off a BSP
In some engineering organizations, one group (such as systems engineering) creates a BSP and hands it
off to another group (such as applications software) to use while developing an application. In this
situation, Altera recommends that you as the BSP developer generate the files for a BSP without building
it (that is, do not run make) and then bundle the entire BSP directory, including the settings file, with a
utility such as tar or zip. The software engineer who receives the BSP can simply run make to build the
BSP.
Linking and Locating
When auto-generating a HAL BSP, the SBT makes some reasonable assumptions about how you want to
use memory.
For more information, refer to Specifying the Default Memory Map.
However, in some cases these assumptions might not work for you. For example, you might implement a
custom boot configuration that requires a bootloader in a specific location; or you might want to specify
which memory device contains your interrupt service routines (ISRs).
This section describes several common scenarios in which the SBT allows you to control details of
memory usage.
Related Information
Specifying the Default Memory Map on page 4-37
Creating Memory Initialization Files
The mem_init.mk file includes targets designed to help you create memory initialization files
(.dat, .hex, .sym, and .flash). The mem_init.mk file is designed to be included in your application makefile.
Memory initialization files are used for HDL simulation, for Quartus II compilation of initializable FPGA
on-chip memories, and for flash programming. Initializable memories include M512 and M4K, but not
MRAM.
Although the application makefile provides the mem_init.mk targets, it does not build any of them by
default. The SBT creates the memory initialization files in the application directory (under a directory
named mem_init). The SBT optionally copies them to your Quartus II project directory and HDL
simulation directory.
Note:
The Nios II SBT does not generate a definition of QUARTUS_PROJECT_DIR in your application
makefile.
If you have an on-chip RAM, and require that a compiled software image be inserted in your SRAM
Object File (.sof) at Quartus II compilation, you must manually specify the value of
QUARTUS_PROJECT_DIR in your application makefile. You must define QUARTUS_PROJECT_DIR before the
mem_init.mk file is included in the application makefile, as in the following example:
QUARTUS_PROJECT_DIR = ../my_hw_design
MEM_INIT_FILE := $(BSP_ROOT_DIR)/mem_init.mk
include $(MEM_INIT_FILE)
4-10
Handing Off a BSP
NII5V2
2015.05.14
Altera Corporation
Nios II Software Build Tools
Send Feedback