Nios® V Processor Software Developer Handbook

ID 743810
Date 4/07/2025
Public
Document Table of Contents

16.2.1.3. niosv-app

Synopsis

niosv-app [OPTIONS] --srcs=<value>

Description

Generate an application or library CMakeLists.txt. Either an application (-a) or library (-l) must be created. The BSP directory (-b) is required when creating an application. Libraries are independent of BSP; they do not link directly with a BSP.

The CMakeLists.txt provides details to cmake and make executables on building executables (.elf and .hex) for your application. The generated HEX file(s) is located in the same directory as the ELF file.

Usage

#Create an app project which links with a specified BSP
niosv-app -a=app_dir -b=bsp_dir -s=sources[OPTIONS]
#Create a library
niosv-app -l=lib_dir -s=sources -p=public_includes [OPTIONS] 

Example: niosv-app --bsp-dir=software/bsp --app-dir=software/app --srcs=software/app --elf-name=hello.elf

Options

Options Description
-a, --app-dir=<value>
  • Optional.
  • The application directory
-l, --lib-dir=<value>
  • Optional.
  • The library directory.
-b, --bsp-dir=<value>
  • Optional.
  • The Board Support Package (BSP) directory
-s, --srcs=<value>
  • Required.
  • Comma-separated list of sources files (.c, .h, etc.) or source directories.
  • Source directories includes child source files(not recursive).
-S, --srcs-recursive=<directory>
  • Same as --srcs option but recursively search for source files in or under <directory> .
  • Allows multiple --srcs-recursive options and you can freely mix the option with --srcs options.
-i, --incs=<value>
  • Optional.
  • Comma-separated list of include directories.
-I, --incs-recursive=<directory>
  • Same as --incs option but recursively search for source include files in or under <directory>.
  • Allows multiple --incs-recursive.
-p, --public-incs=<value>
  • Optional.
  • Comma-separated list of public include directories.
  • These public include directories are made available to dependent applications or libraries.
-e, --elf-name=<value>
  • Optional.
  • Choose a name for the .elf file that results from compiling the application.
-L, --link-lib=<value>
  • Optional.
  • Repeatable.
  • The specified library directory links with this application or library.
  • May be specified multiple times.
--jvm-max-heap-size=<value>
  • Optional.
  • The maximum memory size to be used for allocations when running this tool.
  • This value is specified as <size><unit> where unit can be m (or M) for multiples of megabytes or g (or G) for multiples of gigabytes.
  • The default value is 512m.
-h, --help
  • Optional.
  • Display help for this tool