C Programming for Embedded Systems, part II
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.
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.
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.
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.
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.