Building a safe and secure embedded world

Cortex-M know-how in a compact online format

There's no stopping Trevor Martin!

After a webinar marathon of 5 weeks with 4 dates each, he continues with the "Expert guide to Cortex-M software development". Starting on May 20 and for 3 further dates on  each following  Wednesday, Trevor will show us how to get the best out of Keil® MDK.

Session 3: Software packs
Wednesday, June 3, 2:30 PM CEST

The CMSIS software pack system can be used to deliver and intergrate software components and middleware to your project. In this webinar we will examine how to create a software pack for in house code reuse.

The webinar series will continue with more sessions with the following topics

Session 4: Looking to the future
Wednesday, June 10, 2:30 PM CEST

In this last lecture we will cover the near future developments in the Cortex-M processor family, CMSIS specifications and Development tools.


You are more the reading type? This Guide is highly recommended for the webinar attendees. You can purchase it here. With the code ENGIN320 you will get a 30% discount on the list price.

The Designer’s Guide to the Cortex-M Microcontrollers gives you an easy-to-understand introduction to the concepts required to develop programs in C with a Cortex-M based microcontroller. The book begins with an overview of the Cortex-M family, giving architectural descriptions supported with practical examples, enabling you to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7.

Trevor Martin graduated from Brunel University in 1988 with an Honors degree in Electrical and Electronic Engineering. Since 2005 he has written a number of „Insiders Guide‟ Books which are introductory tutorials to Arm based microcontroller families such as LPC2000, STR9 and STM32. He also runs regular training courses, a general Cortex Microcontroller workshop and also device specific courses.

Past webinars

Week 1: The Cortex processor family

Monday, April 6
Cortex-M: Introduction & architecture
In this first webinar we will take a tour of the different processors available within the Cortex-M family and then introduce the Cortex-M programmers’ model.

Tuesday, April 7    
Cortex-M: Interrupts, exceptions and memory protection unit  
Today we will look at the Cortex-M processor peripherals including the Nested Vector Interrupt Unit and the Memory protection Unit

Wednesday, April 8
Cortex-M: Software interface standard (CMSIS)
Since the inception of the Cortex-M processor ARM and partners have defined a set of software specifications to standardise the use of ‘C’ with their processor. Today we will review the CMSIS standards and their important role for developers.

Thursday, April 9
Cortex-M: Debug support
The Cortex-M processor has a powerful real time debug architecture. We will review the debug features available on each processor and look at the tools and techniques.


Week 2: Using a real time operating system

This week we will look at designing Cortex-M applications using an RTOS.

Tuesday, April 14
First steps with an RTOS
We will start by adding an RTOS to a bare metal project. We will add some basic code and run our framework in a debugger.

Wednesday, April 15
RTOS threads are the building blocks of our firmware. Today we will look in detail at how to create and control them and how to integrate them with the microcontroller interrupts.

Thursday, April 16
Inter-thread communications
To build a functioning application we need to synchronise activity between our RTOS Threads. In this webinar we will look at the RTOS kernel objects, semaphores, mutexes and message queues, that are used to build a working application.

Friday, April 17
Design techniques
In the final webinar this week we will look at an RTOS project architecture and some design techniques including software testing, creating a real time system, power and watchdog management.


Week 3: Using the MDK-Arm middleware

This week we will build on our RTOS knowledge and look at how to rapidly create complex applications using the MDK-Arm middleware.

Monday, April 20
Middleware overview and file system
The MDK-Arm middleware is designed as a set of components that are easy to configure and integrate together to build a platform. We will start by examining this structure by setting up and using the file system component.

Tuesday, April 21
Networking component
Today we will introduce the networking component. This provides a TCP/IP network stack and application layer services such as webserver.

Wednesday, April 22
USB Component
The USB component provides Host and device support. We will see how to use the USB component along its support for different USB classes

Thursday, April 23
GUI component
The final component is perhaps the most complex. The GUI component is the most flexible and versatile of all the middleware components. Today we will provide an introduction to all of its major features.

Week 4: Designing secure IoT devices with Cortex-M33

This week we will look at one of Arm’s latest Cortex-M processors the Cortex-M33 and how to use it to create secure networked devices.

Monday, April 27
IoT Threats and mitigation
We will look at the security threats surrounding IoT systems. How to model these threats and best practices for code development.

Tuesday, April 28
The Cortex-M33 processor and TrustZone
Today we will look at the Cortex-M33 processor along with its TrustZone security peripheral and Memory protection unit.

Wednesday, April 29
Creating a TrustZone program
In the second part of our TrustZone webinar we will look at how to structure a real world Cortex-M33 application using the TrustZone security peripheral.

Thursday, April 30
Platform Security Architecture and Trusted Firmware
Finally we will look at the PSA security model developed by Arm and their Trusted Firmware for TrustZone security services.

Week 5: Secure communications for Arm microcontrollers

This week we will look at the cryptographic primitives required to build a secure IoT system and how to implement them on a small microcontroller

Day 1, May 4
Security services
Today will provide an introduction to the mbedTLS library and its basic security services designed to provide confidentiality, integrity and authentication

Day 2. May 5
Public key cryptography
This webinar will introduce the two main asymmetrical crypto systems RSA and Diffe Hellman key exchange. We will also introduce message signing algorithms

Day 3, May 6
Transport Layer Security
We can now create a secure communications system using the Transport Layer Security Protocol and the Public key infrastructure

Day 4, May 7
IoT protocols
We will round off this week by looking at connecting to cloud services with the new CMSIS-WiFi Driver and the MDK-ARM cloud connectors plus protocols and data formats that will reside within our TLS packet.

Week 6: Expert Guide

Session One: Software Architecture
May, 20, 2:30 PM (CEST)

This week we start defining a software architecture pattern to achieve software testing, code reuse and scalability across multiple microcontrollers. We will also introduce third-party tools that help to write high-quality code.

Session 2: Customising the debugger
Wednesday, May 27, 2:30 PM CEST

Today we will explain how the debugger can extended to provide a deep insights into your application code.

Search FormContactOnlineshop