GeMRTOS: Multiprocessor RTOS – Reference Design

Alternative 2: Executing all the steps to create the software application.

The gemrtos_build script offers a convenient way to start working with SOPC in FPGA devices and is even simpler than building uniprocessor systems based on Nios II or Nios V processors. The script also accepts command-line options to override default settings. However, for users who wish to control each step of the process, the entire building flow can be executed manually via a sequence of commands in the chosen processor’s Command Shell.

Note: In this approach, the commands to generate the Intel’s Platform Designer system and compile the Quartus Prime hardware project—performed using graphical interfaces in the previous Section (Designing the GeMRTOS multiprocessor hardware)—are included as command-line functions for completeness. These steps are also integrated into the gemrtos_build script to fully automate the design flow.

Step 1: Update the IP cores of the Intel’s Platform Designer project

It is recommended to update the IP cores used in the Intel’s Platform Designer project to the latest version. This can be done by running the following command:

  • for Nios II:
qsys-generate.exe <Platform_Designer_project_name>.qsys --upgrade-ip-cores
  • for Nios V:
%QSYS_ROOTDIR%/qsys-generate <Platform_Designer_project_name>.qsys --upgrade-ip-cores

Note: %QSYS_ROOTDIR% is an environment variable that specifies the directory where the Intel’s Platform Designer tools are installed.

This step is usually performed when opening a project in Intel’s Platform Designer, especially if the project was created using a previous version of the tool. If the components are already updated, no action is required.

The gemrtos_build script performs this command automatically based on the project name specified in the “Platform Designer project name” parameter of the GeMRTOS Multiprocessor component configuration panel. To override this value, use the -qsys option:

  • For Nios II
bash gemrtos_built.sh -qsys <Platform_Designer_project_name>
  • For Nios V