VINCENZO CARLETTI | REAL TIME SYSTEMS AND APPLICATIONS
VINCENZO CARLETTI REAL TIME SYSTEMS AND APPLICATIONS
cod. 0622700097
REAL TIME SYSTEMS AND APPLICATIONS
0622700097 | |
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS | |
EQF7 | |
COMPUTER ENGINEERING | |
2024/2025 |
OBBLIGATORIO | |
YEAR OF COURSE 2 | |
YEAR OF DIDACTIC SYSTEM 2022 | |
AUTUMN SEMESTER |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
ING-INF/05 | 5 | 40 | LESSONS | |
ING-INF/05 | 2 | 16 | LAB | |
ING-INF/05 | 2 | 16 | EXERCISES |
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 A REAL-TIME FIRMWARE. |
Prerequisites | |
---|---|
IN ORDER TO SUCCESSFULLY ACHIEVE THE OBJECTIVES OF THE COURSE, KNOWLEDGE OF THE C LANGUAGE, DEVELOPMENT ENVIRONMENTS FOR PROGRAMMING MICROCONTROLLERS PRODUCED BY STMICROELECTRONICS, AND BASIC KNOWLEDGE OF OPERATING SYSTEMS ARE REQUIRED. |
Contents | |
---|---|
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 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. 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. 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 STRUCTURED INTO A SERIES OF THEORETICAL LESSONS, EXERCISES, WITH A PART OF THE COURSE DEDICATED TO THE APPLICATION PROJECT. DURING THE EXERCISES, SOME EXAMPLES WILL BE PRESENTED TO CONCRETELY APPLY WHAT HAS BEEN ILLUSTRATED FROM A THEORETICAL POINT OF VIEW. |
Verification of learning | |
---|---|
THE EVALUATION OF STUDENTS WILL BE CARRIED OUT THROUGH THE FOLLOWING PHASES: - EVALUATION OF THE STUDENT'S ABILITY TO DESIGN FIRMWARE FOR ARM-BASED REAL-TIME SYSTEMS: STUDENTS WILL BE DIVIDED INTO WORK GROUPS AND WILL BE REQUIRED TO DOCUMENT AND DEVELOP, IN ALL ITS PHASES, THE DESIGN AND IMPLEMENTATION OF A SYSTEM APPLICATION AND DRIVERS FOR DEVICES FOR REAL-TIME APPLICATIONS. - EVALUATION OF THE STUDENT'S ACQUISITION OF THEORETICAL TOPICS: FOLLOWING THE PROJECT SUBMISSION, THE STUDENT WILL NEED TO DEMONSTRATE THEIR UNDERSTANDING OF THE THEORETICAL TOPICS THROUGH AN ORAL EXAM IN WHICH THE DEVELOPED PROJECT WILL BE DISCUSSED. |
Texts | |
---|---|
MASTERING STM32 - CARMINE NOVIELLO 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-29]