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 2016


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:
- Microchip PIC, Embedded Linux, some mobile OS
* start up hardware, booting
* use error detection methods
* how to take limited resources into consideration.
( * module architecture in Linux. - if time )
* basic uP Interfacing bus technology: Serial (RS-232, RS-485), CAN

Lecturers:
Jerker Björkqvist, jerker.bjorkqvist@abo.fi, Agora, room 346C

Litterature:
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.pdfpes2ohp_a4.pdf

Booting: Booting.pdfBooting_2.pdf
Linux kernel module programming: lkm.pdf
Linux kernel module programming: http://en.tldp.org/LDP/lkmpg/2.6/html/index.html



Duration
Lectures and laps labs: 11.1.2016 - 7.3.2016
Final meeting: scheduled later - approx end april

Contents:
  • Lectures Mondays 10-12 hours, Agora 110B Starting 11.1.2016
  • 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?)
* exercises (the lab reports from the labs made)
* final project (report)
* feedback , i.e. what is good/bad with course lectures labs etc...


LECTURES


11.1.2016 10-12Introduction / Hello embedded world
18.1.2016 10-12Structure of code / real-time / Simple embedded OS
25.1.2016NO LECTURE / NO EXERCISES
1.2.2016 10-12Serial programming / Flexible scheduler / Analog IO using ADC / PWM
8.2.2016 10-12Co-operative task scheduling / watchdog timers
15.2.2016 10-12Shared clock scheduling
15.2.2.2016 10-12Can-bus / booting
22.2.2016 10-12 -- NO LECTURE --
29.2.2016Shared clock scheduling
7.3.2016Project vision presentations
25.4.2016 10.15 ->PRESENTATION OF PROJECTS in lab B3035
EXERCISES

Excercises start mon 18.1.2016, in room 307A-C in Agora
The following groups were assigned for the exercises:
  • Group 1: Mondays, 13-16
  • Group 2: Tuesdays, 9-12

ExerciseContentsWhenDescription
1. Super loopIntroduction to MSP430
Introduction to environment
Mon 18.1.2016
13-16
or
Tue 19.1.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex1_2016.pdfex1_2016.pdf
2. Task based software architectureCreate a task-based mini OS
Defining tasks / O-O like code
Programmable timers and interrupts
Mon 1.2.2016
13-16
or
Tue 2.2.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex2_2016.pdfex2_2016.pdf
3. I/O and schedulingInterrupt based scheduling
Reading switches
Low power operation
Mon 8.2.2016
13-16
or
Tue 9.2.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex3_2016.pdfex3_2016.pdf
4. Reading the temperatureUsing AD-converter, interfacing to external NTC, interrupt base scheduling of multiple tasksMon 15.2.2016
13-16
or
Tue 16.2.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex4_2016.pdfex4_2016.pdf
5. Shared clock schedulingShared clock scheduling on MSP430Mon 29.2.2016
13-16
or
Tue 30.2.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex5_2016.pdfex5_2016.pdf
6. Multiprocessor systemData over serial linkMon 7.3.2016
13-16
or
Tue 8.3.2016
9-12
Agora 3rd floor
room 307A-C Turing / von Neuman / Dijkstra
ex6_2016.pdfex6_2016.pdf

Each exercise whould be documented and eletronically submitted on the web address https://abacus.abo.fi/ro.nsf.
Exercises are done in the XXXX.
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)


Example of projects
Modtronix / MicrochipInternet based home surveillance
Internet radio
AirstationTemperature display
DreamboxOwn software module, displaying temperature or weather
TI watchLear how to to use a small wrist computer / sensors
Raspberry PiThe sky is the limit....
TivaC development platformEmbedded solution
Beagle bordEmbedded solution

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:



Exercises / evaluation

Code: 453502.0
Name ExercisesProjectLJExamSTURE
123456
Barua, AnikXXXXXXXX8.6.2016
Biström, BenjaminXXXXXXXX8.6.2016
Blomqvist, FredrikXXXXXXXX-23.5.2016
Brunström, MathiasXXXXXXXX8.6.2016
Eklund, MiroXXXXXXXX23.5.2016
Ek, RasmusXXXXXXXX23.5.2016
Eriksson, PeterXXXXXXXX23.5.2016
Granholm, FreyXXXXXXXX23.5.2016,8.6.2016
Karki, Apil71811XXXXXXXX23.9.2016
Lumme, ErikXXXXXXXX23.9.2016
Ma, YifanXX
Näsman, AndreasXXXXXXXX8.6.2016
Noman, UzairXXXXXXX8.6.2016
Raj, NitinXXXXXXXX8.6.2016
Rexha, HergysXXXXXXXX8.6.2016
Sarker, VictorXXXXXXXX8.6.2016
Simola, Onni-PekkaXXXXXXXX8.6.2016
Stephanovic, Srboljub39349XXXXXXXX8.6.2016
Strand, TomasXXXXXXXX8.6.2016
Upreti, RoshanXX

List of projects

NameProject
Links
Operativsystem 2018 (period 3)
Kandidatseminarium 2018
ASP Labs 2017
Operativsystem 2017 (period 3)
Programming Embedded Systems 2017 (fall)
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
Temp
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