Course plan

Save favourite

View syllabus

Electrical Engineering BA (B), Programming Embedded Systems, 7.5 Credits

General data

Code: ET014G
Subject/Main field: Elektroteknik
Cycle: First cycle
Progression: (B)
Credits: 7.5
Progressive specialization: G1F - First cycle, has less than 60 credits in first-cycle course/s as entry requirements
Answerable department: Electronics Design
Answerable faculty: Faculty of Science, Technology and Media
Established: 3/15/2007
Date of change: 7/10/2013
Version valid from: 8/15/2013


In this course programming of a modern RISC microprocessor. This course provides advanced information and skills into the programming of the microprocessor-based embedded systems for different application requirements for example on timing, power, resources usage etc.., and also on how software code can be optimized.

Course objectives

After the course the student should be able to:
- Implement a real-time application in a modern RISC processor using C solving a specified task,
- Implement a software driver for a peripheral device,
- Optimize software components in an embedded system using different techniques,
- Describe how the software performs parallel execution in two different ways
- Describe how switching between processes
- Describe methods for scheduling of processes
- Describe how different processes communicates in a real-time system


The course covers:
- Techniques and tools for advanced programming in C for a RISC microprocessor.
- Management of application requirements in an embedded system: How real-time, environmental and functional requirements of embedded systems affect the programming of a microprocessor-based embedded system.
- Real-Time: Multitasking, scheduling and operating systems for microprocessor-based embedded systems.
- Optimization of C code for microprocessor-based embedded systems.
- 60% of the course is in the form of lab projects.

Entry requirements

electrical engineering Gr(A), 15 credits, including digital electronics and microprocessor technology and Computer engineering, Gr(A), 15 credits. Some course including programming in C

Selection rules and procedures

The selectionprocess is in accordance with the Higher Education Ordinance and the local order of admission.

Teaching form

In addition to scheduled hours, the student must conduct comprehensive self-study. The number of teaching hours for the specific course time is defined in the schema.

60% of the course is in the form of practical exercises and project.

Examination form

3.0 Credits, T104: Written exam, Theory
Grades: A, B, C, D, E, Fx and F. A-E are passed and Fx and F are failed.

3.0 Credits, L104: Laboratory
Grades: Pass (P) or Fail (F)

1.5 Credits, P104: Project
Grades: A, B, C, D, E, Fx and F. A-E are passed and Fx and F are failed.

Grading criteria for the subject can be found at

Grading system

The grades A, B, C, D, E, Fx and F are given on the course. On this scale the grades A through E represent pass levels, whereas Fx and F represent fail levels.

Course reading

Required literature

Richard barnett, Embedded C Programming and the Atmel AVR, Delmar Learning, 2002, 1-4018-1206-6

Reference literature

Daniel W. Lewis, Fundamentals of Embedded Software: Where C and Assembly Meet, Pearson Higher Education, 2001, 0-13-061589-7