Skip to content
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Home
  • Download Now!
  • GeMRTOS
    • License
    • Download
    • GeMRTOS Documentation
      • Documentation Browser
      • GeMRTOS Manuals
    • GeMRTOS repository
  • Log in
  • Contact us
Search
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Download Now!!!
  • GeMRTOS
    • License
    • Download now!
    • GeMRTOS documentation
    • GeMRTOS repository
  • Login
  • Contact us
  • FPGA Laboratory ACCESS
  • Cursos de FPGA (en español)
  • Challenges
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Home
  • Download Now!
  • GeMRTOS
    • License
    • Download
    • GeMRTOS Documentation
      • Documentation Browser
      • GeMRTOS Manuals
    • GeMRTOS repository
  • Log in
  • Contact us
Search
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Download Now!!!
  • GeMRTOS
    • License
    • Download now!
    • GeMRTOS documentation
    • GeMRTOS repository
  • Login
  • Contact us
  • FPGA Laboratory ACCESS
  • Cursos de FPGA (en español)
  • Challenges

GeMRTOS - Getting started

  • Introduction to GeMRTOS
  • Getting Started with GeMRTOS: Multiprocessor RTOS for Altera FPGA (Nios II & Nios V)
  • API references
  • Platform Designer Flow for GeMRTOS Nios V FPGA Development
  • GeMRTOS RTOS Task Periods: Infinite Loop vs Periodic Tasks
  • Install Quartus Prime and WSL for GeMRTOS Nios V on Windows

GeMRTOS - Features

  • GeMRTOS Mutex and Critical Sections in Multiprocessor RTOS
  • GeMRTOS Signals: Runtime Exception Handling for Nios V RTOS
  • GeMRTOS System Architecture – Multiprocessor Design with Altera Nios V Processors
  • Hybrid Partition Scheduling in GeMRTOS, Multiprocessor RTOS for Altera FPGA
  • GeMRTOS Scheduling Lists: EDF and Fixed Priority RTOS Guide
  • GeMRTOS Tasks: Types, Creation, and Scheduling for Nios V
  • GeMRTOS Trigger Resources: Event Handling Beyond Interrupts
  • GeMRTOS Controller: Complete FPGA RTOS Hardware Guide
  • Data Structures in GeMRTOS: Control Blocks and Linked Lists
  • GeMRTOS Semaphores: Binary and Counting API for Nios V RTOS

General

  • Error (16031): Current Internal Configuration mode does not support memory initialization or ROM. Select Internal Configuration mode with ERAM.
  • newlib Thread Safety in GeMRTOS Nios V Multiprocessor RTOS
  • Set Up Questa-Intel FPGA Edition License for GeMRTOS Nios V
  • Installing Nios II Software Built Tools (SBT) for Eclipse in Quartus Prime starting from version 19.1
  • Fix Quartus Prime 23.1 Fatal Error When Creating ALTPLL IP
  • Fix Missing SDRAM Controller IP in Quartus Prime for GeMRTOS
  • GeMRTOS Nios: Fix 256MB Compile Boundary with -relax-all
  • Questa Simulation Setup for GeMRTOS Nios V: Two Common Fixes
  • Quartus Warning 113015: mem_init.hex Width Mismatch BSP Fix
  • GeMRTOS Secondary Processors Not Booting: nios2-download Fix
  • Fix Quartus Prime System Console: jvm.dll and awt.dll Errors
  • Eclipse does not start after full Quartus Prime instalation
  • Home
  • GeMRTOS KnowledgeBase
  • GeMRTOS
  • GeMRTOS Signals: Runtime Exception Handling for Nios V RTOS

GeMRTOS Signals: Runtime Exception Handling for Nios V RTOS

In GeMRTOS on Altera FPGA platforms with Nios V processors, signals handle exceptional conditions that may arise during runtime. A signal allows a task to execute associated callback code when a specific condition occurs — such as when a task is created, a resource is granted, or a task is blocked. GeMRTOS uses the GS_SCB (Signal Control Block) data structure to store signal information and links it to the appropriate data structures at runtime. The signal code is executed prior to the code of the task with which the signal is associated. Multiple signal types are supported, and additional types can be defined to extend the system.

What Are GeMRTOS Signals? #

A signal in GeMRTOS is a mechanism that binds a callback function to a specific runtime condition on a task, resource, processor, or event control structure. When the defined condition occurs, GeMRTOS executes the signal’s callback function before resuming the associated task’s normal execution. This allows application code to respond to exceptional system events without polling or restructuring task logic.

The GS_SCB structure stores the signal type, its execution priority (which determines the order of execution when multiple signals are pending), a pointer to the associated control structure, a pointer to the callback function, and an optional argument to pass to that function.

GeMRTOS Signal Types #

The following signal type is defined in GeMRTOS. Additional types can be defined to handle other runtime conditions:

  • G_SCBType_TCB_ABORTED — fired when a task is aborted. A task abort occurs when a new release of a periodic task takes place before the previous invocation completes. The associated callback function is executed before the next instance of the task begins execution.

Signal API Reference #

Creating and Associating a Signal #

Create and associate a signal with a control structure using:

GS_SCB *gu_SignalCreate(enum scbtype type, G_UINT32 priority, void *pxcb, void *signal_code, void *signal_arg);

The gu_SignalCreate function creates a signal of the specified type and associates it with a control structure. The priority assigned to the signal determines the execution order when more than one signal callback is pending.

ParameterDescription
TypeThe signal type to associate, e.g. G_SCBType_TCB_ABORTED.
PriorityExecution priority of this signal. Determines order when multiple signal callbacks must execute.
pxcbPointer to the control structure to link the signal to. May be a resource, processor, task, or event control block.
Signal_CodePointer to the callback function that implements the signal handler.
Signal_ArgArgument passed to the signal callback function when it executes.

Returns: pointer to the newly created GS_SCB structure.

Key Takeaways #

  • GeMRTOS signals bind callback functions to specific runtime conditions on Nios V FPGA RTOS, executing before the associated task resumes — enabling clean exception handling without polling.
  • The GS_SCB structure stores all signal metadata: type, priority, associated control structure, callback pointer, and callback argument.
  • G_SCBType_TCB_ABORTED fires when a periodic task’s new release occurs before the previous invocation completes — the callback runs before the next task instance starts.
  • Signal priority controls execution order when multiple signals are pending on the same task; lower numerical values indicate higher priority consistent with GeMRTOS scheduling conventions.
  • Signals can be associated with any GeMRTOS control structure — tasks, resources, processors, or events — making them a flexible cross-cutting mechanism for runtime exception handling.
GeMRTOS, Nios 2, Nios V, RISC-V
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • What Are GeMRTOS Signals?
  • GeMRTOS Signal Types
  • Signal API Reference
    • Creating and Associating a Signal
  • Key Takeaways

Copyright © 2026 - contact us - Dorrego 287 - B8000FLE - Bahía Blanca - Argentina - +542914311867  GeMRTOS

Nios II, Nios V, Quartus Prime, ModelsSim are property of their respective companies.
GeMRTOS is property of R. Cayssials.
**All contact forms on this site are protected by reCAPTCHA. Google Privacy

GeMRTOS joins Intel Partner Alliance as Gold member.