TDT4258 - Maskinnær programmering

Karakterfordeling

ABCDEF122320151611

Semester

Faglig Innhold

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, programming techniques for resource constrained systems, and modern tools for embedded programming. Introduction to compilation and code optimizations, operating systems, and improved sustainability through energy efficiency at different levels of the compute stack.

Læringsmål

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 the computation stack and how they interact with each other. This includes how hardware, software and application complexity affects the energy efficiency of a system. - The student should have a detailed understanding of software development for embedded systems in C with or without an operating system, and assembly programming. The student should be introduced to possibilities and limitations of generative AI systems for programming. 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. - The student should get some experience from using generative AI for programming and testing, and be able to reflect on its possibilities and limitations. General competence: - The student should master programming close to hardware at different levels and in various contexts.

Lenker