You are logged in as: Anonymous (Author)
Roles: [Gäst]
Readers: [All]
Authors: [All]
Login | Logout

-> List exercises
-> Solutions by exercise

-> New solution
-> Course Evaluation

-> 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

Jerker Björkqvist,, Agora, room 346C

Programming Embedded Systems I & II,

Booting: Booting.pdfBooting_2.pdf
Linux kernel module programming: lkm.pdf
Linux kernel module programming:

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

  • 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

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 :

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...


11.1.2016 10-12Introduction / Hello embedded world
18.1.2016 10-12Structure of code / real-time / Simple embedded OS
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 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

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

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

Each exercise whould be documented and eletronically submitted on the web address
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.

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
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

Programming Embedded Systems 2017 (fall)
Programming Embedded Systems 2017
Programmering i C/C++ 2016
ASP Labs 2015
Operativsystem 2017 (period 3)
ASP Labs 2017
Kandidatseminarium 2017
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
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