C Programming for Embedded Systems, part 2
This C Programming training course is the second in our series of C-programming courses. You will learn more about the advanced possibilities and structures available in the language C. It is mainly a hands-on training course and the many exercises will take you a large step forward in your C-programming.
Goal
Our aim with this training course is to give you the necessary, deeper knowledge in C programming that you need.
You will learn valuable tricks and ways to make time saving constructions in you development process.
Participants
This C Programming training course is designed to suit developers and programmers of embedded systems with some experience in programming.
You probably wish to deepen your C programming knowledge.
Previous knowledge
You need to have basic knowledge in C programming, corresponding to our course C programming for embedded systems, part I .
Practical exercises / Tools
This course have many exercises following up the theory part of the training.
We use an integrated Windows environment. You will edit, compile and link you code via a compiler from Keil, and a Lauterbach-debug connected to an ARM Cortex-M3 board.
Content
Introduction
What C language has meant and future possibilities, i.e. C++
Short retrospect (part I)
Special C language-phrases / words
Portable code; What to keep in mind with writing code possible to reuse in other projects
Advanced structures; Compound data types and references with pointers and links. Dynamic memory management in combination with structures
Self defined data types; Definitions and differences versus the use of macros
Using pointers; Thorough review regarding the use of pointers, and their advantages.
Function pointers; Function calls via function pointers. Abstract data types. Examples of implementation of an abstract data type and its use
Assembler and C; How a call from C to Assembler is done
Hardware; How to write C towards a special HW
Library; We create libraries with functions and use them in practice.
Optimising; How does optimising affect the program?
Error handling; How to avoid errors and program crashes.
Martin Andersson
Martin Andersson, FAE på Nohau Solutions, har avslutat sin M.Sc. i elektroteknik från Lunds universitet. Martin har flera års erfarenhet av elektroniktillverkning och systemutveckling i realtid, med fokus på styrteknik för hydrauliska system.
