A guide to the basics of embedded system programming in C targeting McGill University's ECSE 426 Microprocessor Systems course