A fundamental skill that embedded software developers need to master is understanding how to write drivers. Within an embedded system, there a typically two types of drivers: microcontroller ...