Print

COURSE INFORMATION
Course CodeCourse TitleL+P HourSemesterECTS
MCTE 523EMBEDDED SYSTEM PROGRAMMING3 + 02nd Semester7,5

COURSE DESCRIPTION
Course Level Master's Degree
Course Type Elective
Course Objective The aim of this course is to provide students with the knowledge and skills required to perform register-level programming on ARM Cortex-M-based microcontrollers, develop peripheral device drivers independently of hardware abstraction layers, and design reliable, modular, and reusable software architectures for embedded systems.
Course Content Development environment setup for embedded systems, microcontroller block diagrams and memory maps, Device-Specific Header File architecture, register-level programming, the volatile keyword, GPIO peripheral register structures, bit-level operations, RCC configuration, GPIO driver development, GPIO Application Programming Interface (API) design, interrupt-driven GPIO applications, driver development for SPI, USART, and I²C peripherals, and embedded system design projects.
Prerequisites No the prerequisite of lesson.
Corequisite No the corequisite of lesson.

COURSE LEARNING OUTCOMES
1Analyze the memory map, register organization, and hardware architecture of microcontrollers and perform register-level programming.
2Develop Device-Specific Header Files, define peripheral register structures, and implement low-level hardware access.
3Design, implement, and test GPIO device drivers and Application Programming Interfaces (APIs).
4Develop, validate, and integrate modular drivers for SPI, USART, and I²C communication peripherals into embedded system applications.
5Develop real-time embedded applications using interrupt mechanisms, perform debugging procedures, and evaluate system performance.
6Design modular, maintainable, and reusable embedded software architectures to develop professional engineering solutions.

COURSE'S CONTRIBUTION TO PROGRAM
PO 01PO 02PO 03PO 04PO 05PO 06PO 07PO 08PO 09PO 10PO 11PO 12
LO 001553311242331
LO 002554322252441
LO 003455422252451
LO 004455432352451
LO 005454533343541
LO 006345433553452
Sub Total25292623141317281424267
Contribution454422352441

ECTS ALLOCATED BASED ON STUDENT WORKLOAD BY THE COURSE DESCRIPTION
ActivitiesQuantityDuration (Hour)Total Work Load (Hour)
Course Duration (14 weeks/theoric+practical)14342
Mid-terms17575
Final examination17878
Total Work Load

ECTS Credit of the Course






195

7,5
COURSE DETAILS
 Select Year   


 Course TermNoInstructors
Details 2025-2026 Spring1ARMAĞAN BOZKURT


Print

Course Details
Course Code Course Title L+P Hour Course Code Language Of Instruction Course Semester Mode of Delivery
MCTE 523 EMBEDDED SYSTEM PROGRAMMING 3 + 0 1 Turkish 2025-2026 Spring Face to Face
Course Coordinator  E-Mail  Phone Number  Course Location Attendance
Asts. Prof. Dr. ARMAĞAN BOZKURT armbozkurt@pau.edu.tr TEK A0209 %
Goals The aim of this course is to provide students with the knowledge and skills required to perform register-level programming on ARM Cortex-M-based microcontrollers, develop peripheral device drivers independently of hardware abstraction layers, and design reliable, modular, and reusable software architectures for embedded systems.
Content Development environment setup for embedded systems, microcontroller block diagrams and memory maps, Device-Specific Header File architecture, register-level programming, the volatile keyword, GPIO peripheral register structures, bit-level operations, RCC configuration, GPIO driver development, GPIO Application Programming Interface (API) design, interrupt-driven GPIO applications, driver development for SPI, USART, and I²C peripherals, and embedded system design projects.
Topics
WeeksTopics
1 Course introduction and installation of necessary software.
2 The importance of microcontroller block diagram reading and memory map structure.
3 The concept of Device Specific Header files and their creation.
4 Introduction to coding with Device Specific Header files.
5 Examination of the volatile structure. Creation of the GPIO peripheral register structure.
6 Bitwise operators, Reset and Clock Control register structure definition. GPIO Clock enable macros.
7 GPIO Driver Development - Header and source files.
8 Algorithms and Coding of GPIO Driver API Structures.
9 GPIO Interrupt Applications.
10 GPIO Interrupt Applications.
11 SPI driver development and APIs.
12 USART driver development applications.
13 I2C driver development applications.
14 Project presentations.
Materials
Materials are not specified.
Resources
Course Assessment
Assesment MethodsPercentage (%)Assesment Methods Title
Final Exam50Final Exam
Midterm Exam50Midterm Exam
L+P: Lecture and Practice
PQ: Program Learning Outcomes
LO: Course Learning Outcomes