htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
emphasize objectives XML-Code

flag



Programming Microcontrollers

Module name (EN):
Name of module in study programme. It should be precise and clear.
Programming Microcontrollers
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Electrical Engineering and Information Technology, Bachelor, ASPO 01.10.2018
Module code: E2509
SAP-Submodule-No.:
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
P211-0112
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
4V (4 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
5
Semester: 5
Mandatory course: yes
Language of instruction:
German
Assessment:
Written exam

[updated 08.01.2020]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

E2509 (P211-0112) Electrical Engineering and Information Technology, Bachelor, ASPO 01.10.2018 , semester 5, mandatory course, technical
Workload:
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
60 class hours (= 45 clock hours) over a 15-week period.
The total student study time is 150 hours (equivalent to 5 ECTS credits).
There are therefore 105 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
None.
Recommended as prerequisite for:
Module coordinator:
Prof. Dr.-Ing. Jürgen Schäfer
Lecturer: Prof. Dr.-Ing. Jürgen Schäfer

[updated 10.09.2018]
Learning outcomes:
Proficiencies: After successfully completing this module, students will be proficient in the following: structure of components of embedded systems, system-on-chip, special features of embedded system programming (cross-compiler, programming, debugging; GPIO, ADC, DAC, SPI, I2C, USART interfaces; interrupts and exceptions) Skills: Furthermore, students will be capable of working with a development tool for embedded systems, working with the documentation of a modern RISC microcontroller and configuring GPIOs, USART interfaces and timers, as well as creating interrupts and debugging embedded systems. Competencies: Students will also be able to program microcontroller-based embedded systems with limited resources under real-time conditions without an operating system. They will be able to implement simple hardware abstraction layers and realize simple controls using state machines. Students will be able to detect possible race conditions.

[updated 08.01.2020]
Module content:
1. Software development tools - Programming environment µVison (MDK-ARM) -- Project settings -- Compilers, linkers -- Debugging - Important support programs --TortoiseSVN -- Doxygen 2. Important design patterns 3- Concurrency - Problems - Possible solutions 4. Hardware abstraction layers (HAL) 5. Input and output - Abstract implementation of a communication interface based on an interface for receiving and sending data via an asynchronous (USART) and synchronous (SPI or I2C) serial interface. - Use of callback methods in connection with interrupts (inversion of control) - Time control via timer, PWM generation and analysis

[updated 08.01.2020]
Teaching methods/Media:
PC, blackboard, video projector, microcontroller evaluation boards

[updated 08.01.2020]
Recommended or required reading:
Douglass, B. P.: Design patterns for embedded systems in C, Elsevier Newnes, Amsterdam, 2011, ISBN 978-1-85617-707-8 Eißenlöffel, Thomas: Embedded-Software entwickeln: Grundlagen der Programmierung eingebetteter Systeme - Eine Einführung für Anwendungsentwickler, dpunkt.verlag, 2012, ISBN 978-3-89864-727-4 Hohl, William: ARM assembly language - fundamentals and techniques, CRC Press, 2009, ISBN 978-1-439-80610-4 Langbridge, James A.: Professional embedded ARM development, Wiliy, 2014, ISBN 978-1-118-78894-3 Lewis, Daniel W.: Fundamentals of embedded software with the ARM Cortex-M3, Pearson, Upper Saddle River, 2013, 2. Aufl., ISBN 978-0-13-335722-6 Yiu, J.: The Definite Guide to the ARM Cortex-M3, Newnes, Oxford, 2010, ISBN 978-1-85617-963-8

[updated 08.01.2020]
[Thu Apr 25 02:17:16 CEST 2024, CKEY=e3E2509, BKEY=ei, CID=E2509, LANGUAGE=en, DATE=25.04.2024]