Posts

Es werden Posts vom August, 2017 angezeigt.

Static Pattern-based Execution (SRE) in the Fault Tolerant Scheduler

Bild
In the FTS, using static patterns is a simple technique, which uses the concept of (m,k) requirements. We execute a pattern such as {1,1,0,1} . When there is a " 1 " in the pattern, the reliable version is executed, and when there is " 0 ", the unreliable version is executed. In this pattern, three out of four correct instances are executed, which complies to the (m,k) -requirement (3,4). This means that there will always be three correct executions in every four instances. There are two types of patterns available for the user, i.e. R-patterns and E-patterns [1] . An R-pattern contains all "0"s at the beginning and all " 1 "s at the end, such as in {0,0,0,1,1,1,1} . In E-patterns, the " 1 "s and " 0 "s are distributed evenly. The pattern's sufficient correctness proofs of complying to an (m,k) requirement can be read in [2] and [3]. The FTS executes this predefined pattern. The pattern is read by the FTS from left to

Compile and test your modified RTEMS system

Bild
This blog post is about how to add code to the classical RTEMS API and compile the whole system, e.g. to test the newly implemented code in a test application. The requirement for this approach to work is that you already built the RTEMS tools and kernel, for example by following the Quick Start guide in the RTEMS user manual. I am using the erc32 board support package. First we need to identify the RTEMS classical API's source code location. The folder location may differ depending on the configuration of the setup. Generally, the classical API implementation is located in the kernel folder, in  /rtems/cpukit/rtems/src . There, we find the implementation of several operating system services, e.g. for creating a new task in an RTEMS application, the function rtems_task_create(..) located in taskcreate.c needs to be called. In a similar way, semcreate.c allows the application developer to create and use semaphores for their resources.   If you want to extend the classical AP