Nios® V Embedded Processor Design Handbook

ID 726952
Date 12/04/2023
Public
Document Table of Contents

5.2. Software Architecture

The onion diagram shows the architectural layers of a Nios® V processor µC/OS-II software application.

Figure 90. Layered Software Model
Each layer encapsulates the specific implementation details of that layer, abstracting the data for the next outer layer. The following list describes each layer:
  • Nios® V processor system hardware: The core of the onion diagram represents the Nios® V processor and hardware peripherals implemented in the Intel FPGA.
  • Software device drivers: The software device drivers layer contains the software functions that manipulate the Ethernet and hardware peripherals. These drivers know the physical details of the peripheral devices, abstracting those details from the outer layers.
  • HAL API: The Hardware Abstraction Layer (HAL) application programming interface (API) provides a standardized interface to the software device drivers, presenting a POSIX-like API to the outer layers.
  • MicroC/OS-II: The µC/OS-II RTOS layer provides multitasking and inter-task communication services to the µC/TCP-IP Stack and the Nios V processor.
  • MicroC/TCP-IP Stack software component: The µC/TCP-IP Stack software component layer provides networking services to the application layer and application-specific system initialization layer through the sockets API.
  • Application-specific system initialization: The application-specific system initialization layer includes the µC/OS-II and µC/TCP-IP Stack software component initialization functions invoked from main(), as well as creates all application tasks, and all the semaphores, queue, and event flag RTOS inter-task communication resources.
  • Application: The outermost application layer contains the Nios V µC/TCP-IP Stack application.