Embedded Systems by Thomas Cronin, Daniel Pack & Steven Barrett