REAL TIME SYSTEMS AND APPLICATIONS

Alessia SAGGESE REAL TIME SYSTEMS AND APPLICATIONS

0622700097
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS
EQF7
COMPUTER ENGINEERING
2023/2024

OBBLIGATORIO
YEAR OF COURSE 2
YEAR OF DIDACTIC SYSTEM 2022
AUTUMN SEMESTER
CFUHOURSACTIVITY
324LESSONS
324EXERCISES
324LAB
Objectives
KNOWLEDGE AND UNDERSTANDING:
THE COURSE AIMS TO PROVIDE KNOWLEDGE FOR THE DESIGN AND IMPLEMENTATION OF FIRMWARE FOR ARM MICROCONTROLLERS BASED ON REAL-TIME OPERATING SYSTEMS. IN PARTICULAR, THE COURSE WILL PROVIDE THE THEORETICAL FOUNDATIONS NECESSARY TO UNDERSTAND THE MAIN ISSUES INHERENT TO THE SCHEDULING OF REAL-TIME TASKS.

APPLIED KNOWLEDGE AND UNDERSTANDING:
PRACTICAL EXAMPLES FOCUSED ON FREERTOS SYSTEMS WILL BE AIMED AT SHOWING HOW TO IMPLEMENT TASK-BASED FIRMWARE, SCHEDULING, MEMORY MANAGEMENT, COMMUNICATION AND CONCURRENCY BETWEEN TASKS AS WELL AS HOW TO STRUCTURE SIMPLE DRIVERS TO INTERFACE WITH PERIPHERALS BASED ON SERIAL INTERFACES. THE COURSE CONCLUDES WITH A PROJECT ACTIVITY THAT HAS THE OBJECTIVE OF DESIGNING, CREATING AND VALIDATING THE FIRMWARE FOR CONTROLLING A ROVER.
Prerequisites
FOR THE SUCCESSFUL ACHIEVEMENT OF THE OBJECTIVES OF THE COURSE, KNOWLEDGE OF THE C LANGUAGE, OF THE STM32CUBEIDE ENVIRONMENT FOR PROGRAMMING MICROCONTROLLERS PRODUCED BY STMICROELECTRONICS AND BASIC KNOWLEDGE OF OPERATING SYSTEMS IS REQUIRED.
Contents
TEACHING UNIT 1: REAL-TIME OPERATING SYSTEMS AND SCHEDULING
(LESSON/EXERCISE/WORKSHOP HOURS 14/4/0)
- 1 (2 HOURS LESSON): INTRODUCTION TO THE COURSE, RECALL TO THE CONCEPTS OF REAL-TIME SYSTEMS AND INTRODUCTION TO REAL-TIME OPERATING SYSTEMS
- 2 (2 HOURS LESSON): INTRODUCTION TO BASIC CONCEPTS: TIME CONSTRAINTS, PRECEDENCE CONSTRAINTS, RESOURCE CONSTRAINTS, THE CONCEPT OF SCHEDULING AND PERFORMANCE METRICS
- 3 (2 HOURS LESSON): SCHEDULING OF APERIODIC TASKS
- 4 (2 HOURS LESSON): SCHEDULING OF PERIODIC TASKS
- 5 (2 HOURS EXERCISE): EXERCISES ON THE SCHEDULING OF APERIODIC AND PERIODIC TASKS
- 6 (2 HOURS LESSON): SPORADIC SERVERS, FIXED-PRIORITY SERVERS, DYNAMIC-PRIORITY SERVERS
- 7 (2 HOURS LESSON): PROTOCOLS FOR ACCESSING RESOURCES
- 8 (2 HOURS LESSON): DESIGN ISSUES AT THE KERNEL LEVEL AND AT THE APPLICATION LEVEL
- 9 (2 HOURS EXERCISE): EXERCISES ON FIXED-PRIORITY SERVERS AND ACCESS TO RESOURCES
KNOWLEDGE AND UNDERSTANDING: KNOWLEDGE OF THE BASIC CONCEPTS OF REAL-TIME TASK SCHEDULING, UNDERSTANDING OF THE MAIN DESIGN ISSUES OF HARD REAL-TIME SYSTEMS
APPLIED KNOWLEDGE AND UNDERSTANDING: ABILITY TO DESIGN AND ANALYZE THE SCHEDULING OF REAL-TIME TASKS



DIDACTIC UNIT 2: RTOS PROGRAMMING BASICS
(LESSON/EXERCISE/LABORATORY HOURS 4/6/4)
- 1 (2 HOURS) LESSON: INTRODUCTION TO FREERTOS, CMSIS AND THE MAIN DEVELOPMENT ENVIRONMENTS
- 2 (2 HOURS TUTORIAL): CONFIGURATION OF THE DEVELOPMENT ENVIRONMENT AND DEBUGGING TOOLS
- 3 (2 HOURS PRACTICE): HELLO WORLD WITH FREERTOS (USING THE HAL WITH FREERTOS TO LIGHT UP LEDS)
- 4 (2 HOURS PRACTICE): HELLO WORLD WITH FREERTOS (USING MULTIPLE TASKS FOR FLASHING LEDS AT DIFFERENT FREQUENCIES VIA LOOP)
- 5 (2 HOURS LESSON): SYNCHRONIZATION AND COMMUNICATION BETWEEN TASKS (QUEUES AND SIGNALS)
- 6 (2 HOURS LABORATORY): EXERCISE ON SYNCHRONIZATION AND COMMUNICATION BETWEEN TASKS (COORDINATION BETWEEN TWO BUTTON READING TASKS AND LED SWITCHING ON IN LOOP)
- 7 (2 HOURS LABORATORY): EXERCISE ON SYNCHRONIZATION AND COMMUNICATION BETWEEN TASKS (EXERCISE AS ABOVE BUT WITH MORE LEDS)

KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE BASIC CONCEPTS OF THE FREERTOS OPERATING SYSTEM
APPLIED KNOWLEDGE AND UNDERSTANDING: DESIGN, BUILD AND TEST A FIRMWARE BASED ON FREERTOS.

TEACHING UNIT 3: I/O WITH FREERTOS
(LESSON/EXERCISE/WORKSHOP HOURS 02/0/22)
- 1 (2 HOURS LESSON): BASIC STRUCTURE OF A DRIVER ON FREERTOS
- 2 (2 HOURS LAB): WRITING A UART DRIVER WITH POLLING
- 3 (2 HOURS LAB): WRITING A UART DRIVER WITH POLLING
- 4 (2 HOURS LAB): WRITING A UART DRIVER WITH INTERRUPTS
- 5 (2 HOURS LAB): WRITING A UART DRIVER WITH INTERRUPTS
- 6 (2 HOURS LAB): WRITING A UART DRIVER WITH DMA (BASIC)
- 7 (2 HOURS LAB): WRITING A UART DRIVER WITH DMA (BUFFERING)
- 8 (2 HOURS LAB): WRITING A UART DRIVER WITH DMA (BUFFERING)
- 9 (2 HOURS LAB): WRITING A UART DRIVER WITH DMA (STREAM BUFFER)
- 10 (2 HOURS LAB): WRITING A UART DRIVER WITH DMA (STREAM BUFFER)
- 11 (2 HOURS WORKSHOP): ADVANCED USE OF QUEUES TO IMPROVE THE DECOUPLING BETWEEN TASKS
- 12(2 HOURS WORKSHOP): ADVANCED USE OF QUEUES TO IMPROVE THE DECOUPLING BETWEEN TASKS

KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE MAIN WAYS OF CREATING A DRIVER FOR THE FREERTOS SYSTEM.
APPLIED KNOWLEDGE AND UNDERSTANDING: TO DESIGN, BUILD, AND TEST A UART-BASED DEVICE DRIVER FOR THE FREERTOS SYSTEM.

DIDACTIC UNIT 4: PROJECT WORK (16 HOURS)
PROJECT WORK HYPOTHESIS: DESIGN, IMPLEMENTATION AND VALIDATION OF THE REAL-TIME FIRMWARE STRUCTURE WITHIN WHICH THE ROVER TASKS WILL BE INTEGRATED.

KNOWLEDGE AND UNDERSTANDING: UNDERSTAND THE MAIN ISSUES IN THE DESIGN, IMPLEMENTATION AND VALIDATION OF A GENERIC FIRMWARE FOR ROVER CONTROL.
APPLIED KNOWLEDGE AND UNDERSTANDING: DESIGN AND IMPLEMENT THE STRUCTURE OF A REAL-TIME FIRMWARE FOR ROVER CONTROL.
Teaching Methods
THE COURSE IS DIVIDED INTO A SET OF THEORETICAL LESSONS AND EXERCISES, WITH A PART OF THE COURSE DEDICATED TO THE APPLICATION PROJECT. IN THE EXERCISES SOME EXAMPLES WILL BE PRESENTED ABLE TO CONCRETELY EXPLAIN WHAT HAS BEEN ILLUSTRATED FROM THE THEORETICAL POINT OF VIEW.
Verification of learning
THE EVALUATION OF THE STUDENTS WILL BE DECLINED THROUGH THE FOLLOWING PHASES:

- EVALUATION OF THE STUDENT'S ABILITY TO KNOW HOW TO DESIGN SIGNATURE FOR ARMS BASED ON REAL TIME SYSTEMS: THE STUDENTS WILL BE DIVIDED INTO WORKING GROUPS, AND WILL HAVE TO DOCUMENT AND DEVELOP, IN ALL ITS PHASES, THE DESIGN AND CREATION OF A SIGNATURE APPLICATION SYSTEM AND DEVICE DRIVERS FOR REAL TIME APPLICATIONS.
- ASSESSMENT OF THE STUDENT'S ACQUISITION OF THEORETICAL TOPICS: AFTER THE DELIVERY OF THE PROJECT, THE STUDENT WILL HAVE TO SHOW THAT THEY HAVE ACQUIRED SKILLS ON THE THEORETICAL TOPICS THROUGH AN ORAL EXAMINATION IN WHICH THE DEVELOPED PROJECT WILL BE DISCUSSED.
Texts
HANDS-ON RTOS WITH MICROCONTROLLERS BOOK AND SOURCE CODE OF THE EXERCISES INCLUDED IN THE BOOK

BOOK HARD REAL-TIME COMPUTING SYSTEMS - PREDICTABLE SCHEDULING ALGORITHMS AND APPLICATIONS (BUTTAZZO)

COURSE SLIDES AND EXERCISES
More Information
THE COURSE IS HELD IN ITALIAN
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2024-11-05]