Code Monkey home page Code Monkey logo

rtosbench's Introduction

RTOSBench

RTOSBench is a benchmark to quickly characterize the performances and cost of real time operating system services. By using an thin abstraction, it can be easily ported to any operating system.

Porting RTOSBench to an operating system

To port the benchmark to an operating system, you must provide two files.

  • config.h
  • $(os)_porting_layer.c

config.h

The config file defines the type mappings between the types used in the test scenarios and the types used in the tested operating system. This file is include by the "porting_layer.h" file, included in every test scenario.

Use the linux config file as a basis to know which types must be mapped.

$(os)_porting_layer.c

The porting layer file provides the OS specific implementation for the function used by the test scenarios. You must provide the implementation of all the functions declared in the file "porting_layer.h".

When compiling the benchmark, you must make sure to link the OS specific porting layer file with the test scenario.

Compiling

At the root of the project, you will find a Makefile that simplifies compiling the benchmark for different target. This is a quality of life addon to the benchmark, but any of the test scenarios could replace the "main" file in an RTOS compilation pipeline, as long as it is linked to the porting layer file during the build.

To build the linux example, type make $(TEST_SCENARIO) EXAMPLE=linux. The root makefile simply calls the make command at the root of the example/linux folder and injects some variable definitions. Since the compilation process varies quite a bit between RTOS, an OS specific makefile must be created. Check the branch dev for examples with FreeRTOS. This example is not included in the master branch, since the build process used requires additional setup for a toolchain.

rtosbench's People

Contributors

gchamp20 avatar hdbhm avatar

Stargazers

 avatar WSH avatar AA1HSHH avatar

Watchers

James Cloos avatar  avatar

Forkers

channgo2203

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.