The free software you may have downloaded from this site embodies an error of principle (details another time). It compiles with VC++ and IAR (ARM), and the code is correct and runs properly. However, I tried g++ today and it was less forgiving. Unfortunately, it’s right and I’m wrong, even though I got away with it up to now. I’m working on a fix and will post again when I have finished it.
The C++ dynamic memory software I published last week has been updated with a small but useful enhancement.
Find out more by downloading it: start by going to the Subscribers’ page.
For the last couple of months, my software efforts have been diluted by the need to attend to other matters no less important but somewhat distracting. Now I have finally released some software. It is not the whole of SKC++, though. I learned so many things, at a detailed level (mainly about C++), in developing SKC++ that I realised that I had built “one to throw away”, as the saying goes. The refactoring is well underway and I have decided initially to release some of the essential elements of SKC++ in stages, as library modules which can be used more generally Read more…
You can now register automatically as a Subscriber to this blog. Just go to the “Subscribers” page and follow the instructions there.
The previous posting tells you why you might want to subscribe.
It is now possible to subscribe to this blog. Subscribers (only) will be able to download various pieces of software which I will begin soon to make available. Subscribers will also be able to see any private blog entries I might make, which will be invisible to casual visitors.
I experimented, yesterday, with automatic registration but my first subscriber came along indecently quickly and had “bot” at the end of part of his email address! I naturally assumed, therefore, that this was some Web crawler up to no good. If I was wrong, I offer my apologies to that person and invite him to re-apply.
To become a subscriber, please go to the “Subscribers” page and leave a message there. I will respond in person until I can get the automated process working more securely.
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, Read more…
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 to an ordinary user function, sometimes also called an ISR, confusingly. Some others let you code the ISR yourself but impose restrictions on how you do it.
SKC++ does not require you to alter the way you program ISRs; Read more…
Just a short article today as SKC++’s mutual exclusion facilities follow a familiar pattern Read more…
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 the key things about an SKC++ task is that it should be able to wait at a single point in its processing in order to get something to process and that it should deal with only one event or message at a time. Accordingly, the wait function has been enhanced to deal with message reception, as well as with raw events. Read more…
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: Read more…