Course - Low-Level Programming - TDT4258
Low-Level Programming
About
About the course
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
Knowledge:
- 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 have a good understanding of device driver development for embedded systems running uCLinux.
Skills:
- 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. Voluntary warm-up laboratory exercise. Three laboratory exercises that count towards the final grade. In-class discussion.
Further on evaluation
Portfolio assessment is the basis for the grade in the course. The portfolio includes a written exam (50%) and exercises (50%). The results for the parts are given in %-scores, while the entire portfolio is assigned a letter grade. If there is a re-sit examination, the examination form may change from written to oral.
In the case that the student receives an F/Fail as a final grade after both ordinary and re-sit exam, then the student must retake the course in its entirety. Submitted work that counts towards the final grade will also have to be retaken.
Recommended previous knowledge
TDT4160 Computers and Digital Design, or equivalent.
Course materials
Announced at the start of the semester.
Subject areas
- Technological subjects
Contact information
Course coordinator
Department with academic responsibility
Examination
Examination
Ordinary examination - Autumn 2020
Arbeider
Hjemmeeksamen (1)
Submission 2020-12-14 Time Release 09:00
Submission 12:00 Duration 3 hours Exam system Inspera Assessment
- Other comments
- 1) Merk at eksamensform er endret som et smittevernstiltak i den pågående koronasituasjonen. Please note that the exam form has changed as a preventive measure in the ongoing corona situation.