Sections offered SPRING 2020:
#13337 (Lecture)
|
VEL MALBASA |
MW 3:35pm-4:25pm
|
IF 0002
|
CLASS NOTES: Prerequisites – CSCI-C 212, C 241 and C 291
H335 will explore how programs written in a high-level language are evaluated by a processor to control the physical world. This semester we will be using a laboratory based upon the STM32 (ARM Cortex-M4) processor and utilizing off-the-shelf modules – these and many other modules are readily available from online suppliers. We will use “C” to write programs to control these modules including an LCD display, a serial interface, a Wii Nunchuk, and an audio amplifier. In the process, we will touch topics covered in a number of subsequent CS classes including compilers, operating systems, computer architecture, and digital design. It is obvious that we will be skimming the surface of these topics; for example, we will examine what a compiler and its associated tools (assembler, linker) do in some detail, but not how they are implemented to perform their function. At the end of this course every student will be able to explain, in a technically accurate manner, the path from program to I/0 and will be proficient in using one representative set of tools to write programs to control a defined physical world. The progression of experiments introduces embedded system programming, programmed I/O, common protocols including asynchronous serial, SPI, and I2C; A/D based sensors, interrupts, and DMA.