issue 6 - Embedded systems newsletter

Embedded systems #6

If you have any embedded systems link you would like to suggest for future issues then please tweet me with it or send it at embedsys@embedsysweekly.com .

Hardware

Building a self balancing bot
Explanation of how the author built a self balancing bot. Every thing is detailed, electronics (ATmega328), mechanics (chassis, wheels, motor) and the code (sensor sampling, PID)

PyroEDU
Very well detailed step by step electronics courses. The three most advanced courses will be available during 2014. Worth to be bookmarked.

The Z-80’s 16-bit increment/decrement circuit reverse engineered
Ken Shirriff reversing the increment/decrement circuit is very informative to read. By beginning from the well known half adder and extracting each optimisation of the Z-80 implementation he give us an interesting vision of what was a production implementation 30 years ago.

Reverse-engineering the HP-35
Taking macro photos of the ROM and extract HP-35’s algorithms from these photos. So cool!

Software

Basic data structures and algorithms in the Linux kernel
To the question “How to demonstrate the importance of algorithm theory?” a stackexchange user lists lot of algorithms used in the Linux kernel. What, why and where to find the algorithms in the Linux kernel are provided. Everything is just one click away

Understanding ARM assembly Part 1
An introduction on ARM architecture and how ARM is used by the last Microsoft Windows kernel.

Executable & Linkable Format 101 – a Linux executable walkthrough
Illustration that goes as deep as the bit level to explains what they mean in the ELF executable format.

Checkpoint/restore tool v1.0
Should not be interesting to be able to save the state of your process and restore it later and even on another host? This is what the CRIU permits to do. But we have to take into account that there is entities that can not be checkpointed.

A short tale about executable_stack in elf_read_implies_exec() in the Linux kernel
Alejandro Hernández replies to the question “Why is it possible to execute code in the data segment if it doesn’t have the PF_EXEC enabled?”. He tests it and then he goes in the kernel land to understand what happens in the Linux kernel.

Misc

The rise of Linux in Embedded Systems
There is lot of years that Linux entered the embedded systems world. This article links the rise of Linux in embedded systems to the rise of the Arduino. One thing that is sure, the Arduino puts Linux in thousands hobbyist’s hands.

The architectural evolution of DoD combat systems
Douglas C. Schmidt describes the usage of the Open Systems Architecture for the DoD combat systems. The goal is to build architectures faster, better and cheaper by reusing building blocks.