Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    ARM Cortex Core Microcontrollers

    A tantárgy neve magyarul / Name of the subject in Hungarian: ARM Cortex magú mikrovezérlők

    Last updated: 2018. március 6.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics

    EIT Digital Master School - Embedded Systems Track

    Critical Embedded Systems specialization

    Course ID Semester Assessment Credit Tantárgyfélév
    VIMIAV07   2/1/1/v 4  
    3. Course coordinator and department Dr. Kovácsházy Tamás,
    Web page of the course
    4. Instructors Balázs SCHERER master lecturer, BME MIT
    5. Required knowledge

    To understand this subject, previous studies on 8-bit microcontrollers, and basic knowledge of C programming language is required.

    6. Pre-requisites
    NEM ( TárgyEredmény( "BMEVIMIM342" , "jegy" , _ ) >= 2
    TárgyEredmény("BMEVIMIM342", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    7. Objectives, learning outcomes and obtained knowledge

    The main goal of the subject is to introduce the new era of 32bit microcontrollers to students, who are already familiar with the basics of embedded systems. The lectures briefly overview the main differences between 8bit and 32bit micros, and introduce the ARM Cortex M core series and the main microcontroller families based on these cores. The lectures overview the internal architecture of these microcontrollers and introduce their special complex peripherals like NVIC, DMA, USB. The software development process of such high-performance micros is also demonstrated during the lectures.

    8. Synopsis


    Brief overview of microcontroller history

    Brief overview of microcontroller history, and the trends of the last 10 years. Introduction to the ARM core microcontrollers and their market role. The ARM7 core and its drawbacks. The need for the ARM Cortex M cores.


    ARM Cortex M cores

    Properties of the ARM Cortex M3 general purpose core, new features of the high performance M4, M7 cores, and specialties of the low power M0 core

    Main features of ARM cortex cores: architecture, instruction set, pipeline structure, memory mapping. The differences in main features based on M Cores series: what differs in M0, M3, M4, M7 cores, and what are the common features? Introduction to the programmer's model and access modes of ARM Cortex M micros. The internal peripherals of the ARM Cortex M series: NVIC, debug blocks, System timer and their purpose.


    Microcontrollers based on ARM Cortex M cores

    The evolution of the internal structure of ARM Cortex M core microcontrollers

    Internal bus architecture and their evolutions from the simple AHB-APB structure to the multi master AHB bus-matrix structure. Why the internal SRAM is separated to multiple banks? What are the differences in the internal structure of M0, M3, M4, M7 cores?

    The system control block and its properties

    The function of the system control block. The clock tree structure of modern microcontrollers. The Flash accelerator module: its role and evolution in different microcontroller families. The after reset system start procedure, the purpose of the boot options.

    Market leading ARM Cortex M core microcontroller series

    Features of the main microcontroller lines of ST Microelectronics, NXP and Silicon Laboratories. Characteristics and specialties of the main lines. Benchmark results.


    Software development for ARM Cortex M core microcontrollers

    The CMSIS

    The structure and features of the Cortex Microcontroller Software Interface Standard. The evolutions of the CMSIS. What could be expected from the new versions? The role of CMSIS core: the structure of the startup file and the SystemInit function. The functions and features of the CMSIS Software Pack: CMSIS-RTOS, CMSIS-DSP, CMSIS-Drivers, CMSIS-DAP, their influence to the development environments.

    Laboratory exercises: Low-level firmware programming

    Basic programs based on the CMSIS core support: How a C language program starts to run on a Cortex M microcontroller, simple peripheral handling based on CMSIS core defines. How are the special instructions of the core are handled in the CMSIS support? 

    Firmare libraries and Integrated Development Environments

    The firmware libraries of the main microcontroller manufacturers: ST's Cube, NXP and Silicon Laboratories firmware libraries, their architecture and feature sets. Integrated Development Environments: Eclipse based solutions, the Coocox IDE, Simplicity Studio.

    Laboratory exercises: Firmware Library usage

    Peripheral handling based on firmware libraries. Interrupt and DMA programming, USB communication.

    The ARM CMSIS-RTOS layer and its connection to a Real-Time kernel

    Introduction to the main features of Real-Time Kernels using FreeRTOS. The purpose of the   CMSIS-RTOS layer.

    Laboratory exercises: Using Real-Time Kernels

    Porting Real-Time kernels to a Cortex M microcontroller. Task creation and synchronization, memory handling and stack monitoring.

    The project

    Introduction to the project: its goals and features. The architecture of the mbed SDK (Software Development Kit), the purpose of the mbed HDK (Hardware Development kit).

    Laboratory exercises: Using the mbed environment

    Examples with the online compiler. Exporting out the code from the online compiler.


    Specialties of ARM Cortex core micros

    Debug and trace blocks of ARM Cortex M core microcontrollers

    The debug flow from the GDB through a debug server to the debug block in the microcontroller. SWD, and JTAG based debugging, the role of the AHB-AP. Microcontroller tracing. The ARM CoreSight trace system and its main blocks: ITM, DWT, ETM. 

    Power saving modes in microcontrollers

    Power saving modes in ARM Cortex micros comparing to the traditional 8bit microcontrollers. What is the purpose of the Back-up domains? How can the power consumption reduced in active and power saving modes?

    Heterogeneous multicore microcontrollers

    Introduction to the NXP4300 microcontroller series containing one Cortex M0 and one Cortex M4 core.


    Outlook to the other ARM Cortex families

    The ARM Cortex R series

    The properties and features of the ARM Cortex R core. architecture, instruction set, pipeline structure, memory mapping. Introduction to the Hercules line of Texas Instruments.

    The ARM Cortex A series

    Main features of the Cortex A core series and the application processors based on it.

    9. Method of instruction Lectures, laboratory exercises
    10. Assessment

    During the study period: 1 individually prepared homework.

    The examination period:examination.


    12. Consultations Instructors will offer consultation possibility, in case of demand.
    13. References, textbooks and resources

    Lecture slides, handouts


    Suggested readings:

    Joseph Yiu: The Definitive Guide to the ARM Cortex-M0, ISBN-13: 978-0123854773

    Joseph Yiu: The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, ISBN-13: 978-0124080829

    14. Required learning hours and assignment
    Contact lessons56
    Preparing for lectures6
    Preparing for exercises7
    Preparing for labs7
    Homework 12
    Preparing for exam32
    15. Syllabus prepared by

    Balázs SCHERER master lecturer, BME MIT

    Dr. Csaba TÓTH associate professor, BME MIT