You are logged in as: Anonymous (Author)
Roles: [Gäst] | Readers: [All]
Authors: [All] | Login | Logout |
|
LIST
-> List exercises
-> Solutions by exercise
CREATE
-> New solution
-> Course Evaluation
REGISTRATIONS
-> New registration
-> List existing
|
Programming Embedded Systems 2017
Course Objectives
After completing the course the student will know
* how to build (program...) small embedded systems
* program in C on low level
* program structures for small embedded systems
* interfacing to sensors, actuators
* learn some typical hardware / software:
- TI MSP430, TI TivaC, Microchip PIC, Embedded Linux, some mobile OS
* basic uP Interfacing bus technology: Serial (RS-232, RS-485), CAN
* start up hardware, booting
* use error detection methods
* how to take limited resources into consideration.
( * module architecture in Linux. - if time )
Lecturers:
Jerker Björkqvist, jerker.bjorkqvist@abo.fi, Agora, room 346C
Material:
Programming Embedded Systems I & II,
http://www.le.ac.uk/eg/mjp9/pes1ohp_a4.pdf
pes1oh_a4.pdf
http://www.le.ac.uk/eg/mjp9/pes2ohp_a4.pdf
pes2ohp_a4.pdf
Booting: ![Booting.pdf](/ro.nsf/141b8735bd22ff31c225700600473a01/d1cd52e54bc46ec1c22580a20074b344/Body/0.F34?OpenElement&FieldElemFormat=gif) ![Booting_2.pdf](/ro.nsf/141b8735bd22ff31c225700600473a01/d1cd52e54bc46ec1c22580a20074b344/Body/0.166C?OpenElement&FieldElemFormat=gif)
Linux kernel module programming: ![lkm.pdf](/ro.nsf/141b8735bd22ff31c225700600473a01/d1cd52e54bc46ec1c22580a20074b344/Body/0.1E7E?OpenElement&FieldElemFormat=gif)
Linux kernel module programming: http://en.tldp.org/LDP/lkmpg/2.6/html/index.html
Duration
Lectures and labs: 9.1.201 - 7.3.2016
Final meeting: proposal
Contents:
- Lectures Mondays 10-12 hours, Agora 110A Starting 9.1.2017
- Exercises (5) - According to separate schedule
- Small Project in Group
- Optional Exam (for grading 0-5)
In order to pass the course, the following requirements must be fulfilled
- Accepted exercises
- Project work
- Learning Journal written
GRADING/EVALUATION/EXAMS
The course is graded according to 2 options:
A. Passed / failed. no exam, but all exercises and final project performed. A learning journal is required !
B. Graded 0-5, requires a exam (additional to all exercises and final project)
In case B, either of the 2 following exams should be attended:
Exam 1:
Exam 2:
Notes for students for UTU:
Please read the following : https://abacus.abo.fi/ro.nsf/W/joo
Learning Journal
During the course, you should keep a learning journal. The learning journal should include what was done in the course, i.e.
* lectures (main points / what did I learn? / what was new? / did I agree with what was said? / feedback)
* exercises (the lab reports from the labs made)
* final project (report)
* feedback , i.e. what is good/bad with course lectures labs etc...
LECTURES
9.1.2017 10-12 | Introduction / Hello embedded world | ![](/icons/ecblank.gif) |
16.1.2017 10-12 | Structure of code / real-time / Simple embedded OS | ![](/icons/ecblank.gif) |
23.1.2017 | Serial programming / Flexible scheduler / Analog IO using ADC / PWM | ![](/icons/ecblank.gif) |
30.1.2017 10-12 | Co-operative task scheduling / watchdog timers | ![](/icons/ecblank.gif) |
6.2.2017 10-12 | Sensors and interfacing to sensors | ![](/icons/ecblank.gif) |
13.2.2016 10-12 | Shared clock scheduling | ![](/icons/ecblank.gif) |
15.2.2.2016 10-12 | Can-bus / booting | ![](/icons/ecblank.gif) |
20.2.2017 | --NO LECTURE__ | ![](/icons/ecblank.gif) |
27.2.2017 10-12 | Shared clock scheduling / FreeRTOS | ![](/icons/ecblank.gif) |
6.3.2017 | Project vision presentations | ![](/icons/ecblank.gif) |
24.4.2017 10.15 -> | PRESENTATION OF PROJECTS in lab 307A-C | ![](/icons/ecblank.gif) |
![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
EXERCISES
Excercises start tue 18.1.2016, in room 307A-C in Agora
Following lab times are available, each week, select from one of the available lab groups.
- Group 1: Tuesdays, 9-12
- Group 2: Wednesday, 9-12
Exercise | Contents | When | Description |
1. Super loop | Introduction to MSP430 ![](/ro.nsf/141b8735bd22ff31c225700600473a01/d1cd52e54bc46ec1c22580a20074b344/Body/0.3C46?OpenElement&FieldElemFormat=gif)
Introduction to environment | 17.1 9-12
18.1 9-12 | ex1_2017.pdf |
2. Task based software architecture | Create a task-based mini OS
Defining tasks / O-O like code
Programmable timers and interrupts | 23.1 9-12
24.1 9-13 | ex2_2017.pdf |
3. I/O and scheduling | Interrupt based scheduling
State machine
Reading switches
Low power operation | 31.1 9-12
1.2. 9-12 | ex3_2017.pdf |
4. Reading the temperature | Using AD-converter, interfacing to internal/ external NTC, interrupt base scheduling of multiple tasks | 7.2 9-12
8.2 9-12 | ex4_2017.pdf |
5. Shared clock scheduling / multiprocessor | Shared clock scheduling on MSP430 | 28.2 9-12
1.3 9-12 | ex5_2017.pdf |
![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Each exercise should be documented and electronically submitted on the web address https://abacus.abo.fi/ro.nsf.
Exercises will be performed mainly on your own in a small group, but each exercise will be started up by a short introduction and there will be a lecturer (Jerker) present in the lab.
Project
Do a small scale project in groups of 2-4 persons. You can yourself choose the topic, but it has to be accepted by the lecturer. The environments provided by the lab: (but you can also suggest your own environment).
The projects are presented (in a seminar, orally)
A. Before the project start: A short introduction to the project
B. After the project (the results)
![](/icons/ecblank.gif) | Example of projects | ![](/icons/ecblank.gif) |
Modtronix / Microchip | Internet based home surveillance
Internet radio | ![](/icons/ecblank.gif) |
Airstation | Temperature display | ![](/icons/ecblank.gif) |
Dreambox | Own software module, displaying temperature or weather | ![](/icons/ecblank.gif) |
![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
TI watch | Lear how to to use a small wrist computer / sensors | ![](/icons/ecblank.gif) |
Raspberry Pi | The sky is the limit.... | ![](/icons/ecblank.gif) |
TivaC development platform | Embedded solution | ![](/icons/ecblank.gif) |
Beagle bord | Embedded solution | ![](/icons/ecblank.gif) |
Equipment for projects:
There are some new equipment: presence sensor, IR transmitter/receiver attachable to SBC65EC, 3-button version of daughtercard.
Please read the this document for more information:
![](/ro.nsf/141b8735bd22ff31c225700600473a01/d1cd52e54bc46ec1c22580a20074b344/Body/21.2842?OpenElement&FieldElemFormat=gif)
Projects
Exercises / evaluation
Code: 453502.0
Name | ![](/icons/ecblank.gif) | Exercises | Project | LJ | Exam | STURE |
![](/icons/ecblank.gif) | 1 | 2 | 3 | 4 | 5 | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Adal Sileshi | ![](/icons/ecblank.gif) | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Ahtola, Viljami | ![](/icons/ecblank.gif) | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Andersson, Joel | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Arokari, Olli | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Asqhar, Shoaib | ![](/icons/ecblank.gif) | X | X | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Backman, Robert | ![](/icons/ecblank.gif) | X | X | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Biström, Dennis | ![](/icons/ecblank.gif) | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Brachotte, Nathan | 72773 | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 20.6.2017 |
Lindholm, Anton | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Castilla Maldonado, Jorge | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Luitel, Subash | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Mallie, Dagmawi | 72907 | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 20.10.2017 |
Manner, Patric | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Ma, Yifan | ![](/icons/ecblank.gif) | X | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Mccrod, Cassandra | ![](/icons/ecblank.gif) | X | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Nepal, Rituraj | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Nylund, Mathias | ![](/icons/ecblank.gif) | X | X | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Ranta, Timo | ![](/icons/ecblank.gif) | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Saxen, Daniel | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Upreti, Roshan | ![](/icons/ecblank.gif) | X | X | X | X | X | X | X | ![](/icons/ecblank.gif) | 8.6.2017 |
Werner, Maximillian | ![](/icons/ecblank.gif) | X | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) | ![](/icons/ecblank.gif) |
Links
asdasdads Kandidatseminarium 2023 Research capability test Kandidatseminarium 2022 Temp Kandidatseminarium 2020 Kandidatseminarium 2021 Kandidatseminarium 2019 Operativsystem 2018 (period 3) Analytics for Industrial Internet Kandidatseminarium 2018 Operativsystem 2017 (period 3) Programming Embedded Systems 2018 Programming Embedded Systems 2017 (fall) ASP Labs 2017 Kandidatseminarium 2017 Programmering i C/C++ 2016 Programming Embedded Systems 2017 ASP Labs 2015 Kandidatseminarium 2016 Operativsystem 2015/2016 (period 2) Programming Embedded Systems 2016 Programming Embedded Systems 2015 Operativsystem 2014/2015 (period 2) Programmering i C/C++ 2015 Kandidatseminarium 2015 Programmering i C/C++ läsår 2014-2015 Datorteknik hösten 2015 Obligatorisk praktik Accenture Road Show Digital Television Techniques 2015 / Wireless communication Programmering i C/C++ läsår 2013-2014 ASP Labs 2011 Digital Television Techniques 2014 / Wireless communication Programming Embedded Systems 2014 Operativsystem 2013/2014 (period 2) Kandidatseminarium 2014 Kandidatseminarium 2014 JOO: ÅA <--> UTU course exhange ASP Labs 2013 Digital Television Techniques 2013 Programming Embedded Systems 2013 Operativsystem 2012/2013 (period 2) Programmering i C/C++ läsår 2012-2013 Kandidatseminarium 2013 Digital Television Techniques 2012 Programmering i C/C++ läsår 2011-2012 Operativsystem 2011/2012 (period 2) Programming Embedded Systems 2012 Kandidatseminarium 2012 Digital Television Techniques (5 cp) Period IV / 2010 Programming Embedded Systems 2010 C++ järjestelmäohjelmointi 2011 Programming Embedded Systems 2011 Kandidatseminarium 2011 Operativsystem 2010/2011 (period 2) Programmering i C/C++ läsår 2010-2011 Räkneövningar på nätet ESResearch Kandidatseminarium 2010 Huvudämnesinfo 2010 Tent 11.12.2009 / Resultat Programmering i C/C++ läsår 2009-2010 Excercises Digital Television Techniques 2008 Programmering i C/C++ läsår 2007-2008 Praktikum i inbyggda datorsystem
|
|