AN 994: Drive-on-Chip Design Example for Intel Agilex® 7 Devices

ID 780361
Date 6/26/2023
Public
Document Table of Contents

4.3. Generating and Building the Nios V/g BSP for the Drive-on-Chip Design Example

Before rebuilding the BSP, ensure that the settings.bsp file correctly generates. To generate BSP, use command line and niosv-bsp command.

The Drive-on-Chip Design Example includes an initial version of settings.bsp that contains parameters necessary to run the design. If you modify the Platform Designer's hardware, ensure you keep the integrity of the BSP settings file.

  1. After changing the BSP settings files, generate the BSP with the commands:
    >> cd <project>/software/dniosv_subsystem
    >> niosv-bsp -q -E=./build/bsp/bsp_settings_export.tcl settings.bsp
    >> niosv-bsp -c --quartus-project=./../../quartus/top.qpf --qsys=./../../rtl/top_qsys.qsys --type=ucosii --bsp-dir=./build/bsp -x=./build/bsp/bsp_settings_export.tcl ./build/bsp/settings.bsp
    The code takes an existing template settings.bsp file and creates a new one based on it for the current project (updating locations of project) then builds the BSP.
  2. Run the following code to build the software:
    >> cmake ./app -S ./app -G "Unix Makefiles" -B ./build/bin -DCMAKE_C_FLAGS=-O3 -DCMAKE_BUILD_TYPE=Release
    >> make -C ./build/bin
    >> elf2hex ./build/bin/app.elf -o ./build/bin/mem_init/dniosv_subsystem_cpu_ram_cpu_ram.hex -r 4 -b 0x20000000 -w 32 -e 0x203FFFFF
    The app.elf file is in <project>/software/dniosv_subsystem/build/bin
  3. Compile the software to update the .sof file, so it contains the new binaries (hex) for memory initialization (refer to Compiling the Hardware in the Intel Quartus Prime Software)
    Figure 13. Directory StructureThe figure shows the BSP directory structure with µC/OS-II operating system.
  4. Program or configure the software application refer to Configuring the FPGA Hardware for the Drive-on-Chip Design Example for Intel Agilex 7 Devices or Programming the NiosV/g Software to the Device for the Drive- on-Chip Design Example for Intel® Agilex™ 7 Devices