Quantcast
Channel: Software Integrity Ltd » Projects
Browsing all 19 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Simplifying RTOS

Most of today’s RTOS offerings are too complicated. Here are some reasons why this is so: Insufficient thought , before designing, as to what is really essential and what is not, leading to redundancy...

View Article



Image may be NSFW.
Clik here to view.

Dynamic Memory Allocation

Today, I am working on the dynamic allocation scheme for SKC++. It’s very simple (as everything is supposed to be in SKC++), so it won’t be long before I post again, reporting on progress. In the...

View Article

Image may be NSFW.
Clik here to view.

SKC++: First Things Second!

I have been thinking about SKC++ for longer than I have been blogging about it and dynamic memory allocation should not have been my first topic. Before all else, I should have taken the trouble to...

View Article

Image may be NSFW.
Clik here to view.

SKC++ and Dynamic Memory

Today’s post is about the strategy of dynamic memory handling in SKC++. Last time, I recommended a short slide presentation for perusal. I will not repeat here what that says, except to quote the last...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Dynamic Memory Classes

Following on from previous postings, here is a UML diagram showing two classes concerned with dynamic memory handling: Bear in mind that everything shown in this blog is work in progress; things will...

View Article


Image may be NSFW.
Clik here to view.

SKC++: Prototype Task Class

Today’s post discusses the basic structure and characteristics of an SKC++ task. Here is a picture of the class, together with a skeletal but updated version of the Pooled class, from which Task...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Event Handling

Systems running a pre-emptive kernel are essentially event-driven. Primary events are things which happen outside the software system, in the real world. These are usually communicated to the software...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Tasks and Timers

Just possibly, you may have been wondering why Task::wait does not include a timeout parameter. The answer is that it does not need to because a timeout is itself an event, so this can be waited for...

View Article


Image may be NSFW.
Clik here to view.

SKC++: Pause for Thought

I’ve been looking over my SKC++ postings so far and have come to the conclusion that it’s time for a review. Also, before launching into the details of the kernel’s message-passing techniques, I need...

View Article


Image may be NSFW.
Clik here to view.

SKC++: Message-Passing Principles

Message-passing is used, in an RTOS-based system, to provide a safe way of transferring data from one context to another or, in other words, from task to task. What is safe, though, is not always...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Message-Passing Uses

Before jumping into the design of the message-passing classes, it is as well to consider how the facility might be used in applications. I start with a common, nicely encapsulated but rather restricted...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Message-Passing Classes

To avoid clutter, I haven’t shown the class methods. On this occasion, I’ll just describe the classes and their characteristics in the text. Message and aMessage The class aMessage, shown in green is...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Sending Messages

This is a relatively short article, as the sending of messages from one task to another is straightforward. I decided to defer its counterpart, “Receiving Messages”, until next time because there are...

View Article


Image may be NSFW.
Clik here to view.

SKC++: Change to “send” function

I have simplified the prototype for send in order to make its use a little easier and also to improve the efficiency of the implementation. Here is the new prototype: void send(MessagePtr&...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Receiving messages

Although I separated the ideas of posting an untrammelled event, using post, and sending a message (which also posts an event), using send, this is not such a good idea for receiving messages. One of...

View Article


Image may be NSFW.
Clik here to view.

SKC++: Mutual Exclusion

Just a short article today as SKC++’s mutual exclusion facilities follow a familiar pattern: It seemed like a good idea to provide another abstract interface as there can, in principle, be several...

View Article

Image may be NSFW.
Clik here to view.

SKC++: Interrupt handling

When it comes to interrupts, SKC++’s guiding principle is “minimum interference”. Some kernels require that interrupts be processed internally, the internal Interrupt Service Routine (ISR) calling out...

View Article


Image may be NSFW.
Clik here to view.

SKC++: No semaphores!

Hypothesis: SKC++ doesn’t need semaphores. If you disagree with this, please comment, with supporting arguments. In the meantime, I’ll present a few arguments of my own, supporting this hypothesis,...

View Article

Image may be NSFW.
Clik here to view.

Dynamic Memory Software Updated

After a bit of a lull, I have resumed work in earnest on what will become, I hope, a useful and fairly comprehensive C++ software library for embedded and real-time developers. To begin with, I am...

View Article
Browsing all 19 articles
Browse latest View live




Latest Images