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
  • Creating your first GeMRTOS application
  • API references
  • Platforn Designer flow
  • Tasks and periods in RTOSs
  • Installation of Quartus Prime with WSL ([1]) for GeMRTOS design flow.

GeMRTOS - Features

  • Synchronization, Critical Sections and Mutex in Multiprocessor RTOSs
  • Signals in GeMRTOS
  • GeMRTOS system architecture
  • Introduction to GeMRTOS: Hybrid partition scheduling.
  • Scheduling lists in GeMRTOS
  • Tasks in GeMRTOS
  • Trigger Resources in GeMRTOS
  • GeMRTOS Controller
  • Data structures and linked lists in GeMRTOS
  • Semaphores in GeMRTOS

General

  • Error (16031): Current Internal Configuration mode does not support memory initialization or ROM. Select Internal Configuration mode with ERAM.
  • GeMRTOS partners with Intel
  • newlib reentrancy and thread-safe in multiprocessors
  • Specifying the License for the Questa*-Intel® FPGA Edition Software
  • Installing Nios II Software Built Tools (SBT) for Eclipse in Quartus Prime starting from version 19.1
  • Why do I get a fatal error when creating an ALTPLL IP?
  • SDRAM IP in DE2-115 board
  • Compiling beyond 256MB
  • Questa issues
  • Warning (113015): Width of data items in <mem_init>.hex is greater than the memory width
  • Processors with an ID other than 1 do not launch once the software has been downloaded.
  • System console does not start after Quartus Prime instalation
  • Eclipse does not start after full Quartus Prime instalation
  • Home
  • GeMRTOS KnowledgeBase
  • GeMRTOS
  • Signals in GeMRTOS

Signals in GeMRTOS

Signals in GeMRTOS #

Signals in operating systems handle exceptional conditions that may happen during runtime. Signals allow tasks to execute associated code when a certain condition takes place. Some of these conditions may be defined, for instance, as when a task is created, a resource is granted or a task is blocked. In GeMRTOS, the GS_SCB data structure is defined to store the signal information and it is linked to data structures accordingly. The GS_SCB data structure points to the code to be executed when the condition of the signal occurs. This code is executed prior to the execution of the code of the task with which the signal is associated. In GeMRTOS, there exist different signal types.

Todo:
Define the rest of SCB types

Types of GeMRTOS scheduling lists #

The following are the type of signals in GeMRTOS, but more can be defined:

scbtype
Enumerator
G_SCBType_TCB_ABORTED

The G_SCBType_TCB_ABORTED signal type is defined to signaling when a task is aborted. A task aborting happens when a new release of a periodic task takes place before the previos invokation completes. The associated abortion function will be executed prior the execution of the next instance of the task.

Main signal related functions #

Creating and initializing a signal #

GS_SCB *gu_signal_create(enum scbtype Type, G_INT32 Priority, void *pxcb, void *Signal_Code, void *Signal_Arg);

The gu_signal_create function creates and associates a type signal to a task. The priority given to the signal created determines the execution order when there exist more than a signal code to be executed.

gu_signal_create

The signal is created with the following parameters:

NameDescription
TypeIt is the signal type to be associated with. It is the name of the signal type, for instance: G_SCBType_TCB_ABORTED.
PriorityIt is the priority given to the signal create and determines the execution order when more than one signal code has to be executed.
pxcbIt is the control structure to link the signal created. This control structure may be resources, processors, tasks, or events.
Signal_CodeIt is a pointer to the function that imlpements the signal code: i.e. the function name of the signal.
Signal_ArgIt is the argument to pass to the signal function when it is executed.
The gu_signal_create function returns a pointer to the GS_SCB structure created.
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
  • Signals in GeMRTOS
  • Types of GeMRTOS scheduling lists
  • Main signal related functions
    • Creating and initializing a signal

Copyright © 2025 - 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.