Training » Embedded C: Programming Methods and Tools

 
 
 

Embedded C: Programming Methods and Tools

Training Objectives

This training focuses on the hardware-near C-programming of 8, 16 or 32 bit microcontroller architectures. You will learn how to program a hardware abstraction layer according to a specific architecture model. Operating system mechanisms and services are explained by programming a scheduler. The use of pointers and structures is trained in detail. You will get an overview of the whole lifecycle of a product - from the idea to project planning, software development process, test planning, quality planning, acceptance, commissioning, operation and decommissioning.

Required Knowledge

A good understanding of ANSI-C and basic microcontroller knowledge.

Contents

Essentials of hardware-near C-programming
   - Data types, memory classes
   - Union, Enum, bit field
   - Pointers, function pointers
   - Call by reference, call by value
   - Structures, linked lists
   - Circular buffer, queues
   - Programming rules

Software architecture
   - Selection of a layered model
   - Software design, subsystems, modules, functions
   - Interfaces, callback interfaces, queues
   - Synchronous and asynchronous interfaces

Driver programming
   - HW abstraction layer, driver programming
   - Interrupt handling, service routines, callback function

Scheduler programming
   - Philosophy and realization in C
   - Task management (linked list, task control block)

Finite State Machines, FSM
   - Philosophy and realization of an FSM in C

C++ and Efficiency (Resources, Performance)

Overview: Structured methods for project planning
   - Preliminary study, project start, project plan, project realization

Software development process models
   - V-model, spiral model, ROPES, RUP, COPES
   - Agile development process

Quality of embedded systems
   - Where does quality come from?
   - How to develop quality
   - Standards (IEEE, MISRA, IEC61508, ...)

Overview: Software test process for SW developers
   - Design for test
   - Test phases and test methods
   - Static test, dynamic test
   - Review, whitebox test, blackbox test

Library management
   - Library creation and management

Overview: Real-time operating systems (RTOS)
   - Types, services, selection criteria

Overview: OOP Techniques
   - Advantages and issues of object oriented programming in C++
   - Overview of UML2 diagrams

PPrograms are developed with with Keil µVision and ARM RealView tools
and tested on ARM-based HW

Dates

Price plus VAT

Short Code

Duration

ON REQUEST

1,750 €

E-EMB-C

4 days

 
To register for this training, please download our
Training Registration Form