1
Introduction to Embedded Systems Programming
(learn.adacore.com)
Ada programming language. For memory safe multi task programming, elegant embedded bit fiddling and everything else in a readable way