Multicore Real-Time Operating System RTEMS (21) – Active Scheduling

Technical experience sharing, welcome to follow and provide guidance. Based on our understanding of the scheduling scenarios in RTEMS, the first thing to note is active scheduling. Its implementation is _Scheduler_Schedule. From the context of the code, we can see that when the system sends a signal, if the thread’s context is set to non-preemptive, … Read more

Multicore Real-Time Operating System RTEMS (14) – BSP Initialization

Technical experience sharing, welcome to follow and provide guidance. Before performing the boot_card initialization, the BSP hook is set up in advance. This article analyzes the code of bsp_start_hook_1. A. AArch64 Start Set Vector Base This writes the vector table to the exception vector table VBAR_EL1, with the variable bsp_start_vector_table_begin defined as follows: bsp_start_vector_table_begin: .balign … Read more

Multi-Core Real-Time Operating System RTEMS (9) – GDB Debugging System

Technical experience sharing, welcome to follow and provide guidance The gdb tool can debug the RTEMS operating system. This article introduces how to use gdb for debugging. 1. Setting Safe-Path There are three methods to set the safe-path, as follows: 1.1 Specify Path We can set our desired path as the safe-path, as shown below: … Read more

Multicore Real-Time Operating System RTEMS (2) – Types of Schedulers

Multicore Real-Time Operating System RTEMS (2) - Types of Schedulers

Technical experience sharing, welcome to follow and provide guidance RTEMS supports various scheduling algorithms, with the default being a priority-based scheduler. To understand these scheduler algorithms, this article lists the types of schedulers supported by RTEMS for subsequent testing and research. 1. Simple Priority Scheduling The Simple Priority Scheduler is a simplified algorithm based on … Read more