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 www.mit.bme.hu/eng/
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
Kötelező:
NEM ( TárgyEredmény( "BMEVIMIM342" , "jegy" , _ ) >= 2
VAGY
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 rend az adott szak honlapján és képzési programjában található.

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

Introduction

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 mbed.org project

Introduction to the mbed.org 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

Internet

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
Total120
15. Syllabus prepared by

Balázs SCHERER master lecturer, BME MIT

Dr. Csaba TÓTH associate professor, BME MIT