Nios® V Processor Software Developer Handbook

ID 743810
Date 7/08/2024
Public
Document Table of Contents

13.1. Overview of the FreeRTOS*

Note: In the Quartus® Prime software, only the Nios® V Processor IP, JTAG UART IP, and Interval Timer IP are supported with FreeRTOS* drivers. If Nios® V processor system contains other soft IP, manually create their FreeRTOS* drivers for use in the FreeRTOS* BSP by leveraging the HAL driver, or develop a new FreeRTOS* driver.
FreeRTOS* is a real-time kernel solely owned, developed, and maintained by Amazon Web Services. It is a kernel with a scalable size that includes a tick-less power saving mode for small embedded systems. FreeRTOS™ is implemented on more than 40 different processor architectures and more than 15 toolchains, including the Nios® V processor.
FreeRTOS provides the following services:
  • Pre-emptive operation
  • Task priority assignment
  • Task notification mechanism
  • Queues
  • Binary and counting semaphores
  • Mutexes
  • Recursive Mutexes
  • Software timers
  • Event groups
  • Tick hook and idle hook functions
  • Stack overflow checking
  • Trace recording
  • Task run-time statistics gathering
  • Full interrupt nesting model
  • Software managed interrupt stack
The Nios® V processor supports the FreeRTOS kernel. FreeRTOS is built on top of the Hardware Abstraction Layer (HAL) and board support package (BSP). FreeRTOS provides RTOS facilities that ease you to write programs to run on the Nios® V processor. Programs written on top of FreeRTOS has the following advantages:
  • Programs are portable to other Nios® V processor hardware systems of the same variant.
  • Programs are more resistant to changes in the underlying hardware.
  • Programs can access all HAL services by calling the UNIX-like HAL application program interface (API).
  • Interrupt Service Routines (ISR) are easy to implement.