Skip to main content
Skip header

Advanced Microcontroller Programming Methods

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code450-4098/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type B
Level of Course Unit *Second Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
PRA132doc. Ing. Michal Prauzek, Ph.D.
STA048Ing. Martin Stankuš, Ph.D.
Summary
The subject deals with advanced implementation methods that are used with modern ARM Cortex-M microcontrollers. The course includes methods implemented on selected microcontroller and students can learn these methods in laboratory exercises. Subject contains the development of applications using GNU tools, the use of linker scripts, details of ARM Cortex-M architecture, the construction of the start-up code, instruction set, and implementation in the assembly language.
Learning Outcomes of the Course Unit
The subject aim is to extend student knowledge in the area of implementation for embedded systems containing microcontroller. The content of the lectures is the advanced methods that are used in professional design in engineering practice. Laboratory exercises are devoted to practical skills that enable the student to acquire the taught methods. After completing the course, students are able to manage the required scenarios to the microcontroller using a comprehensive solution approach.
Course Contents
Lectures outline:

1. Introduction to development of software for microcontrollers
2. Development of applications using GNU tools, configuration of development tools
3. Linker script usage, analysis of object generated using development tools
4. ARM Cortex-M CPU architecture in detail, programmer’s model, exception processing system, CPU support libraries (CMSIS)
5. Construction of microcontroller start-up code, vector table relocation, code execution from RAM memory
6. Instruction set of the ARM Cortex-M CPU
7. Application development using assembly language
8. Application development using combination of C and assembly languages, calling convention
9. Advanced methods for debugging of microcontroller applications
10. Preparation for exam

Laboratory exercises outline:

- Practical demonstrations of GNU tools, linker script, start-citaup code design, and other advanced methods.
- Programming in the assembly language.
- Independent work and solving tasks.
Recommended or Required Reading
Required Reading:
YIU, Joseph. The definitive guide to arm cortex -m0 and cortex-m0+ processors. Boston, MA: Elsevier, 2015. ISBN 9780128032770.
YIU, Joseph. The definitive guide to arm cortex -m0 and cortex-m0+ processors. Boston, MA: Elsevier, 2015. ISBN 9780128032770.
Recommended Reading:
MAHOUT, Vincent. Assembly language programming: ARM Cortex-M3. Hoboken, NJ: ISTE Ltd. and John Wiley, c2012. ISBN 9781848213296.
MAHOUT, Vincent. Assembly language programming: ARM Cortex-M3. Hoboken, NJ: ISTE Ltd. and John Wiley, c2012. ISBN 9781848213296.
Planned learning activities and teaching methods
Lectures, Individual consultations, Experimental work in labs
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 51