issue 17 - Embedded systems newsletter

Embedded systems #17

Hardware

Zero-wire serial auto-reset for Arduino
Four weeks ago Ralph shared with us a very clever hack to add a half-duplex UART to your AVR board through only one pin. This time, he extends its design by adding the new auto-reset feature of Arduino to his setup.

An engineer’s emergency kit business card
A business card that is a working circuit, composed of two resistors, a LED, a NPN MOSFET, and a capacitor, and each component can be snapped out to save your electronics engineer work day if you miss one one the components: Very cool and useful idea

Software

Implementing a recursive read-write spinlock
To ensure thread safety and/or synchronisation developers often use the wrong tools available. In this article the author creates its own implementation of spinlocks and it’s the best way to understand them and so to know when and where use them appropriately

UNIX ELF Binary Format Explained Step By Step
A 45 pages paper that goes in the implementation details of the ELF binary format

OSDev.org
Among the top 5 resources on operating systems, available for free on the internet. If you want to understand how operating systems work internally or if you want to develop you own operating system (yes, there are more than we think) this wiki has to be one of your resource center

ISAAC: a fast cryptographic random number generator
An implementation of a random number generator with interesting properties : random numbers on 32 bits, fast generation and uniformly distributed, unbiased, and unpredictable results. It seems to be an implementation interesting for embedded systems. What’s your point of view?

Working with overlapping buffers in C
What’s the problem of working with overlapping buffer and how to avoid them are the two points of this article

“Strong” stack protection for GCC
The canary added to function stacks to verify their integrity has finally been added to GCC in order to protect programs against stack overflow exploits. Often, old and well known technics are the best answers to common problems

x86 is Turing-complete with no registers
A new study on x86 archtecture “Turing-ness”. Always interesting to read

Misc

6 DIY Hacks for Measurement Tools
If you search useful hacks this list is exactly what you need. Each hack combine the two goals every hobbyist looks for : to have good time and to improve his tool belt.

VIM, Operating on search matches using gn
VIM’s users continuously try to improve their effectiveness. This video tutorial highlights the most effective way (that I know) to do search and search/replace. The command used, is only available since the last release of VIM 7.4