Keil Logo
Seminars

Hands-on Professional Middleware for Cortex-M

Karlsruhe, Germany — Oct 9, 2018–Oct 11, 2018

                                                    Hitex

 

Building Advanced Applications on Cortex-M with Keil MDK-Arm Professional

This three day course is an introduction to building advanced applications on Cortex M devices using the Keil MDK-Arm Professional Development Software. This is an instructor-led course with hands-on exercises at all key stages.

1. Day One: RTX RTOS

An introduction to using a small footprint Real Time Operating System on a Cortex-M based microcontroller. Throughout the course we use the CMSIS-RTOS API which is designed to be a standard software interface for operating systems running on Cortex-M microcontrollers. 

RTOS Concepts and the CMSIS-RTOS API
In this section we look at the basic RTOS concepts including Thread based design, prioritising Threads,   context switching and the RTOS Kernel . We also introduce the Cortex Microcontroller Software Interface Standard (CMSIS) and the CMSIS–RTOS API specification.

Using an RTOS on Cortex based microcontrollers 

Getting Started
Learn how to set up and configure a first RTOS project and download to a development board and debug.

Using the CMSIS-RTOS API
This section takes a detailed look at the RTOS features available with CMSIS RTOS: 
•    Thread and time management
•    Signals and interrupt handling
•    Semaphore and Mutex
•    Message and mail queues
•    Idle task and power management
•    RTOS errors and error handling
•    Configuring RTX

RTOS Techniques
This section introduces useful development techniques for Cortex-M devices.
•    Building systems with real time and event driven code
•    Software testing techniques
•    Advanced Power management and watchdog integration

Design Study
This section presents some guidelines for developing a successful RTOS based application 
Group Exercise : A ‘paper’ study of several design cases



2. Day Two:  File System and Networking Components

CMSIS Pack and CMSIS Driver
In this section we look at the CMSIS Pack and CMSIS driver specifications and how they enable the use of configurable software components. We will also see how software components are installed and managed within the Keil MDK-Arm toolchain

Keil File System Component  

In this section we look at how to configure and use the file system component

Getting Started
Learn how to set up and configure project containing a file system and download to a development board and debug.

Using the File system component
This section looks at how to use the features available in the file system component

  • Supported volumes
  • Configuring for SD card Fat32
  • Configuring  for NOR Flash EFS
  • Using the file system API
    - System routines
    - File IO
    - Utility and maintenance routines

Media Support and IO Control Routines    

Keil Networking Component 
The networking component includes a TCP\IP stack and a wide range of services. This section of the course details how the configure and use the key aspects of the networking component

Getting Started
Learn how to configure the networking component and deploy it to a development board so it can be ‘pinged’ from a PC
Using the Networking component
This section looks at how to use the features available in the Networking component

  • Supported network channels
    Ethernet, PPP and Slip
  • Custom communication with BSD sockets
  • Adding services
    - Webserver and compact Webserver
    - FTP server and client
    - Telnet
    - SMTP
    - DNS and SNTP
    - SNMP


3. Day Three : USB and Graphics Component

Keil USB Component

The USB component includes support for USB host and USB device with a range of device classes. This section introduces the USB protocol and details how to use the USB component to build a range of devices.

USB Protocol overview
This section provides an overview of the key aspects of the USB protocol and how they impact on developing USB based devices. 

Using the USB component
In this section we look at creating USB host and USB device applications with the USB component 

  • USB Device
    - USB Communications Device class 
    - USB Human Interface Device class
    - USB Mass Storage Class
    - Composite Devices
  • USB Host
    - USB Communications Device class 
    - USB Human Interface Device class
    - USB Mass Storage Class

Segger emWin Graphics Component

The Segger emWin component also enables you to develop sophisticated graphical interfaces for a wide range of LCD screens. The Segger graphical component provides a 2D graphics library and a PC based GUI designer which includes a wide range of windows objects (wigits).

Getting Started
Learn how to configure the GUI component for a supported LCD screen and deploy a simple ‘Hello World’ program to a development board.

Using the Graphics component
In this section we look at creating graphics based applications.

  • 2D Graphics library
    - Graphics primitives
    - Bitmap support
    - Installing fonts
  • GUI Design
    - GUI Builder
    - Windows manager
    - Joystick and touch screen support

Designing software components for code reuse
Finally we look at how to develop and deploy your own software components based on the CMSIS pack specification. This is a method of reusing code developed in house across multiple projects to increase development productivity and reliability.

Developing a CMSIS Pack Component
In this section we look at the technology underlying the CMSIS pack specification

  • CMSIS Pack Structure
  • Designing a software component
  • Deploying software components

 

Click Here for More Information...


Seminar:   Hands-on Professional Middleware for Cortex-M
Date:   Oct 9, 2018—Oct 11, 2018
Location:   Karlsruhe, Germany
Address:   Hitex GmbH
Greschbachstrasse 12
76229 Karlsruhe
Cost:   1,800.00 EUR

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.