2025

Embedded Systems Programming

Name: Embedded Systems Programming
Code: EME13032M
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese
Languages of tutoring support: Portuguese, English
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

Acquire the knowledge needed to develop real world connected embedded systems. The students should have detailed knowledge about: the ARM-Cortex processor family; interface between the microcontroller and sensors and actuators; hardware and software synchronization; system programming through C/C++; data acquisition and processing. Acquire the skills needed to develop embedded system projects of medium complexity using the design and verification tools and techniques.

Contents

1. Introduction to Embedded Systems
Microcontroller architecture. ARM Cortex-M processor. Design tools and techniques.

2. Embedded Systems Programming
Programming and debugging techniques. Device drivers. Threads and processes. Memory management.

3. Introduction to System Design
Embedded system power supplies. Integrated circuit board design.

4. Peripheral Interface Methods
Hardware/software synchronization. Input/Output port configuration. Stepper motor interface. UART. Interrupts.

5. Waveform Interfaces
Period, pulse width and frequency measurement. Generation of periodic interrupts, square waveform and PWM.

6. Analog Interfaces
Principles of analog to digital conversion. Signal conditioning. Filters.

Teaching Methods

The teaching is based on theoretical and theoretical-practical classes. In the theoretical classes, the main theoretical concepts associated with embedded system architecture are conveyed, including programming and debugging, communication interfaces, and resource management. The theoretical-practical classes aim to familiarize students with design tools. In these classes, projects will be developed based on ARM Cortex processors. The projects undertaken in these classes increase in complexity throughout the course, culminating in the autonomous development and implementation of a final project of medium complexity.

Office hours are available twice a week, in two-hour sessions, at the instructor's office. Email or Zoom can be used for addressing basic questions or for scheduling another consultation time convenient for each student.

Assessment

The evaluation elements are classified using the range [0,20].
The following are the evaluation components:

- [Ti] Coursework i - Minimum score of 8.5 (80%)
- (Each coursework has a weight (pi = {5, 5, 10, 10, 10, 10, 15, 30, 15, 20} )
- [Ex] Final Exam (80%)
- [P] Project (20%)

The student can choose one of two possible evaluation schemes, where the Final Grade [NF] is calculated as follows:

i) CONTINUOUS EVALUATION:
NF = {sum(Ti x pi) / 130} x 0.8 + P x 0.2
Approved if NF ? 9.5
Failed if NF < 9.5

ii) FINAL EVALUATION:
NF = Ex x 0.8 + P x 0.2
Approved if NF ? 9.5
Failed if NF < 9.5

Teaching Staff