====== Embedded Systems: Architecture ====== ---- ===== News ===== * **16/11/2016**: the course web site is now on-line ---- ===== General Info ===== **Teachers**: * Juan Pablo Moreno, [[http://tecno.unca.edu.ar|Facultad de Tecnología y Ciencias Aplicadas, Universidad Nacional de Catamarca, Argentina]], visiting professor, [[mailto:juanpablomoreno@gmail.com|juanpablomoreno@gmail.com]] * Marcos Dario Aranda [[http://tecno.unca.edu.ar|Facultad de Tecnología y Ciencias Aplicadas, Universidad Nacional de Catamarca, Argentina]], visiting professor, [[mailto:markosdarioaranda@gmail.com|markosdarioaranda@gmail.com]] * [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=749&ru=PA|Leonardo Mostarda]], UNICAM **Lessons schedule**: * Lectures will be given by the visiting professors and will also be available online as **video-streaming** in Google Drive (see below in section "Study Material") * Lectures of Juan Pablo Moreno: * From Wed 9/11/16 to Wed 16/11/16 at FabLab "FAMO", Via Nelson Mandela 6, Civitanova Marche - See precise schedule below in section "Study Material" * Lectures of Marcos Dario Aranda: * Form Tue 22/11/16 to Wed 30/11/16 at FabLab "FAMO", Via Nelson Mandela 6, Civitanova Marche - See precise schedule below in section "Study Material" * **First, on-site, Exam scheduled on Friday 2/12/2016 10.00** at FabLab "FAMO", Via Nelson Mandela 6, Civitanova Marche **Students Office hours**: * By appointment via e-mail ---- ===== Course Objectives ===== **CIAA (Computadora Industrial Abierta Argentina)** is an open electronic system commonly used where absolutely all documentation and materials for their manufacture is freely available on the Internet (schematics, PCB design, source code of programs, etc.). It is designed on the basis of appropriate criteria for use in industrial applications, which do not depend on a specific line of processors, and can be produced by most domestic enterprises, which implies use in designing printed circuit no more than four layers. **Objective of the course** * Provide a smooth and simple approach to architecture, technology, techniques and tools that facilitate the realization of practical applications with CIAA board. ---- ===== Course Contents ===== **Introduction to CIAA’s Architecture and Programming** * Embedded Systems design with microcontrollers. * ARM Cortex (Introduction and generalities) * EDU­CIAA­NXP * C programming for embedded systems **Using models in programming microcontrollers** * Evolution from State Machines to Statecharts * Models in C language * Tools for measuring, verification, and validation of models (IAR VisualState) * Exercises with models: outputs, inputs, timers, drivers and applications **Exercises with CIAA & IAR visualSTATE** * Introduction * Inputs, outputs and Systick * Drivers and applications ---- ===== Study material ===== **Lectures of prof. Juan Pablo Moreno** * **Slides**: * [[https://drive.google.com/open?id=0B4EP0HixaymYREVOVzZUN1g1X00|Intro]] * [[https://drive.google.com/open?id=0B4EP0HixaymYY05TaWRzaVM3U2s|CIAA Presentation]] * [[https://drive.google.com/open?id=0B4EP0HixaymYVng3VGtQQ1RyWEk|State Machines]] * [[https://drive.google.com/open?id=0B4EP0HixaymYVnNnNzlBdlNUOHM|Statecharts]] * [[https://drive.google.com/open?id=0B4EP0HixaymYcEJyWmhOZ2lkVUk|IAR VisualState]] * [[https://drive.google.com/open?id=0B4EP0HixaymYRXM2YlNfcUxjNHc|Statecharts Examples]] * [[https://drive.google.com/open?id=0B4EP0HixaymYZWxmRF9Rci1KYzg|CIAA Boards]] * **Video Lectures**: * Wed 9/11/16 12.00 - 13.30 and 15.00 - 16.30 * [[https://drive.google.com/file/d/0B0GxxOOQ4dRSdVQxbTJxNmRLaUU/view?usp=sharing|Video Lecture 1.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSSWF3VjcxWG5TU28|Video Lecture 1.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSU3djMFVVVWtzcEU|Video Lecture 1.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSZmtJb2xEYkZSaUU|Video Lecture 1.4]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSUjZGU0w2T1FzRU0|Video Lecture 1.5]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSRlk4SUVqeXRLcE0|Video Lecture 1.6]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSd1dpN01HNHVoUXM|Video Lecture 1.7]] * Thu 10/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSaTJ0LXEwWGkxUE0|Video Lecture 2.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSaTJ0LXEwWGkxUE0|Video Lecture 2.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSM3NiTVhqbDU2NGc|Video Lecture 2.3]] * Fri 11/11/16 9.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbXpfNmw0SVZfOFE|Video Lecture 3.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSeFJWOUp0WC0tV1k|Video Lecture 3.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSdWY3bUtKNVRmTTg|Video Lecture 3.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSeEZTbW9qVHo3aUE|Video Lecture 3.4]] * Mon 14/11/16 10.00 - 13. 00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbFh1aXFXMmpMZDA|Video Lecture 4.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSVlo1ZXNrWV9tSFE|Video Lecture 4.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSQnYtVHU2UHA1cFU|Video Lecture 4.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSdmRzZVdkMkRadTA|Video Lecture 4.4]] * Tue 15/11/16 9.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSX0ozbFhfQUQ0WUE|Video Lecture 5.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSZ1IxZ25DTERWMkE|Video Lecture 5.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbm5ta0VCRGVsQjQ|Video Lecture 5.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRScHRNNko1MzFWSzQ|Video Lecture 5.4]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSc19lLWc4cG9VZW8|Video Lecture 5.5]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSU0hQQ0ZGVWw4aFU|Video Lecture 5.6]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSeUlRdFhpNnNfLXc|Video Lecture 5.7]] * Wed 16/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSNG9qYWNub1U0NWc|Video Lecture 6.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSN0E5SnF6QUpDakE|Video Lecture 6.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSWGNUYVRvaGpsUG8|Video Lecture 6.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSY3hrM0J6ZVNxZjQ|Video Lecture 6.4]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSeFgwRkIyVjliVEE|Video Lecture 6.5]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSM3J4LXBIUVJPeEU|Video Lecture 6.6]] * **IAR Visual State - Examples**: * [[http://didattica.cs.unicam.it/lib/exe/fetch.php?media=didattica:magistrale:esa:ay_1617:examples.7z|State Chart Examples]] **Lectures of prof. Marcos Dario Aranda** * **Slides**: * [[https://drive.google.com/open?id=0B9LuzXOBIaIsUkk5RktKZlFvSUk|Presentation]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsRnRhRklhcm92ZUE|CIAA and EDU-CIAA IDE]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsYjVadS1ESHVDQ1U|Output and Input Digital]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsZkQ0cU1FMHdCNDg|SysTick]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsbktsRnluRmdZd00|RITimer]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsZVpuSzI0aTFrZ2s|Analog Digital Converter]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsam1qMWxMZlE3SVU|Digital Analog Converter]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsdHdkd0lpZGhHRU0|Serial Port]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsMEVKdjFuMnpDQjg|Serial Peripherical Interface]] * **Video Lectures**: * Tue 22/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSdW9kSGVYcTBiajg|Video Lecture 1.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSYlZqX3VTVWN0dGM|Video Lecture 1.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSX2lUNF9KS21DSlU|Video Lecture 1.3]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbTJWLS0tYWxEM1U|Video Lecture 1.4]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSd3EwRnZuS0dld1E|Video Lecture 1.5]] * Wed 23/11/16 09.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSR0wzOEFTeG1heFU|Video Lecture 2.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSTW1RdmNrU25SMG8|Video Lecture 2.2]] * Thu 24/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSaGd2VTU4alZ5MDg|Video Lecture 3.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbUE1RGZhYkRXWms|Video Lecture 3.2]] * Mon 28/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSbEZGSjNHcUVYY2M|Video Lecture 4.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSb3ppM1VadXhpQVU|Video Lecture 4.2]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSMXpwSDRkbUJ4cm8|Video Lecture 4.3]] * Tue 29/11/16 09..00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSZm1pd09ybi1mWHM|Video Lecture 5.1]] * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSRkdITS1ldXlieHM|Video Lecture 5.2]] * Wed 30/11/16 10.00 - 13.00 * [[https://drive.google.com/open?id=0B0GxxOOQ4dRSN295eDd5dy1YdEU|Video Lecture 6.1]] **Other Materials** * [[https://drive.google.com/open?id=0B9LuzXOBIaIseXpWM0lwdUQtYmc|Folder Project]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsTlBjMkk1RjJjdVE|LPC43xx User Manual]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsekVQSHdWSkM5S1E|EDU-CIAA Pinout]] * [[https://drive.google.com/open?id=0B9LuzXOBIaIsQWh3U2c4cTgxZGM|Project Communication SPI]] ---- ===== Exams ===== **Practice** * The student has to use the IAR VisualState software to model a state chart of a Two Floor Elevator, according to the following requerements: - The elevator has a panel with two buttons, one for each floor (1st and 2nd) to specify the floor requiered - Two wall buttons, one in each floor (1st and 2nd) to call the elevator - If the elevator is in the floor required, nothing done - If the elevator is in a different floor, the elevator has to move to the required floor - The student has to model a state chart using the major quantity of features showed during the course (timer, composed state, history, guard conditions, signals, events, actions, etc) * The deadline to send by e-mail the folder containing the IAR VisualState files is **Monday 21/11/2016**. The e-mail address to send the files is juanpablomoreno@gmail.com. **Exam Dates A.Y. 2016/2017** * There will be one first exam day at the end of the lectures of the visiting professors. **The exam is scheduled on Friday 02/12/16 from 9.00 to 11.00 at FabLab FAMO, Via Nelson Mandela 6, Civitanova Marche** * The students that will not be able to pass this first exam may use other regular sessions managed by prof. Leonardo Mostarda, scheduled in ESSE3. **Exam description and rules of Friday 02/12/16**: **Rules** * The students should develop and implement a Firmware for the EDU-CIAA, using the drivers of: - Digital Outputs - Digital Inputs - Repetite Interruption Timer - RIT - Analog Digital Converter - ADC - Digital Analog Converter - DAC - Communication Serial Port - UART *The completed project and the drivers must be sent by e-mail **at 11:30 on Friday 02/12/2016**. The e-mail address to send the files is markosdarioaranda@gmail.com. * [[https://drive.google.com/open?id=0B9LuzXOBIaIsY3Y5bEJKemh6am8|ESA - Exam]] **Exam description and rules of later sessions managed by prof. Leonardo Mostarda**: TBA ** Exam Results of Friday 02/12/16** * TBA