Forum Discussion

bbT's avatar
bbT
Icon for New Contributor rankNew Contributor
2 hours ago

NiosV Development

Hi, We're starting a new embedded project using the Nios V processor on an Altera FPGA. Where should I begin as a developer, and what key resources or guidance does Altera provide to get up and running with Nios V?

Thanks

2 Replies

  • Great question — here's a practical rundown of where to start and what resources to lean on.  

    Start with a Development Kit

     

    An easy way to start designing effectively is to purchase an Altera FPGA development kit that includes documentation, a ready-made evaluation board, a getting-started reference design, and all the development tools necessary to write Nios® V processor programs.

      

    Key Documentation

     

    The two primary references you'll live in are:

     
       
    • The Nios® V Processor Software Developer Handbook, which describes the basic information needed to develop embedded software for the Nios® V processor — covering the software development environment, the Nios® V Processor Tools available, and the process for developing software.
    •  
    • The Nios® V Embedded Processor Design Handbook, which covers hardware system design, debugging, simulation, and optimization using Altera-provided tools.
    •  
      

    Development Tools

     

    Altera uses the following applications to build Nios® V processor software programs: 

       
    • Nios V processor command line tools
    •  
    • BSP Editor in Platform Designer (part of Quartus Prime software)
    •  
    • Ashling® RiscFree® IDE for Altera FPGAs
    •  

      

    Both Quartus Prime Standard Edition and Quartus Prime Pro Edition support the Nios V/c, Nios V/m, and Nios V/g processor cores.

      

    Software Development Flow

     

    The software generation process follows these stages:

     
       
    1. Hardware configuration — obtain the hardware design (.qsys file) on which the Nios V processor software runs. You can get this from a Nios® V processor design example or your own Platform Designer design.
    2.  
    3. BSP configuration — decide what features the BSP requires (e.g., RTOS, specialized software support, small memory footprint), define the BSP components and settings, then generate the settings.bsp file and create a BSP CMakeLists.txt using the niosv-bsp utility.
    4.  
    5. Application project configuration — develop the application code based on the hardware design (example code is available in Nios V Design Example Scripts), then create an application CMakeLists.txt using the niosv-app utility.
    6.  
      

    CMakeLists.txt is Central

     

    CMakeLists.txt acts as the central component of a Nios V processor software project, whether created with the RiscFree IDE for Altera FPGAs or with the Nios V Command Shell. It describes all the components of a software project and how they are compiled and linked. With a CMakeLists.txt and a complete set of C/C++ source files, your Nios V processor software project is fully defined.

      

    Getting Started Tips

     

    Altera recommends beginning with a known hardware design from the Nios V Design Example Scripts, which includes a set of known working designs that are excellent starting points. Similarly, begin with a known software example design — the Nios V Design Example Scripts includes preconfigured application projects you can use as a starting point and parameterize to suit your application goals.

      

    Make incremental, testable changes to compartmentalize your software development process, and use a version control system to maintain distinct versions of your source files as you develop.

      

    Important Note on Nios II Compatibility

     

    Generated Nios® II processor software files are not compatible with the Nios® V processor — so if you're migrating from Nios II, plan to regenerate your BSP and application projects from scratch.

      

    The Nios® V Processor Developer Center is your best single landing page — it links to the Software Developer Handbook, Reference Manual, Embedded Processor Design Handbook, and the AN 985 tutorial (a Hello World walkthrough) all in one place. That tutorial is a great first hands-on exercise to validate your toolchain setup end-to-end.

    Sources: Agilex 3 · HPS/Embedded, Agilex 3 · HPS/Embedded, Agilex 3 · Quartus/Tools, Agilex 3 · HPS/Embedded, Agilex 3 · HPS/Embedded, Generating the Application Project File, CMakeLists.txt, Agilex 3 · Quartus/Tools

  • Scott_Altera's avatar
    Scott_Altera
    Icon for New Contributor rankNew Contributor

    Hi bbT​. You don't mention which board you are using but the best place to start is the Nios V Developer Center where you will find links to a lot of different documentation and design examples for different boards.