issue 14 - Embedded systems newsletter

Embedded systems #14

Hardware

CMSIS-DAP ARM debugger that runs in a ~$1 part
A very low cost implementation of a CMSIS-DPA ARM debugger. The CMSIS-DAP debug interface has a lot of advantages: communication over SWD or JTAG, host connection via USB conforming to the HID driver class (no specific driver) and a standard and faster debug interface

Sniffing and decoding NRF24L01+ and Bluetooth LE packets for under $30
A very interesting article on how to sniff packets of the NRF24L01+.

Software

Ragel State Machine Compiler
Ragel is a compiler of finite state machine into high level languages like the C or the C++. The generated code has no dependencies and so can be easily integrated in wider projects

Xv6, a simple Unix-like teaching operating system
Created for MIT’s operating systems course, Xv6 is a pedagogic oriented operating systems open source with all the documentation needed to understand it

Lightweight Linux Kernel Development With KVM
Nelson Elhage shares with us its best techniques to do Linux kernel development.

Bonescript is a node.js library for physical computing on embedded Linux, starting with support for BeagleBone
If you want to access the hardware of your embedded Linux through a web interface, Kridner has developed a node.js library to do it. For the moment just for the BeagleBone

8086 tiny: the world’s smallest portable, highly functional PC emulator
8086 tiny is the un-obfuscated version of the winner of the 2013 IOCCC contest. According to the author it is the smallest complete 8086 CPU emulation.

libtins packet crafting and sniffing library
libtins is a high-level library to sniff and craft network packets. The library can read and write PCAP files (file format used by Wireshark) and supports a long list of protocols to provide the developer an easy interface for the most common tasks

Big-Oh For Algorithms
One of the clearest articles on what is the Big O notation and how to use it to evaluate your programs complexity. A must read

Courses & books

Operating Systems: Three Easy Pieces
A free online book on operating systems internals

Misc

How I Built a Raspberry Pi Tablet
A Rpi and a touch screen, plus a bit of work, equals a homemade tablet

Deadline scheduler merged for 3.14
it is now official, deadline scheduling will be available in the next major version of the Linux kernel