issue 15 - Embedded systems newsletter

Embedded systems #15

Hardware

What shields are working with Galileo
Several weeks ago in the issue #3, I discovered the Intel Galileo development board . Even if I had already noticed that all Arduino shields were not compatible with the intel board it was not clear which shields were actually pluggable. This article lists the key criteria to check your shield compatibility to easily and clearly avoid any mistake.

pic18F2550 usb minimal smd board
Cristian Mardones designs a minimal PCB for the pic18F2550. It is made for the quick prototyping, and the error avoidance. With an USB interface builtin, all components SMT, the perfect size to fit a breadboard and a price starting at $2.50 it’s probably the quickiest way to jump in the pic18F2550

PIC16F/18F Experiment Board, 28 Pin DIL
An alternative development board for the pic16F/18F family. the article provides the schematics for free and you’ll have to make yourself the PCB. Another point, as the board compatibility is wide, there is no USB interface available. It depends on your needs, it depends on your means.

Software

Real-Time Systems: High level introduction
A very well written article on what it means to be real time for a system. The author concludes that the most of the time people does not understand what are really real time systems and so propose clearer terms to describe them: What about time-bound or time-constrained systems? Even if you are an expert, you should go read this and add your comments.

The Magic of Strace
If you don’t know strace or you have never used it, you missed a great tool to debug your Linux processes. In this article the author describes how he debugs a closed-source server process but it is exactly the same for embedded systems, I have already done it myself. There is also a very interesting paragraph about performance problem solving. It’s fascinating how it is easy to find you process bottleneck with strace’s option -T.

Beware of strace
To counterbalance the previous article, here is a mitigated feedback on using strace. The author concludes that strace is a great tool to debug your processes but asks an open question on the behavior differences between strace and dtrace/ktrace/truss.

The Descent to C
If you are a newcomer in the embedded systems and you have already coded in Java or Python, you have to read this article it builds a bridge between your background and your future love that is the embedded C.

UEFI boot: how does that actually work, then?
I attended my BIOS courses long time ago, and this week I found this article about the UEFI. It was a great refresher for me and will be perhaps a good one for your too.

Protothreads
Protothread is a thread library specifically designed for very small, very constrained embedded systems. It is stackeless, it can be use without operating systems and it is not so hard to begin to do something with it.

Misc

microcorruption
The best online reverse-engineer challenge. The web interface is a debugger and you have to find the vulnerabilities of a device that controls a lock. There are many levels and each one raises new harder difficulties in order to bypass the lock. If you love debuggers, love assembly and love challenges you should try to be listed in the Hall of Fame .