Prof. William Fornaciari


|

Extra

EMBEDDED SYSTEMS 1

Politecnico di Milano

Description:

Objectives
The goal of the course is to provide competencies and design methodologies tailored to realize embedded applications including the management of the design flow and the selection of the toolchain. Such applications range from Cyber Physical Systems to industrial control; in general any consumer electronics product is an embedded systems. Their design requires the coordination of cross competencies to identify the optimal solution under a number of aspects including flexibility, standardization, cost, size, energy and power, performance, etc. The course will provide and enhance the competencies regarding: architectures for PCB and SoC based embedded systems which currently are many-core and integrate MEMS sensors; communication and interfacing standard popular in the embedded system market, energy aware design of software and hardware, including run-time management of the resources. Hands-on labs will be proposed to the students (participation in optional) to show how to use STM/ARM development boards to interface external sensors and peripherals.

To enhance the knowledge related to the development of software for embedded applications it is recommended to follow the course Advanced Operating Systems.

During the course some meetings with representatives from the industry will be scheduled to propose stages and master thesis.

Detailed Program

Introduction and background General characteristics of an embedded system Requirements and constraints for the different application fields Trends of the market and of the best design practices Development flow for Hw-Sw architectures Energy and power optimization

Hardware platforms for Embedded Systems Software executors: general purpose, dedicated processors, DSP, Network processors, Microcontrollers, Multi-Many cores and clusters. Communication architectures: standard buses, Network-on-Chip (NoC), field buses, wireless interfaces, examples. Hardware executors: characteristics of the application specific IC and related design flow, systems for fast prototyping, reconfigurable and updatable systems, examples of off-the-shelf (PCB-based) designs and wireless sensor networks.

Software architectures for Embedded Systems Abstraction layers: assembler, library, system software, middleware Software development environment and toolchains for the realization of the embedded software Introduction to the real-time operating systems: general features, scheduler, configuration, dynamic management of the resources, soft real time features, energy optimization and resource management. Analysis of the embedded software: formalisms and tools for analysis/profiling of the code, energy optimization Examples: RT extension of Linux, Android, operating systems for wireless sensor networks, frameworks for run-time management of resources, Linux Device Drivers model.

Analysis and optimization of Hw/Sw Systems Analysis of the project constraints and selection of the best implementing architecture with particular emphasis on realization time and cost. Problems related to the estimation of Power/Performance at the different abstraction levels Optimization of power and performance at the different abstraction levels Analysis and modeling of thermal problems with particular attention to the multi-core architectures with NoC-based communication Management and planning of embedded systems: models for the development flow, design for resuse and estimation of hw and sw development time and cost, project management.

Case studies Example of the analysis to be performed during a feasibility study. Example of real designs at different granularities, from the wireless sensor networks to embedded application exploiting multiprocessor cores, systems with MEMS, software for white goods and automotive, certification In each of the use case it will but in evidence the set of trade-offs to be considered

Laboratory Hands-on labs will be proposed to the students (participation is optional) to show how to use STM/ARM development boards to interface external sensors and peripherals.

Information for projects and exams:

examples of -open- questions: describe the main steps to produce a PCB-based system; compare the use of FPGA and ASICs in terms of costs, reference markets, development time and power; describe the main requirements for process schedulers tailored for real-time applications; explain the techniques operating at system-level to deal with low energy requirements

Details for assigned project
(c/o the office of:
Davide Zoni - zoni@elet.polimi.it
Giuseppe Massari - giuseppe.massari@polimi.it
Simone Libutti - simone.libutti@gmail.com:
Federico Terraneo - terraneo@elet.polimi.it:
DEIB - Building 21 Floor: 1
tel. +39 02 2399 9613)

Books:

Reference book for italian students

  • [WF] Carlo Brandolese, William Fornaciari, Sistemi Embedded - Sviluppo hardware e software per sistemi dedicati, Pearson Education Italia, settembre 2007 (Italiano)

Suggested books in English

  • F.Vahid, T.Givaris, “Embedded System Design - A unified Hardware/Software Introduction”, Wiley, 2002.
  • Marylin Wolf, “computer as components”, Morgan Kaufman, Planned 2/e
  • P. Marwedel,“Embedded System Design”, Kluwer academic publishers, 2nd Edition, November 2011
AA 2017-2018 Calendar:

The course has been complteted last December 2017. The next one is scheduled on sept 2018

Examination rules:

The evaluation of the project assignment have to be added (not averaged!) to the score of the written test. As soon as the evaluation of the project, done by my assistants, will be passed to me I will proceed with the registration of the exam. Please do not forget to insert your name in your target “appello” on the webpoliself

Working Students requiring a certification of presence to the written exam:

Please print out the following form to be presented during the exam. Remember to fill it with your data.
Declaration to be printed

Results:
2017-2018
2016-2017
2016
2014:
Past years:
How to register:

After the publication of the result of the written test and the evaluation of the project, please send an email to me with the following information:

  • subject: [#matricola] surname, name, course, date of the exam (where your name is in the list!)

example: [1234] rossi mario, ES1, registration, Sept 4, 2012

  • body: evaluation of the written part (better with indication of the date of the written test), evaluation (if available) of the project, name of your mentor for the project

example: 24/30 (4 luglio 2012), A+, Zoni

After that I will complete the registration of your score using the web site. You will receive an email from the systems in a few days. Note that this action is impossible to be carried out before the date of the exam. Those still having to register past exams (I mean before sept 2013) have to follow the instructions reported above maybe one more time.

Material (2017-2018)

[http://home.deib.polimi.it/zoni/teaching.html|Link to the material of Davide Zoni]

Note that slides of the book chapters are not fully available and some of them are in Italian. For the Italian students, the “entire” chapters have to be studied or please use the notes taken during the lessons
From the book “Carlo Brandolese, William Fornaciari, Sistemi Embedded - Sviluppo hardware e software per sistemi dedicati, Pearson Education Italia, settembre 2007 (Italiano)”, the following chapters:

  1. Ch1: introduzione
  2. Ch2: architettura e progettazione
  3. Ch3: flusso di progettazione
  4. Ch4: NO
  5. Ch5: Tecnologie hardware
  6. Ch6: microprocessori
  7. Ch7: NO
  8. Ch8: NO
  9. Ch9: software applicativo
  10. Ch10:NO
  11. Ch11: solo 11.1, 11.2. NO 11.3 e 11.4
  12. Ch12: Interfacciamento
  13. Ch13: Sensori
  14. Appendice A: studio di fattibilità
  15. Appendice B: NO

For the foreign student willing to study only on the P.Marwedel book on Embedded Systems (see link), the chapters of interest are:

  • chapter 3- Embedded Systems Hw
  • Chapter 4 - System SW
  • Chapter 5 - Evaluation and Validation
  • Chapter 6 - Application mapping
  • Section 7.4 on Power and Thermal Management

In the case you are using the 2006 edition, study the similar chapters (3,4,5,6)

Other slides
Roadmaps

Embedded Systems - general intro
Comunicazione e interfacciamento
Metriche e dse
Architetture multi many core and power
Sensoristica
Wireless Power Charging Validation and testing of an ES, slides from the Italian Book, refer also to the lesson notes

Detailed Schedule and Material (2015-2016)

Note of the slots for the lessons

ES+AOS Schedule of the lessons as of October 19, 2015
Introduction to Verilog
More on Verilog (optional, to probe further) October 13, 2015 Development of Linux Applications
October 20, 2015 - Versioning using GIT
October 26, Moving to C++

Wireless Power Charging \\Presentation slides AA 2015.20168-o:!: AOS + ES + Energy aware (DOT table course





Linux Application Development
Accessing pheriferals
Power management intro - part 1 Power management intro - part 2 \\Programming MCu and Interfaces (With ST)

Material/slides (AA 2014-2015)

[http://home.deib.polimi.it/zoni/teaching_es1_2014_2015.html|Link to the material of Davide Zoni]

Note that slides of the book chapters are not available, the “entire” chapters have to be studied!__
From the book “Carlo Brandolese, William Fornaciari, Sistemi Embedded - Sviluppo hardware e software per sistemi dedicati, Pearson Education Italia, settembre 2007 (Italiano)”, the following chapters:

  1. Ch1: introduzione
  2. Ch2: architettura e progettazione
  3. Ch3: flusso di progettazione
  4. Ch4: NO
  5. Ch5: Tecnologie hardware
  6. Ch6: microprocessori
  7. Ch7: NO
  8. Ch8: NO
  9. Ch9: software applicativo
  10. Ch10:NO
  11. Ch11: solo 11.1, 11.2. NO 11.3 e 11.4
  12. Ch12: Interfacciamento
  13. Ch13: Sensori
  14. Appendice A: studio di fattibilità
  15. Appendice B: NO

For the foreign student willing to study only on the P.Marwedel book on Embedded Systems (see link), the chapters of interest are:

  • chapter 3- Embedded Systems Hw
  • Chapter 4 - System SW
  • Chapter 5 - Evaluation and Validation
  • Chapter 6 - Application mapping
  • Section 7.4 on Power and Thermal Management

In the case you are using the 2006 edition, study the similar chapters (3,4,5,6)

Roadmaps
Embedded Systems - general intro
Comunicazione e interfacciamento
Metriche e dse
Architetture multi many core and power
Sensoristica

Slides regarding the lectures (2013-2014)
Material concerning labs by D.Zoni (2013-2014)
Examples of open questions for the written part (2013-2014)
Link to optional lessons borrowed by RTOS course (not part of the written exam)


NEW Dec 2013: set of slides from D.Zoni
Schemi pipeline router e matrix arbiter spiegati a lezione






OLD MATERIAL (before 2012) STILL HERE FOR SOME PAST STUDENTS STILL HAVING TO PASS THE EXAM Links to the material presented by my past assistants (2012-2013):

Date and Place Topics Materials (pdf, pdf.zip) Book Chapters
Course Introduction 1.1, 1.2,1.3,1.4,1.5,1.6,1.7 WF - Ch1
Embedded Systems 2.1,2.2
Dynamic Power and Resource Management 3.1,3.2,3.3
Design Flow 4.1,4.2,4.3 WF - Ch3
Hardware WF - Ch5
Design Methodologies WF - Ch2
Software 7.1, 7.2 WF - Ch8
Operating Systems 8.1,8.2,8.3 WF - Ch6, WF - Ch9
Case Studies 9.1 WF - Appendix A
Fault Tolerance 10.1,11.2,10.3
Interfacing and Communication 11.1 WF - Ch11.1 e Ch11.2, WF - Ch12
Wireless Sensor Networks 12.1 WF - Ch13 (optional Ch 10)
Miscellaneous ES_1.1_Intro.pdf, ES_2.1_GNUcmdline.pdf, ES_2.2_memento.pdf, ES_3_linux_app_dev.pdf, ES_4.1_git.pdf, ES_4.2_git.web, ES_5_pwrMngmt.pdf, ES_6_linux_pwrMngmt.pdf, ES_7_projects.pdf, ES_8.1_multicore.pdf, ES_8.2_multicore2.pdf, ES_9_NoC_Rel_projects.pdf http://home.dei.polimi.it/bellasi/