Real-Time Programming: A Guide to 32-bit Embedded Development