This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

"Lighting Bolt" - an open source scheduler for a STR9 is about to be released

Hello all,

I have been working on this personal project for quite some time now. "Lighting Bolt", an open source STR9 preemptive scheduler, will be released within two weeks. A separate announcement shall be made as to the exact release date along with a link to the "SourceForge" page dedicated to the project.

"Lighting Bolt" is based on my previous endeavour for the C167 controller (available at sourceforge.net/.../) but I feel that it is a much better, mature computer program. I have tried very hard to deliver a piece of quality software.
The following modifications have taken place to produce "Lighting Bolt":

* A very fast context switch, measured in [microseconds] at 48[MHz], compared to the 100[milliseconds] average of EOS at 40[MHz].
* A rewritten synchronization module. Semaphores are now truly task-safe and contain the correct logic. A new synchronization primitive (event) introduced.
All synchronization elements are linked statically, and there is no need to allocate/release them, or for this matter neither any other system resource, like timers. User does not need direct access to basic system data types to use the kernel. This enhances robustness.
* The system's priority queue has been completely rewritten. It is now logarithmically correct.
* The program has been generally retrofitted to run efficiently on an ARM core.
* Strict screening by PC-lint.
* Open source installer (NSIS) used to create a self extractor for the delivery of the source code.
* Documentation.

Parents
  • Per,
    A port should be a piece of cake. The entire program is built using the RealView compiler, most of it in C while the number ARM9 specific items is very limited - the startup file, the number of VIC entries, some assembly that refers to a few ST library files in the context switch code that may be a little different for the ARM7 platforms, but that is it about it. I don't know the ARM7 very well, but even the context switch assembly should work on it as is. We'll see.

Reply
  • Per,
    A port should be a piece of cake. The entire program is built using the RealView compiler, most of it in C while the number ARM9 specific items is very limited - the startup file, the number of VIC entries, some assembly that refers to a few ST library files in the context switch code that may be a little different for the ARM7 platforms, but that is it about it. I don't know the ARM7 very well, but even the context switch assembly should work on it as is. We'll see.

Children
  • Hello,

    I have decided to wait with the release until the very beginning of 2009 (I plan to release the software before the 5th of January). I need to finish the user manual and there are some pending software issues as well (and new features, too: per task stack level checking, synchronous messaging etc.).

    Tamir