Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
LEU500 - Machine oriented programming  
Syllabus adopted 2014-02-07 by Head of Programme (or corresponding)
Owner: TIDAL
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: First-cycle
Major subject: Automation and Mechatronics Engineering, Computer Science and Engineering, Electrical Engineering

Teaching language: Swedish

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0104 Laboratory 1,5 c Grading: UG   1,5 c    
0204 Examination 6,0 c Grading: TH   6,0 c   16 Mar 2015 pm L,  13 Apr 2015 pm L   21 Aug 2015 am L

In programs



Univ lektor  Roger Johansson

Course evaluation:

  Go to Course Homepage


In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.

Course specific prerequisites

Elementary electronic and digital electronics corresponding to the courses Electrical circuits and Fundamentals of Digital systems and Computers, Computer programming in C.


The purpose of this course is to be an introduction to embedded system design and programming.

Learning outcomes (after completion of the course the student should be able to)

The general goal with the course is for the student to manage to apply machine oriented programming of embedded systems. Another goal is that the student shall be able to explain advantages and disadvantages, possibilities and limitations that are characterized by embedded systems.

1. Program development in C and assembly language
The student shall be able to program in C and assembly language as well as:
•    Describe and apply modularization using functions and subroutines.
•    Describe and apply parameter passing to and from functions.
•    Describe and apply different methods for parameter passing to and from subroutines.
•    Describe and use various control structures.
•    Describe and use simple data structures.

2. Program development techniques
The student shall independently manage the following:
•    Construct, edit and translate (compile and assemble) programs.
•    Describe the translation process, i.e. use of the pre-processor, program assembly, compilation and linking.
•    Test, troubleshoot and correct program code using suitable tools.

3. Embedded systems from a system programmer’s point of view
The student shall independently manage the following:
•    Describe and apply different principles of communication between the central processing unit and peripheral units, such as: unconditional or conditional output, “busy wait” and “polling”.    
•    Construct programs for system bootstrap with interrupt handling from various types of peripheral units.
•    Describe central system software methods and mechanisms such as parallel execution.
•    Describe and use circuits for parallel and serial communication respectively.

4. Exception handling in computer systems
The student shall independently manage the following:
•    Describe and exemplify different types of exceptions.
•    Construct basic systems for interrupts using digital components.
•    Describe and apply different methods for software based and hardware based priority handling with multiple interrupt sources.

5. System organization
The student shall independently manage the following:
•    Describe different types of address space.
•    Describe different types of memory organization.
•    Describe the principles for synchronous bus communication.
•    Design address decoding logic for memory circuits and input output devices.


The course parts allow the student to construct gradually larger programming blocks in assembly language to control a drilling machine. The results become like a”mini real-times system” for four parallel processes. The processes control different functions in a drilling machine. The first part of the course will focus on assembly language programming. After that the control program is rewritten in C. Finally, mixed programming is exercised.
The drilling machine together with a traditional keyboard as input device are used together with a micro computer (68HC12). Hardware is also available as simulated devices. The equipment is used both for C- and assembly language programming.


Scheduled teaching comprises lectures, demonstrations, and supervised simulation and coding exercises; and also four supervised mandatory laboratory exercises.
During the course, the student designs progressively bigger and bigger building blocks of software in C and assembler. The theory is acquired through lectures and demonstrations. The student designs the blocks with ”pen and paper” then carries out tests with the aid of simulators during simulation exercises. In preparation for laboratory exercises the student will finally adapt the software in order to enable hardware verification of the function.


See the course homepage.


Examination is based on a written exam and approved laboratory exercises. Based on the exam result, the grade U, 3, 4, or 5 is given.

Page manager Published: Mon 28 Nov 2016.