CENG336 INTRO.TO EMBEDDED SYSTEMS DEVELOPMENT
Course Code: | 5710336 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (2.00 - 2.00) |
ECTS Credit: | 5.5 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Undergraduate |
Course Coordinator: | Prof.Dr. ULUÇ SARANLI |
Offered Semester: | Spring Semesters. |
Course Objectives
CENG 336 is an intermediate course in the design and implementation of software for embedded systems, starting with assembly language and concluding with C. This course teaches the necessary concepts, tools and skills for students who plan on pursuing a career in designing and implementing embedded computing systems. These tools and skills include the design and implementation of low level software components in assembly languages, building small scale embedded software systems in C and working with Real-Time Operating Systems for larger systems with more complex structures.
Course Content
Assembly language and controller architecture. Peripheral interfaces: A/D and D/A conversion, parallel and serial ports, interrupts and timers/counters. I/O bus architectures. Sensors and actuators. Design and analysis techniques. Real time operating systems.
Prerequisite: CENG 232.
Course Learning Outcomes
- Recognize, enumerate and classify different microprocessor architectures and platforms,
- Remember differences in software development tools and processes for personal computing platforms and embedded systems,
- Use a host-target model to develop software for embedded systems,
- Analyze and debug correctness and timing behavior of embedded software systems,
- Implement basic digital input/output tasks in embedded assembly language,
- Explain how interrupts and timers operate and how they can be used to perform input/output and timing operations within an embedded system,
- Implement real-time embedded software systems using interrupts and timers in a simple microcontroller using the C language,
- Enumerate Analog to Digital conversion methods and describe how they can be used to interface microcontrollers with sensors,
- Implement embedded software systems that interface with sensors through A/D conversion,
- Explain how Real-Time Operating Systems (RTOS) operate and differ from General Purpose Operating Systems (GPOS),
- Explain how schedulers, synchronization and communication tools offered by RTOS’s operate,
- Use an RTOS to design and implement a medium-scale embedded software system for a small microcontroller, using digital I/O, serial communications, A/D, timers and interrupts.
Program Outcomes Matrix
Contribution | |||||
# | Program Outcomes | No | Yes | ||
1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics | ✔ | |||
2 | An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors | ✔ | |||
3 | An ability to communicate effectively with a range of audiences | ✔ | |||
4 | An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts | ✔ | |||
5 | An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives | ✔ | |||
6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions | ✔ | |||
7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies | ✔ |