Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us

 


 MISRA-C Training Courses
MC-101
Guidelines for Writing High Integrity Software in C
(The MISRA-C Guidelines)

Length
: 1 day
Cost: £495
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
Using C for embedded development requires a good understanding of the programming language being used. This is a one day intensive course that introduces coding guidelines developed specifically for use on embedded projects using the C language. The course covers a set of rules in detail, set in the context of C. The latter part of the course looks at the commercial support for the guidelines.

The guidelines used are the MISRA-C guidelines, developed by the Motor Industry Software Reliability Association (MISRA) for the use of the C language in vehicle based software (www.misra.org.uk). However, these guidelines are applicable to any project using C that has safety requirements or the need to develop high quality code. The MISRA-C guidelines are suitable for projects up to Safety Integrity Level (SIL) 3.

Overview:
A 1-day course covering the MISRA-C guidelines in detail and their applicability as a coding standard for embedded development using C.

Course Objectives:
• To provide an understanding of the essentials of the MISRA-C programming guidelines
• To assess the usefulness of the guidelines as a company standard
• To give you the confidence to apply these guidelines to your next project

Delegates will learn:

• The rational behind each of the MISRA-C guidelines
• The usefulness of each rule in the guidelines
• Examples of code that fails the rules

Pre-requisites:
• Attended Course C-501: C for Real-Time Developers, or
• A competent C language programmer

Who Should Attend:
The course is designed for real-time engineers currently, or about to be, programming in C. It is also applicable for project managers and QA personnel (assuming the appropriate background).

Duration:
One day.

Course Materials:
• MISRA-C Guidelines
• Delegate Handbook

Related Courses:
• C-501: C for Real-Time Developers
• AC-401 : Advanced C Programming

Course Workshop:
The course will demonstrate commercial tools currently supporting the checking of MISRA-C guidelines.

Course Outline

Introduction to the MISRA-C
guidelines

- Background
- Scope
- The rules

The C Programming Language
- The new C standard
- Key characteristics of C

How the Guidelines apply to:

Types and Operators
- C base types
- Variables
- Basic Operators

Control Flow
- If, if/else, if/else if
- Switch
- While, do/while
- Break, continue, goto

Functions
- Subprograms
- Parameters
- Different types of variable storage

Pointers and Arrays
- Pointers
- Arrays
- The relationship between pointers
and arrays

Structures and Dynamic Memory
Management

- Structures
- Unions
- Dynamic memory management

Program Structure
- Structuring software into logical
compilation units

The C Pre-Processor
- Macros
- Conditional Compilation

The Standard C Library

Target Specific Types
- Signed, unsigned, short and long
- Promotion and conversion

Real-Time Specifics
- Accessing hardware: I/O mapped;
memory mapped addressing
polling; interrupts and vectored
interrupts; interrupt expansion
controllers;

Target specific considerations.

- Portability

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Design Patterns Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-401
AWDM-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-401
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-301
TCP-401
WDF-501
WDM-501