Nios® II Software Developer Handbook

ID 683525
Date 8/28/2023
Public
Document Table of Contents

5.5.3.1. HAL BSP After Generating Files

The SBT places generated files in the top-level BSP directory, and copied files in the HAL and drivers directories.
Figure 16. HAL BSP After Generating Files
Table 20.  Generated BSP Files
File Name Function
settings.bsp Contains all BSP settings. This file is coded in XML.

On the command line, settings.bsp is created by the nios2-bsp-create-settings command, and optionally updated by the nios2-bsp-update-settings command. The nios2-bsp-query-settings command is available to parse information from the settings file for your scripts. The settings.bsp file is an input to nios2-bsp-generate-files.

The Nios® II SBT for Eclipse provides equivalent functionality.

summary.html Provides summary documentation of the BSP. You can view summary.html with a hypertext viewer or browser, such as Internet Explorer or Firefox. If you change the settings.bsp file, the SBT updates the summary.html file the next time you regenerate the BSP.
Makefile Used to build the BSP. The targets you use most often are all and clean. The all target (the default) builds the libhal_bsp.a library file. The clean target removes all files created by a make of the all target.
public.mk A makefile fragment that provides public information about the BSP. The file is designed to be included in other makefiles that use the BSP, such as application makefiles. The BSP Makefile also includes public.mk.
mem_init.mk A makefile fragment that defines targets and rules to convert an application executable file to memory initialization files (.dat, .hex, and .flash) for HDL simulation, flash programming, and initializable FPGA memories. The mem_init.mk file is designed to be included by an application makefile. For usage, refer to any application makefile generated when you run the SBT.

For more information, refer to the “Creating Memory Initialization Files” chapter.

alt_sys_init.c Used to initialize device driver instances and software packages.
system.h Contains the C declarations describing the BSP memory map and other system information needed by software applications.
linker.h Contains information about the linker memory layout. system.h includes the linker.h file.
linker.x Contains a linker script for the GNU linker.
memory.gdb Contains memory region declarations for the GNU debugger.
obj Directory Contains the object code files for all source files in the BSP. The hierarchy of the BSP source files is preserved in the obj directory.
libhal_bsp.a Library Contains the HAL BSP library. All object files are combined in the library file.

The HAL BSP library file is always named libhal_bsp.a.

Note: For more information about the alt_sys_init.c and system.h files, refer to the Developing Programs Using the Hardware Abstraction Layer section.