issue 72 - Embedded systems newsletter

Embedded systems #72

This week, I have been really pleased by the content of the article Analog Devices AD9361 - when microchips are more profitable than drugs . Don’t be fooled by the clickbait title. You should click on it and enjoy the great pictures of the chip.

Enjoy the issue #72!

Hardware

The NOR Machine
If you have time to time said to yourself: To clarify in my mind how interact the instructions, the registers the memory, etc… I would really want to create a CPU from scratch and run some simple code on it. You should definitely read the NOR machine article. It simplifies a lot the problem scope (one instuction set) without making it too simplistic and it describes all the steps until you run a CRC16 computation on your homemade machine.

How to add numbers
After the exotic exercice of creating a machine with only the NOR gate, How to add numbers describes the conventional way to do additions into CPUs. This is a clear and very well illustrated two parts article ( How to add numbers part 2 ) in which you will rediscover the Kogge–Stone adder and the Brent–Kung adder.

Software

USB Reverse Engineering: Down the rabbit hole
Glenn shares his own deep dive into the USB standard. Following this link you will get the most comprehensive and up to date list of ressources about USB. Thank you Glenn !

C STANDARD UNDEFINED BEHAVIOR VERSUS WITTGENSTEIN
This month Victor Yodaiken strongly reacts to the fact that the WG14 ( Working Group for the programming language C ) wants to continue to expand the scope of the UB (Undefined Behavior) in the C standard. Experts like Chris Lattner would prefer to see hard works to shrink the scope of UB. It is the only sane way to make C evolve, isn’t it?

Experiences with QuickCheck: Testing the Hard Stuff and Staying Sane
Property-base testing is a very interesting way of creating tests. Instead of writing tests, the tester writes the properties of the code that should stay true. From these properties QuickCheck generates the inputs and it analyses the output to verify that they are conform to the properties. Is sounds great and maybe a bit magic. John Huges (co-creator of QuickCheck) describes in this article how this approach has been used in the automotive industry. It should convince anybody that it’s a viable alternative to do testing.

Raspberry Pi GPIO Programming in C
A quick research on what are the alternatives available. Should you use a library or access directly to the registers, the article is covering both ways.

Misc

Operation Costs in CPU Clock Cycles
A 2016 infographic of the time needed by the most common CPU operations. Did you know that the light can travel 30kms during one thread context switch?

Hacking a cheap fitness tracker bracelet
When Raphael Baron means hacking he actually means demystifying every single aspect of the tracker and as well trying to make run anything possible on it. Nice article!