Vak: Embedded Systems credits: 5

Vakcode
ELVH20AEMB
Naam
Embedded Systems
Studiejaar
2020-2021
ECTS credits
5
Taal
Engels
Coördinator
P.J. Kamphuis
Werkvormen
  • Hoorcollege
  • Individueel
  • Opdracht
  • Practicum / Training
Toetsen
  • Embedded Systems - Opdracht

Leeruitkomsten

At the end of this study unit the student:
  • writes a C program that implements a given task or algorithm by using a combination of the following topics:
    • Pointers and pointer arithmetic
    • Structures, Unions and TypeDefs
    • Stream Input and output
    • Program structures
    • Files in/output.
  • writes a C program with efficient memory management by using the following topics:
    • The impact on memory and performance of data structures
    • Memory allocation
    • Memory leaks.
  • improves the re-usability of a C program by logically dividing the code between header files (.h) and code files(.c);
  • uploads a program on a microcontroller by using the following topics:
    • Compiler options
    • Bootloaders and uploaders
    • Make files
    • Linker.
  • writes a C program for a microcontroller that implements a given task by using a combination of the following functionality:
    • Registers
    • Software and hardware timers
    • Switches and bouncing
    • (nested) interrupts.
  • explains the major components of microcontroller architectures (e.g. SFR, program counter, ALU, memory, DMA);
  • writes a program in a low-level programming language (e.g. Assembly);
  • configures an FPGA using a hardware description language (e.g. VHDL).

Inhoud

In this study unit you will learn how to write programs in the C programming language. Furthermore you will learn to write embedded software using the Arduino platform. In order to improve the performance you will also learn how to directly access the embedded hardware, e.g. not using the standard Arduino library functionality. Next to the programming you will learn the theory behind microcontroller architectures.
With regard to C programming the topics include:
  • Pointers and pointer arithmetic
  • Memory management
  • Structures, Unions and TypeDefs
  • Stream input and output
  • Compiler options
  • Program structure and make files
  • Code separation.
With regard to embedded programming the following topics will be addressed:
  • Microcontroller architecture and registers
  • Software and hardware timers
  • Switches and bouncing
  • (nested) Interrupts
  • Bootloaders and uploaders
  • Serial communication
  • Assembly programming
    FPGA configuration.
The grade for this module is from the written exam at the end of the module. All assignments need to be a PASS.