Functional Safety Resources
A few cross-references that might be useful to people learning or developing safety-related systems (it probably goes without saying but I don’t warrant the accuracy of everything referred to here or necessarily agree, but nevertheless these add an interesting perspective)
Electronics/Vehicles in general
My favourite blog https://hackaday.com/
Not all articles are electronics but mostly EE related. Some fascinating topics and I highly recommend their podcast which is a roundup of the best articles of the week.
e.g. AVAS legislation: https://hackaday.com/2019/06/20/electric-cars-sound-off-starting-july-1st/#more-363483
Static analysis: https://hackaday.com/2018/12/12/warnings-on-steroids-static-code-analysis-tools/
The Therac-25: https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/
Wear out of non-volatile memory: https://hackaday.com/2019/10/17/worn-out-emmc-chips-are-crippling-older-teslas/
Malcolm Galdwell’s Revisionist History Podcast analysing the Toyota undemanded acceleration reports: http://revisionisthistory.com/episodes/08-blame-game
Interesting article about hacking electric power steering sensors (dated but interesting): https://www.thetruthaboutcars.com/2010/02/whos-afraid-of-electric-power-steering/
General reading on electronics (analog and digital)
The Art of Electronics (Horowitz & Hill): https://www.amazon.com/dp/0521809266/ref=cm_sw_em_r_mt_dp_U_9m3nDb63G3B0F
How to read/interpret electronic schematics: https://bit.ly/2Y8BwXy
Not so much how to read a schematic as what the different symbols are – nevertheless useful
Interesting news article: https://www.bbc.com/news/business-44159581
Microprocessors / Microcontrollers
How the Apollo Guidance Computer works https://youtu.be/xx7Lfh5SKUQ
This rather fast-paced talk has lots of insight on the inner workings of a microprocessor including microcode, registers, memory access, and machine code. Surprisingly much of this is still relevant today (although not the one’s compliment arithmetic).
Ben Eater’s series on building an 8-bit computer https://eater.net/8bit
Actually this is building a microprocessor from scratch using 74LS series logic IC’s. This is a fascinating insight into again the inner workings of a microprocessor, but in this case actually building one step by step using logic gates and latches.
(I also recommend some of Ben’s other videos on how to make gates from transistors, how latches work etc.)
Programming the 6502 https://archive.org/details/Programming_the_6502_OCR
Classic book on assembly language programming, and how the internals of a microprocessor work – including the fetch-execute cycle, two’s compliment arithmetic and much more.
Adafruit Learning System https://learn.adafruit.com/
Various educational projects related to embedded development, both ‘bare metal’ C programming (often Arduino / ESP8266 or derivative based), or Linux programming in higher level languages (often Raspberry Pi or other single board computer based).
The ADA programming language
Software Engineering Principles
Software development process overview https://en.wikipedia.org/wiki/Software_development_process
Agile software development https://en.wikipedia.org/wiki/Agile_software_development#The_Agile_Manifesto
Fagan Inspection (remember inspection as a more formal peer review) https://en.wikipedia.org/wiki/Fagan_inspection
Benefits of inspections in early identification and resolution of defects
Static analysis https://en.wikipedia.org/wiki/Static_program_analysis