Syllabus
This course introduces the fundamental concepts regarding the development of the application layer of an embedded system. The software architectures of the two most common operating systems in the embedded system market (i.e., Windows CE and Linux) are described and compared against each other, taking the point of view of the system programmer. By the end of this course, the students will have acquired the capability of mastering a Linux development environment for exploiting system calls in designing complex applications (e.g., multi-threaded applications), for applying application-level debugging and for performing application-level profiling and optimization. Moreover, as embedded systems are often inserted in a networked context, two of the most common network protocols for embedded systems will be analyzed, namely, Bluetooth as an example of protocol for wireless networks, and CAN as an example of protocol for wired networks.
|