The Microprocessor: A Practical Introduction using the Arm Cortex-M0 Processor - Vasavada (IEEE, 2003)