Mudanças entre as edições de "STE-EngTel (página)"
Linha 163: | Linha 163: | ||
{{collapse bottom}} | {{collapse bottom}} | ||
− | |||
− | |||
= Homework = | = Homework = | ||
− | {{collapse top| bg=lightyellow | expandir=true | Homework 01: | + | {{collapse top| bg=lightyellow | expandir=true | Homework 01: Mandrake Voltage Detector - 31/10/2016}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The gerenal design of this project was carried out with the students during class. | |
− | + | To complete the assignment, each student will use an Arduino UNO platform and deliver: | |
− | + | *UML model of the application; | |
− | + | *Arduino implementatino of the application; | |
− | + | *C++/GCC implementation of classes for AVR's: | |
− | + | **GPIO; | |
− | + | **UART (with interrupts and input/output buffers); | |
− | + | **ADC (with interrupts and circular buffer). | |
− | + | *C++/GCC implementation of voltage detector application as described in class. | |
− | + | {{collapse bottom}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{collapse top| bg=lightyellow | expandir=true | Homework 02: Static Program Analysis - 13/11/2016}} | |
+ | In this experiment, in doubles, students will perform an static analysis to specify time and power consumption profile of the Mandrake VD application (homework 1). | ||
+ | |||
+ | To complete the assignment, each student must: | ||
+ | *Instrument an Arduino UNO with an Osciloscope to measure, via a shunt resistor, current and voltage inputs for the board during program execution; | ||
+ | *Identify application's basic blocks; | ||
+ | *Measure average power (P=V.i) and execution time of each basic block; | ||
+ | *Write report describing the methodology and presenting the measurement results. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
− | {{collapse top| bg=lightyellow | expandir=true | Homework | + | {{collapse top| bg=lightyellow | expandir=true | Homework 03: Real-Time Operating System - 05/12/2016}} |
− | + | In groups, each using different boards: | |
− | + | *Group 1: Gustavo, Iago, Fernando, Stephany - Intel Edison | |
− | + | *Group 2: Mathias, Ronaldo, Marcus - BeagleBone Black | |
− | + | *Group 3: Roicenir, João - Xilinx MicroZed | |
− | + | *Group 4: Giulio, Walter - Intel Galileo Gen 2 | |
− | + | *Group 5: Guilherme, Vinicius - RaspberryPi 3 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Each group must, initialy, generate a Yocto Linux Image with the following characteristics: | |
− | + | *Generate compact image (core-image-minimal); | |
− | + | *Generate toolchain (meta-toolchain); | |
+ | *Use preempt-rt kernel type; | ||
+ | *Document additional Yocto layers and configurations used. | ||
+ | *'''Suggestion:''' Yocto 2.2 (morty) has just been released and there seems to be a few issues with it. Use Yocto 2.1 (krogoth) instead. | ||
− | + | A few references to help you to get through: | |
+ | *General doc: http://www.yoctoproject.org/docs/2.1/mega-manual/mega-manual.html | ||
+ | *Kernel types (for preempt-rt): http://www.yoctoproject.org/docs/2.1/mega-manual/mega-manual.html#kernel-types | ||
+ | *Atom (Intel Edison): http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/about/ | ||
+ | *BeagleBone: https://www.yoctoproject.org/downloads/bsps/krogoth21/beaglebone | ||
+ | *Xilinx Zynq (MicroZed): http://www.wiki.xilinx.com/Yocto | ||
+ | *Quark (Intel Galileo): https://www.yoctoproject.org/downloads/bsps/krogoth21/intel-core2-32-0 | ||
+ | *RaspberryPi: http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/about/ | ||
{{collapse bottom}} | {{collapse bottom}} | ||
− | {{collapse top| bg=lightyellow | expandir=true | Homework 04: Embedded | + | {{collapse top| bg=lightyellow | expandir=true | Homework 04: Embedded RT Linux Application - 18/12/2016}} |
− | + | Deliver a report and application source code of your RT application running on Linux. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{collapse bottom}} | {{collapse bottom}} | ||
− |
Edição das 08h05min de 23 de novembro de 2016
Embedded Systems
- Professor: Arliones Hoeller
- Meetings: Tuesdays, 13:30 and Fridays 15:40 at Programming Lab.
- Mailing list
Grades
Lab Experiments
The experiments in this course are based on the project Embedded Systems Experiments for the Telecommunication Engineering Undergraduate Program. See this page for the Experimental Setup. We will use the Arduino Uno board as hardware platform, and will be developing software in C/C++ using the GNU compiler with the avrlibc. We have plenty of Arduinos for use in the classroom, but if you can afford, you are encouraged to buy one for yourself to work on the extra-class assignments. They are available for less than R$50. check MercadoLivre.
Arduino's microcontroller is Atmel's ATMega328P. Download its manual here.
Homework
Homework | Links | Deadline |
---|---|---|
1. Mandrake VD | Deliver source code and UML model of GCC+Arduino voltage detector built during classes. | 31/10/2016 |
2. Static Program Analysis | Deliver a report on Mandrake VD containing execution time and power consumption analysis. | 13/11/2016 |
3. Embedded Yocto RT-Linux | Deliver a report describing the generation process of a Yocto Linux image with real-time support for your project board. Include application definition (project 4). | 05/12/2016 |
4. RT Application | Deliver a report and application source code of your RT application running on Linux. | 18/12/2016 |
Syllabus
Unit 01 - Get In: Hands on Microcontroller Software |
---|
Unit 01 - Get In: Hands on Microcontroller SoftwareIntroduction to Embedded Systems
Embedded Systems Development: Design PrinciplesGeneral Porpuse Input Output and External InterruptsSerial Communication
Input/Output Buffers
Analog-to-Digital Conversion
Digital-to-Analog Conversion
|
Unit 02 - Get Right: Introduction to Real-Time Systems |
---|
Unit 02 - Get Right: Introduction to Real-Time SystemsMultitasking
Real-Time Scheduling
|
Unit 03 - Get Out: Networked Embedded Systems |
---|
Unit 03 - Get Out: Networked Embedded SystemsEmbedded Networks and Multiprocessors
Embedded Networks Seminar
|
Unit 04 - Get Done: Embedded System Design |
---|
Unit 04 - Get Done: Embedded System Design |
Homework
Homework 01: Mandrake Voltage Detector - 31/10/2016 |
---|
The gerenal design of this project was carried out with the students during class. To complete the assignment, each student will use an Arduino UNO platform and deliver:
|
Homework 02: Static Program Analysis - 13/11/2016 |
---|
In this experiment, in doubles, students will perform an static analysis to specify time and power consumption profile of the Mandrake VD application (homework 1). To complete the assignment, each student must:
|
Homework 03: Real-Time Operating System - 05/12/2016 |
---|
In groups, each using different boards:
Each group must, initialy, generate a Yocto Linux Image with the following characteristics:
A few references to help you to get through:
|
Homework 04: Embedded RT Linux Application - 18/12/2016 |
---|
Deliver a report and application source code of your RT application running on Linux.
|