This course applies microprocessors as an integral element of system design. Techniques required for successful incorporation of microprocessor technology are studied and used. Hardware and software design considerations that affect product reliability, performance, and flexibility are covered. Students use hardware to gain familiarity with machine and assembly language for software generation, interfacing to a microprocessor at the hardware level, and emulation to check out system performance. Topics include security in embedded systems, case studies in system failures, embedded processors in the space environment, communications protocols, hardware/software system tradeoffs, and SoC/FPGA designs. The course is based on the ARM architecture, and the student will do a series of development and interfacing labs.
Some experience in designing and building digital electronic systems, some familiarity with C programming, and a course in digital systems.