Course detail

Microprocessors and Architectures

FEKT-GPOAAcad. year: 2019/2020

Students will become familiar with ARM Cortex-M core and its applications in STMicroelectronics STM32 and NXP Kinetis microcontroller families. The will use the development boards with these microcontrollers (STM32F4DISCOVERY, 32F429IDISCOVERY, FRDM-KL25Z) to create larger projects, work with RTOS, advanced communication interfaces (Ethernet, USB), creating drivers. Students implement their own project with the selected development board as an individual project.

Language of instruction

English

Number of ECTS credits

4

Mode of study

Not applicable.

Learning outcomes of the course unit

The graduate is able to: (1) describe the structure of ARM Cortex-M core, (2) describe basic blocks of STMicroelectronics STM32 a Freescale Kinetis MCUs, (3) use manufacturer development boards for prototyping, (4) use selected peripherials connected to the MCU, (5) understand the different development environments used for ARM Cortex-M core, (6) create own software projects with USB and Ethernet support.

Prerequisites

Attendant should be able to:
- describe main processor blocks and their function
- be familiar with the source code and the command line
- create a program in C language, using pointers, function parameter passing, separate compilation
- design hardware and firmware for basic peripherals (button inputs, multiplex displays, graphic displays, shift registers, temperature sensors, etc.)
General knowledge at the level of Bachelor's degree and experience in programming of 8-bit microcontrollers is required.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations. Student submits an individual project.

Assesment methods and criteria linked to learning outcomes

Students can receive a maximum of 45 points for active work in computer labs. Individual project including presentation is rated up to 55 points.

Course curriculum

Lectures:
1. Development boards and tools for ARM Cortex-M.
2. ARM Cortex-M core.
3. Overview of advanced C languge.
4. EmBitz and Kinetis Design Studio environments, mbed.org platform.
5. Kinetis: basic functions, button drivers, LED shield, Xtrinsic sensors, Ethernet interface.
6. STM32: basic functions, matrix keyboard, USB interface, gyroscope, audio applications.

Computer exercises:
1. KL25Z: basics, button drivers, LED shield.
2. KL25Z: introduction to Freedom boards, CodeWarrior, sensors NXP).
3. KL25Z: individual work with sensors NXP).
4. KL25Z+K64F: mbed.org platform.
5. K64F: Ethernet interface.
6. STM32: basics, matrix keyboard.
7. STM32: USB inferface, gyroscope.
8. STM32: audio applications, sound input and output.
9. Individual projects presentation.
10. STM32: DMA, FreeRTOS.

Work placements

Not applicable.

Aims

The aim of the course is to make students familiar with ARM Cortex-M core, with STMicroelectronics STM32 MCUs and Freescale Kinetis MCUs, teach them how to program these microcontrollers in C language, and gain experience with different development environments.

Specification of controlled education, way of implementation and compensation for absences

The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

GANSSLE, J.G. Embedded Systems, World Class Design. Newnes, 2008. (EN)
MARTIN, T. The Insider's Guide To The STM32 ARM Based Microcontroller. Hitex Ltd., UK, 2008. (EN)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme TECO-G Master's

    branch G-TEC , 2 year of study, summer semester, elective specialised
    branch G-TEC , 1 year of study, summer semester, elective specialised

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus

1. Development boards and tools for ARM Cortex-M.
2. ARM Cortex-M core.
3. Overview of advanced C languge.
4. CoIDE and CodeWarrior environments, mbed.org platform.
5. Kinetis: basic functions, button drivers, LED shield, Xtrinsic sensors, Ethernet interface.
6. STM32: basic functions, matrix keyboard, USB interface, gyroscope, audio applications.
7. Raspberry Pi: basics of embedded Linux.

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. KL25Z: basics, button drivers, LED shield.
2. KL25Z: introduction to Freedom boards, CodeWarrior, sensors (Freescale).
3. KL25Z: individual work with sensors (Freescale).
4. KL25Z+K64F: mbed.org platform.
5. K64F: Ethernet interface.
6. STM32: basics, matrix keyboard.
7. STM32: USB inferface, gyroscope.
8. STM32: audio applications, sound input and output.
9. Individual projects presentation.
10. Raspberry Pi: embedded Linux basics.