TDT4258 - Low-Level Programming


Examination arrangement

Examination arrangement: School exam
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
School exam 100/100 3 hours D

Course content

Embedded system fundamentals, properties, and design flow.

Embedded system hardware design: CPU, caches, memory, buses, input / output.

Embedded system software design: low level programming in C and ARM assembly, resource constrained programming techniques, and tools for embedded programming.

Introduction to compilation and code optimizations, operating system, embedded system design using ARM mbed platform, and power management in embedded systems.

Learning outcome


- The student should have a thorough understanding of hardware and software components of an embedded system.

- The student should be familiar with the different layers of computation stack and how they interact with each other.

- The student should have a detailed understanding of software development for embedded systems including bare-metal C programming and assembly programming.


- The student should be able to program embedded devices at different abstraction levels such as assembly programming, bare-metal C programming, and programming with operating system support.

General competence:

- The student should master programming close to hardware and be able to use this knowledge in projects at all abstraction levels

Learning methods and activities

Auditorium lectures, self-study, laboratory exercises, and in-class discussions.

Compulsory assignments

  • Mandatory work

Further on evaluation

The written exam at the end of the semester accounts for 100% of the grade.

The course contains a set of compulsory activities. The student can collect a fixed number of points in each activity and needs to collect a certain number of points in total to be allowed to take the exam. The list of activities will be announced at the start of the semester.

If there is a re-sit examination the examination form may change from written to oral.

Course materials

Announced at the start of the semester.

More on the course



Version: 1
Credits:  7.5 SP
Study level: Third-year courses, level III


Term no.: 1
Teaching semester:  AUTUMN 2023

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Technological subjects
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: School exam

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD School exam 100/100 D 2023-12-02 09:00 INSPERA
Room Building Number of candidates
SL415 Sluppenvegen 14 53
SL110 Sluppenvegen 14 64
Summer UTS School exam 100/100 D INSPERA
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU