Giter Site home page Giter Site logo

freertos-sim's Introduction

FreeRTOS-Sim

FreeRTOS simulator for POSIX (Linux, OS X and maybe other POSIX OS)

Based on the Linux simulator originally developed by William Davy, the goal of this work is to keep FreeRTOS POSIX simulator in a clean seperate package and up to date with the latest FreeRTOS releases.

Directory description

  • Source: FreeRTOS kernel and POSIX simulator source files
  • Project: the project directory that includes main() and FreeRTOS settings for the POSIX port
  • Demo: demo tasks from the official FreeRTOS release

Note

V10 is added to the master branch without extensive tests. Feel free to report or fix bugs.

freertos-sim's People

Contributors

jabjoe avatar megakilo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freertos-sim's Issues

vPortYield returns sometimes with another FreeRTOS thread active

When running under Mac OS X 10.11.4, vPortYield() sometimes (rarely) returns with another FreeRTOS thread active (pointed by pxCurrentTCB) than what was active when called. This causes then problems much later, e.g. sometimes the idle thread gets removed from pxReadyTasksLists[0], crashing FreeRTOS.

I don't yet know the root source for the problem nor how to fix it, but the following commit adds a minimal piece of code that prints out a message when this happens. With our code we get most of the time a crash (core dump) shortly afterwards.

pekkanikander@6082316

OSX - terminates with assertion, or else appears to hang after a few seconds

Commit 8d31107 with make "out of the box" on OSX 10.12.6 produces the following output and terminates after a few seconds:

$ ./FreeRTOS-Sim 
Running as PID: 4367
Timer Resolution for Run TimeStats is 100 ticks per second.
OK - 2500
[ASSERT] /Users/david/git/github/megakilo/FreeRTOS-Sim.git/Demo/TimerDemo.c:716

I ran it again and it produced the following output and then appeared to hang (no additional output for at least 60 seconds):

Running as PID: 4517
Timer Resolution for Run TimeStats is 100 ticks per second.
OK - 2500
OK - 5000

CTRL-C kills it.

This also happened the third time I ran it.

On the fourth attempt, I got this before it stalled:

Running as PID: 4670
Timer Resolution for Run TimeStats is 100 ticks per second.
OK - 2500
OK - 5000
OK - 7500
OK - 10000
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Make new projects using the simulator

Hi, I want to use your simulator for making FreeRTOS project tests before implementing the project on a microcontroller. To do it, I have been trying to run the examples for the standard edition of FreeRTOS (the ones used in the practical guide) using the simulator. I haven't been able to do it. I don't have much experience using this type of ports, so I could use your help.

Thank you.

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.